Java эквивалентен # region в c#

Я хочу использовать регионы для сворачивания кода в затмение; как это можно сделать на Java?

пример использования C#:

#region name
//code
#endregion

20 ответов


нет такого стандартный эквивалентны. Некоторые IDEs-Intellij, например, или Eclipse - могут сворачиваться в зависимости от типов кода (конструкторы, импорт и т. д.), но нет ничего похожего на #region.


идея Jet Brains имеет эту функцию. Для этого вы можете использовать горячую клавишу surround with (ctrl + alt + T). Это просто идея.

регионы там выглядят так:

//region Description

Some code

//endregion

С Android Studio, попробуйте это:

//region VARIABLES
private String _sMyVar1;
private String _sMyVar2;
//endregion

осторожно : нет пустой строки после //регион ...

вы получаете:


нет эквивалента в языке... На основе IDEs...

например, в netbeans:

NetBeans / Creator поддерживает этот синтаксис:

// <editor-fold defaultstate="collapsed" desc="Your Fold Comment">
...
// </editor-fold>

http://forums.java.net/jive/thread.jspa?threadID=1311



функция сворачивания пользовательского кода может быть добавлена в eclipse с помощью плагина сворачивания кода CoffeeScript.

это тестируется для работы с eclipse Luna и Juno. Вот шаги

  1. загрузите плагин из здесь

  2. извлечь содержимое архива

  3. копировать вставьте содержимое папки плагина и функций в ту же папку с именем внутри установки eclipse каталог
  4. перезапустить eclipse
  5. перейти Window >Preferences >Java >Editor >Folding >Select folding to use: Coffee Bytes Java >General tab >Tick checkboxes in front of User Defined Fold

    enter image description here

  6. создать новые области, как показано ниже:

    enter image description here

  7. попробуйте, если складывание работает с комментариями с префиксом с указанными начальными и конечными идентификаторами

    enter image description here

    enter image description here

вы можете скачать архив и найти шаги на этом блог также.


Это больше функция IDE, чем функция языка. Netbeans позволяет определите свои собственные складные определения используя следующее определение:

// <editor-fold defaultstate="collapsed" desc="user-description">
  ...any code...
// </editor-fold>

Как отмечено в статье, это может поддерживаться и другими редакторами, но нет никаких гарантий.


самый быстрый способ в Android Studio (или IntelliJ IDEA)

  1. highlight the code вы хотите окружить его
  2. пресс ctrl + alt + t
  3. пресс c ==> Введите описание
  4. наслаждайтесь

AndroidStudio края
создать регион

первый, найти (и определить короткий путь, если нужно) для enter image description here

затем выделите код, нажмите клавишу Ctrl+Alt+Semicolon -> выбрать region..endregion...
enter image description here

перейти в регион

во-первых, найти Custom Folding короткую стрижку
enter image description here Во-вторых, в любом месте кода нажмите Ctrl+Alt+Period('>' on keyboard) enter image description here


вопреки тому, что большинство публикует, это не вещь IDE. Это языковая вещь. # Region-это оператор C#.


лучший способ

//region DESCRIPTION_REGION
int x = 22;
// Comments
String s = "SomeString";
//endregion;

совет: положите"; " в конце "endregion"


Если кто-то заинтересован, в Eclipse вы можете свернуть все свои методы и т. д. За один раз, просто щелкните правой кнопкой мыши, когда вы обычно вставляете точку останова, нажмите "складывание" > "свернуть все". Он знает, что это не ответ на вопрос, а просто альтернатива быстрому сворачиванию кода.


Я шел с C# на java и имел ту же проблему, и лучшая и точная Альтернатива для региона-это что-то вроде ниже (работая в Android Studio, не знаю об intelliJ):

 //region [Description]
 int a;
 int b;
 int c;
//endregion

ярлык, как показано ниже:

1 - Выберите код

2 - пресс ctrl + alt + t

3 - Пресс c и напишите свое описание


#region

// code

#endregion

На самом деле только дает вам какую-либо выгоду в IDE. С Java в IDE нет установленного стандарта, поэтому на самом деле нет стандартный параллельно #region.


Мне обычно нужно это для прокомментированного кода, поэтому я использую фигурные скобки в начале и конце этого.

{
// Code
// Code
// Code
// Code
}

Он может использоваться для фрагментов кода, но может создавать проблемы в некотором коде, потому что он изменяет область переменной.


на самом деле, Йохан,# указывает, что это директива препроцессора, что в основном означает, что она сообщает IDE, что делать.

при использовании #region и #endregion в вашем коде не имеет значения, есть ли он в конечном коде или нет. Вы действительно можете назвать это элементом языка, если его использование ничего не меняет?

кроме того, java не имеет директив препроцессора, что означает, что опция сворачивания кода определяется на основе каждой ide, в netbeans, например, с оператором / /


на Mac и Android Studio выполните следующую последовательность:

  1. выделите исходный код, чтобы сложить
  2. пресс Alt+команда+t
  3. выберите <editor-fold>

также вы можете выбрать другие варианты:

enter image description here


в Eclipse вы можете свернуть скобки, обертывающие блок переменной области. Ближе всего сделать что-то вроде этого:

public class counter_class 
{ 

    { // Region

        int variable = 0;

    }
}

просто intall и включить плагин Coffee-Bytes (Eclipse)


существует некоторая опция для достижения того же, следуйте приведенным ниже пунктам.

1) Откройте проводник макросов:

2) создать новый макрос:

3) назовите его "OutlineRegions" (или что угодно)

4) щелкните правой кнопкой мыши на " OutlineRegions "(отображается в Проводнике макросов) выберите опцию" редактировать " и вставьте в нее следующий код VB:

    Imports System
Imports EnvDTE
Imports EnvDTE80
Imports EnvDTE90
Imports EnvDTE90a
Imports EnvDTE100
Imports System.Diagnostics
Imports System.Collections

Public Module OutlineRegions

    Sub OutlineRegions()
        Dim selection As EnvDTE.TextSelection = DTE.ActiveDocument.Selection

        Const REGION_START As String = "//#region"
        Const REGION_END As String = "//#endregion"

        selection.SelectAll()
        Dim text As String = selection.Text
        selection.StartOfDocument(True)

        Dim startIndex As Integer
        Dim endIndex As Integer
        Dim lastIndex As Integer = 0
        Dim startRegions As Stack = New Stack()

        Do
            startIndex = text.IndexOf(REGION_START, lastIndex)
            endIndex = text.IndexOf(REGION_END, lastIndex)

            If startIndex = -1 AndAlso endIndex = -1 Then
                Exit Do
            End If

            If startIndex <> -1 AndAlso startIndex < endIndex Then
                startRegions.Push(startIndex)
                lastIndex = startIndex + 1
            Else
                ' Outline region ...
                selection.MoveToLineAndOffset(CalcLineNumber(text, CInt(startRegions.Pop())), 1)
                selection.MoveToLineAndOffset(CalcLineNumber(text, endIndex) + 1, 1, True)
                selection.OutlineSection()

                lastIndex = endIndex + 1
            End If
        Loop

        selection.StartOfDocument()
    End Sub

    Private Function CalcLineNumber(ByVal text As String, ByVal index As Integer)
        Dim lineNumber As Integer = 1
        Dim i As Integer = 0

        While i < index
            If text.Chars(i) = vbCr Then
                lineNumber += 1
                i += 1
            End If

            i += 1
        End While

        Return lineNumber
    End Function
End Module

5) сохраните макрос и закройте редактор.

6) Теперь давайте назначим ярлык макрос. Перейдите в меню Сервис - >Параметры - >среда - > клавиатура и найдите свой макрос в текстовом поле" показать команды, содержащие " (введите: макрос в текстовое поле, он предложит имя макросов, выберите свой.)

7) теперь в текстовом поле под "нажмите клавиши быстрого доступа" вы можете ввести нужный ярлык. Я использую Ctrl+M+N.

использование:

return
{
//Properties
//#region
Name:null,
Address:null
//#endregion
}

8) нажмите сохраненную клавишу быстрого доступа

посмотреть ниже результат:

enter image description here