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>
для Eclipse IDE кофе-байт плагин можете сделать это, ссылка для скачивания здесь.
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. Это языковая вещь. # 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 выполните следующую последовательность:
- выделите исходный код, чтобы сложить
- пресс Alt+команда+t
- выберите
<editor-fold>
также вы можете выбрать другие варианты:
в 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 Module
5) сохраните макрос и закройте редактор.
6) Теперь давайте назначим ярлык макрос. Перейдите в меню Сервис - >Параметры - >среда - > клавиатура и найдите свой макрос в текстовом поле" показать команды, содержащие " (введите: макрос в текстовое поле, он предложит имя макросов, выберите свой.)
7) теперь в текстовом поле под "нажмите клавиши быстрого доступа" вы можете ввести нужный ярлык. Я использую Ctrl+M+N.
использование:
return
{
//Properties
//#region
Name:null,
Address:null
//#endregion
}
8) нажмите сохраненную клавишу быстрого доступа
посмотреть ниже результат: