Я хочу использовать регионы для сворачивания кода в Eclipse; как это можно сделать на Java?
Пример использования в С#:
#region name
//code
#endregion
Я хочу использовать регионы для сворачивания кода в Eclipse; как это можно сделать на Java?
Пример использования в С#:
#region name
//code
#endregion
Нет такого стандартного эквивалента. Некоторые IDE - Intellij, например, или Eclipse - могут складываться в зависимости от используемых типов кода (конструкторы, импорт и т.д.), Но нет ничего подобного #region
.
У Jet Brains IDEA есть эта функция. Вы можете использовать горячие клавиши для этого (ctrl + alt + T). Это просто функция IDEA.
Регионы выглядят так:
//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 может сделать это, ссылка для скачивания здесь.
EDIT:
Пользовательская функция свертывания кода может быть добавлена к затмению с помощью плагина сворачивания кода CoffeeScript.
Это проверено для работы с затмением Луны и Юноны. Вот шаги
Загрузите плагин отсюда
Извлечь содержимое архива
Перейдите в " 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 - это оператор С#.
Лучший способ
//region DESCRIPTION_REGION
int x = 22;
// Comments
String s = "SomeString";
//endregion;
Совет: Положите ";" в конце "endregion"
Я перешел из С# в Java, и у меня была та же проблема, и лучшая и точная альтернатива для региона - что-то вроде ниже (работая в Android Studio, не знаю насчет intelliJ):
//region [Description]
int a;
int b;
int c;
//endregion
ярлык, как показано ниже:
1- выберите код
2- нажмите ctrl
+ alt
+ t
3- нажмите c
и напишите свое описание
Если кому-то интересно, в Eclipse вы можете свернуть все свои методы и т.д. за один раз, просто щелкнув правой кнопкой мыши, когда вы обычно вставляете точку останова, нажмите "Складывание" > "Свернуть все". Он знает, что это не ответ на вопрос, а просто альтернатива быстрому сворачиванию кода.
#region
// code
#endregion
Действительно, вы получаете какую-либо пользу в среде IDE. В Java нет стандартного стандарта в среде IDE, поэтому на самом деле нет стандартной, параллельной #region
.
Мне обычно нужно это для прокомментированного кода, поэтому я использую фигурные скобки в начале и в конце этого.
{
// Code
// Code
// Code
// Code
}
Он может использоваться для фрагментов кода, но может создавать проблемы в некотором коде, поскольку он изменяет область действия переменной.
На самом деле johann, #
указывает, что это директива препроцессора, которая в основном означает, что она сообщает IDE, что делать.
В случае использования #region
и #endregion
в вашем коде это не имеет никакого значения в конечном коде, будь то там или нет. Вы действительно можете назвать его элементом языка, если его использование ничего не меняет?
Кроме того, java не имеет директив препроцессора, что означает, что опция сгибания кода определяется на основе per-ide, в 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" ( "Показать в проводнике макросов" ) выберите "Изменить" и вставьте в него следующий код 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) Теперь давайте присвойте ярлык макросу. Перейдите в Инструменты- > Параметры- > Среда- > Клавиатура и найдите свой макрос в командах show show, содержащих текстовое поле (Тип: Макро в текстовое поле, оно предложит имя макроса, выберите ваш.)
7) теперь в текстовом поле в разделе "Нажмите клавиши быстрого доступа" вы можете ввести желаемый ярлык. Я использую Ctrl + M + N.
Использование:
return
{
//Properties
//#region
Name:null,
Address:null
//#endregion
}
8) Нажмите сохраненную комбинацию клавиш
См. ниже результат: