Я хочу использовать регионы для свертывания кода в Eclipse ; как это можно сделать в Java?
Пример использования в C # :
#region name
//code
#endregion
//region [Description]
и закончить//endregion
Я хочу использовать регионы для свертывания кода в Eclipse ; как это можно сделать в Java?
Пример использования в C # :
#region name
//code
#endregion
//region [Description]
и закончить//endregion
Ответы:
Там нет такого стандартного эквивалента. Некоторые IDE, например Intellij или Eclipse, могут сворачиваться в зависимости от используемых типов кода (конструкторы, импорт и т. Д.), Но ничего подобного нет #region
.
Jet Brains IDEA имеет эту функцию. Вы можете использовать горячие клавиши для этого (Ctrl + Alt + T). Это просто особенность ИДЕИ.
Регионы там выглядят так:
//region Description
Some code
//endregion
С Android Studio попробуйте это:
//region VARIABLES
private String _sMyVar1;
private String _sMyVar2;
//endregion
Осторожно: без пробела после // региона ...
И вы получите:
Нет эквивалента в языке ... На основе IDE ...
Например, в NetBeans:
NetBeans / Creator поддерживает этот синтаксис:
// <editor-fold defaultstate="collapsed" desc="Your Fold Comment">
...
// </editor-fold>
Для Eclipse IDE это может сделать плагин Coffee-Bytes , ссылка для скачивания здесь .
РЕДАКТИРОВАТЬ:
Пользовательская функция свертывания кода может быть добавлена к затмению с помощью плагина сворачивания кода CoffeeScript.
Это проверено на работу с затмением Луны и Юноны. Вот шаги
Загрузите плагин отсюда
Извлечь содержимое архива
Navigate Window >Preferences >Java >Editor >Folding >Select folding to use: Coffee Bytes Java >General tab >Tick checkboxes in front of User Defined Fold
Создайте новый регион, как показано:
Перезапустите Затмение.
Попробуйте, если сворачивание работает с комментариями с указанием начального и конечного идентификаторов
Вы можете скачать архив и найти шаги в этом блоге .
Это скорее функция IDE, чем функция языка. Netbeans позволяет вам определять свои собственные определения свертывания, используя следующее определение:
// <editor-fold defaultstate="collapsed" desc="user-description">
...any code...
// </editor-fold>
Как отмечается в статье, это может поддерживаться и другими редакторами, но нет никаких гарантий.
самый быстрый способ
Android Studio
(илиIntelliJ IDEA
)
highlight the code
ты хочешь окружить этоctrl
+ alt
+t
c
==> затем введите описаниеAndroidStudio
регион
Создать регион
Сначала найдите (и определите короткий путь, если необходимо) для Surround With
меню
Затем выберите код, нажмите Ctrl+Alt+Semicolon
-> выберитеregion..endregion...
Перейти в регион
Во-первых, найдите Custom Folding
короткий путь.
Во-вторых, в любом месте вашего кода нажмитеCtrl+Alt+Period('>' on keyboard)
Вопреки тому, что большинство публикует, это НЕ вещь IDE. Это языковая вещь. #Region - это оператор C #.
Я приходил из C # в java и имел ту же проблему, и лучшая и точная альтернатива для региона - что-то вроде ниже (работая в Android Studio, не знаю насчет intelliJ):
//region [Description]
int a;
int b;
int c;
//endregion
ярлык, как показано ниже:
1- выберите код
2- нажмите ctrl
+ alt
+t
3- нажмите c
и напишите ваше описание
Лучший путь
//region DESCRIPTION_REGION
int x = 22;
// Comments
String s = "SomeString";
//endregion;
Совет: поставьте ";" в конце "эндрегиона"
Если кому-то интересно, в Eclipse вы можете свернуть все свои методы и т. Д. За один раз, просто щелкните правой кнопкой мыши, когда вы обычно вставляете точку останова, нажмите «Свернуть»> «Свернуть все». Он знает, что это не ответ на вопрос, а просто альтернатива быстрому свертыванию кода.
#region
// code
#endregion
На самом деле только получает какую-либо выгоду в IDE. В Java нет установленного стандарта в IDE, поэтому на самом деле нет стандарта для параллели #region
.
region
, то мы можем быть уверены , что Java IDE, будет поддерживать его, не так ли?
Я обычно нуждаюсь в этом для прокомментированного кода, поэтому я использую фигурные скобки в начале и в конце этого.
{
// Code
// Code
// Code
// Code
}
Он может использоваться для фрагментов кода, но может создавать проблемы в некотором коде, потому что это изменяет область видимости переменной.
На самом деле Иоганн, #
указывает, что это директива препроцессора, что в основном означает, что она сообщает IDE, что делать.
В случае использования #region
и#endregion
в вашем коде, это не имеет значения в конечном коде, есть ли он или нет. Вы действительно можете назвать это языковым элементом, если его использование ничего не меняет?
Кроме того, java не имеет директив препроцессора, что означает, что опция свертывания кода определяется отдельно для каждой идеи, например, в NetBeans с помощью оператора // <code-fold>
На Mac и Android Studio выполните следующую последовательность действий:
<editor-fold>
Также вы можете выбрать другие варианты:
В Eclipse вы можете свернуть в скобки переменную область блока. Наиболее близким является сделать что-то вроде этого:
public class counter_class
{
{ // Region
int variable = 0;
}
}
Просто включите и включите плагин Coffee-Bytes (Eclipse)
Есть какой-то вариант добиться того же, следуйте приведенным ниже пунктам.
1) Открыть Macro Explorer:
2) Создать новый макрос:
3) Назовите его «OutlineRegions» (или как хотите)
4) Щелкните правой кнопкой мыши «OutlineRegions» (отображается в Macro Explorer), выберите параметр «Редактировать» и вставьте в него следующий код 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) Нажмите сохраненную горячую клавишу
Смотрите ниже результат:
This code seems to be for Visual Basic.NET
что говорит о том, что IDE есть Visual Studio
.
#region
и#endregion