Java эквивалент #region в c#
Я хочу использовать регионы для сворачивания кода в затмение; как это можно сделать на Java?
пример использования C#:
#region name
//code
#endregion
20 ответов:
нет такого стандартный эквивалентны. Некоторые IDE-Intellij, например, или Eclipse - могут сворачиваться в зависимости от используемых типов кода (конструкторы, импорт и т. д.), но нет ничего похожего
#region.
Jet Brains идея имеет эту функцию. Для этого вы можете использовать горячую клавишу surround (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>
для Eclipse IDE the кофе-байт плагин можете сделать это, ссылка для скачивания здесь.
EDIT:
функция сворачивания пользовательского кода может быть добавлена в eclipse с помощью плагина сворачивания кода CoffeeScript.
это тестируется для работы с eclipse Luna и Juno. Вот эти шаги
загрузите плагин из здесь
извлечь содержимое архива
- копировать вставить содержимое папки плагинов и функций в ту же именованную папку внутри установки eclipse каталог
- перезапустить eclipse
перейти
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края
создать регионпервый, найти (и определить короткий путь, если это необходимо) для
затем выделите код, нажмите клавишу
Ctrl+Alt+Semicolon-> выбратьregion..endregion...перейти в регион
во-первых, найти
Custom Foldingкороткую стрижкуВо-вторых, из любой точки кода нажмите кнопку
Ctrl+Alt+Period('>' on keyboard)
вопреки тому, что большинство публикует, это не IDE вещь. Это языковая вещь. Область # - это оператор 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+t3 - Пресс
cи напишите свое описание
#region // code #endregionдействительно только получает какую-либо выгоду в IDE. С Java в IDE нет установленного стандарта, поэтому на самом деле нет стандартный параллельно
#region.
обычно мне это нужно для комментируемого кода, поэтому я использую фигурные скобки в начале и конце этого.
{ // Code // Code // Code // Code }Он может использоваться для фрагментов кода, но может создавать проблемы в некотором коде, потому что он изменяет область переменной.
на самом деле, Йохан,
#указывает, что это директива препроцессора, которая в основном означает, что она сообщает IDE, что делать.при использовании
#regionи#endregionв вашем коде нет никакой разницы в окончательном коде, есть ли он или нет. Можете ли вы действительно назвать его элементом языка, если его использование ничего не меняет?кроме того, java не имеет директив препроцессора, что означает, что опция сворачивания кода определяется на основе каждой ide, в netbeans, например, с помощью оператора / /
в Eclipse вы можете свернуть скобки, обертывающие блок переменной области. Ближе всего сделать что-то вроде этого:
public class counter_class { { // Region int variable = 0; } }
существует некоторый вариант для достижения того же, следуйте приведенным ниже пунктам.
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 Module5) сохраните макрос и закройте редактор.
6) Теперь давайте назначим ярлык макрос. Перейдите в меню Сервис- > Параметры - > среда - > клавиатура и найдите свой макрос в текстовом поле "показать команды, содержащие" (тип: макрос в текстовое поле, он предложит имя макросов, выберите свой.)
7) теперь в текстовом поле под "нажмите клавиши быстрого доступа" вы можете ввести нужный ярлык. Я использую Ctrl+M + N.
использование:
return { //Properties //#region Name:null, Address:null //#endregion }8) нажмите сохраненную комбинацию клавиш
посмотреть ниже результат:











Comments