Я присоединился к вечеринке поздно. Я согласен с И.Кашефом, что есть и другие варианты, на которые текущий избранный ответит. Ответ Якуба Ахмада спас мне жизнь. Мне не нужно было загружать Intelligent IDE. Я скачал упомянутый плагин CoffeeBytes из комментария cking24343, применил конфигурацию 'null n void' и хорошо работал в Luna. Вам нужно перезапустить после применения конфигурации
Maximus Decimus
3
начать //region [Description] и закончить//endregion
Амир Зиарати
Ответы:
216
Там нет такого стандартного эквивалента. Некоторые IDE, например Intellij или Eclipse, могут сворачиваться в зависимости от используемых типов кода (конструкторы, импорт и т. Д.), Но ничего подобного нет #region.
На самом деле это может быть достигнуто. Если вы прокрутите вниз по этому сообщению, «Якуб Ахмад» объяснит, как получить эту функциональность. Также здесь есть ссылка ( kosiara87.blogspot.com/2011/12/… ), которая показывает, как добавить ее в существующую среду затмения ... чрезвычайно полезно!
cking24343
14
Конечно. Но нет ничего стандартного . Он выполняется в среде IDE, а не с языковой (или текстовой) конструкцией
Брайан Агнью,
2
@ lKashef - так что же тогда является стандартным эквивалентом? Все, что указано ниже, относится к конкретной IDE, не так ли?
Брайан Агнью
4
@BrianAgnew, ОП не упомянул ничего о стандартах, вместо этого он просто хочет иметь возможность иметь блоки, подобные регионам, в своем коде. Например, вы сказали «но нет ничего лучше #region». в IDEA, например, // region .. // endregion работает точно так же, как #region. Во-первых, стандартного способа сделать это вообще не существует, поскольку это зависит от самой IDE или плагина. Разработчики с опытом работы в Microsoft всегда будут видеть MS Visual Studio как «IDE», но на самом деле это всего лишь один из вариантов, а другая IDE может реализовывать или не реализовывать такую функциональность.
Мазен Элькашеф
4
@BrianAgnew, я почти сдался, пока не увидел ответы других людей, которые помогли больше, чем ваши. Серьезно, никаких неприятных ощущений здесь нет. Мы все здесь, чтобы учиться и делиться своими знаниями, и я констатирую тот факт, что я был введен в заблуждение вашим ответом, возможно, он был удачным еще в 2010 году, но не сегодня. Я надеюсь, вы поняли мою точку зрения.
Мазен Элькашеф
476
Jet Brains IDEA имеет эту функцию. Вы можете использовать горячие клавиши для этого (Ctrl + Alt + T). Это просто особенность ИДЕИ.
Прошел все ответы и понял, так как Android Studio основана на IntelliJ, то это должно быть поддержано. хорошая вещь, чтобы указать на это, хотя!
серин
5
Бумми, я пробовал это в 0.4.2 с пустой строкой и до сих пор работает
серин
2
Просто комментарий / совет (и ни в коем случае не ответ на ваш вопрос). Широко распространено мнение, что регионов следует избегать, поскольку они позволяют скрывать сложность классов, а не работать над вашим стилем кодирования. Вместо огромных классов, где каждый класс отвечает за большую функциональность, вместо этого работайте над разбиением вашего кода на более мелкие классы. Это облегчит управление вашим кодом с течением времени. Подробнее читайте здесь: blog.codinghorror.com/the-problem-with-code-folding
Даниэль Саиди,
5
@DanielSaidi О, ужас! :) Парень в статье « Я ничего не вижу! Я должен вручную развернуть эти разделы, чтобы просмотреть любой код в этом классе». ... потому что он слишком ленив, чтобы нажать клавишу (это разворачивает все разделы в файле), эта функция не должна использоваться - это супер замечательная функция. Прямо сейчас я использую его, чтобы один за другим скрыть методы, которые я проверял, потокобезопасны в классе, в котором я работаю, это действительно помогает сохранять организованность. Конечно, время от времени я задавался вопросом, где что-то такое Я думал, что был там, но это небольшая цена, чтобы заплатить ...
Ycomp
4
@DanielSaidi Речь идет не о сокрытии сложности, а о сокрытии обыденного кода, такого как объявления переменных, геттеры, код инициализации и так далее. Также обратите внимание, что вам НЕ требуется #regions, чтобы свернуть «сложный код», обнаруженный в функциях и классах. То, что программисты неправильно используют инструмент, не означает «инструмент плох».
Несмотря на то, что это не зависит от языка, но все же помогло мне в NetBeans. Именно то, чего я хотел достичь. Просто хочу, чтобы мой код был более удобным и организованным для меня.
Индиго
Есть ли ярлык, который может автоматически заполнить эту строку?
@JadChahine: ОП спрашивал об Eclipse, но согласен, что это хорошо работает для NetBeans. Синтаксис немного неуклюж, но копирование-вставка делает его достаточно простым.
Скопируйте и вставьте содержимое папки с плагинами и функциями в одноименную папку в каталоге установки eclipse
Перезапустите затмение
Navigate Window >Preferences >Java >Editor >Folding >Select folding to use: Coffee Bytes Java >General tab >Tick checkboxes in front of User Defined Fold
Создайте новый регион, как показано:
Перезапустите Затмение.
Попробуйте, если сворачивание работает с комментариями с указанием начального и конечного идентификаторов
Вы можете скачать архив и найти шаги в этом блоге .
не работает для меня на Eclipse Neon: копирование и вставка ничего не сделал: единственное, что изменилось было в Marketplace >> Установленные плагины >> Обновление. Я обновил плагин coffeeScript, но у меня не было опции «Выбрать фальцовку для использования» под java >> редактор >> сворачивание
Angelo Oparah
Он работал в Eclipse Oxygen, однако вам нужно снова запустить Eclipse. Значок, отображаемый для меня, был красным значком, поэтому я изменил конфигурацию: « Окно» → «Настройки» → «Java» → «Редактор» → « Свернуть », щелкните вкладку « Дополнительно » и измените тему значка на « Современный»
В Android-студии, по крайней мере, вы не можете сложить часть блока. Если спецификация сгиба начинается вне блока и заканчивается внутри блока, она не активируется.
Профессор фон Лемонгаргл
30
самый быстрый способ Android Studio(или IntelliJ IDEA)
Больше всего публикуется то, что в JAVA это особенность IDE.
WhyNotHugo
1
Я вижу 2 самых популярных ответа о том, что такой языковой функции нет. -1.
Мохаймин
23
В C # это частично IDE, частично язык. Язык поддерживает директивы препроцессора, но препроцессор просто игнорирует их (так же, как процессор игнорирует комментарии). IDE (Visual Studio) использует их для свертывания кода.
ADTC
В Java не указано свертывание кода, которое есть только в IDE (Netbeans), в Netbeans есть более специальные комментарии, такие как «TODO» и другие. Они очень полезны для отслеживания вашего прогресса в процессе разработки проекта ПО
Pini Cheyni
17
Я приходил из C # в java и имел ту же проблему, и лучшая и точная альтернатива для региона - что-то вроде ниже (работая в Android Studio, не знаю насчет intelliJ):
eclipse не сворачивайте код, какую IDE вы используете?
Охад Коэн
Он работает с Android Studio и IntelliJ IDEA (оба сделаны из одной и той же кодовой базы JetBrains)
prashu132
IDE
расшифровывается как
12
Если кому-то интересно, в Eclipse вы можете свернуть все свои методы и т. Д. За один раз, просто щелкните правой кнопкой мыши, когда вы обычно вставляете точку останова, нажмите «Свернуть»> «Свернуть все». Он знает, что это не ответ на вопрос, а просто альтернатива быстрому свертыванию кода.
Eclipse также может автоматически все свернуть при открытии файла исходного кода. Preferences> Java> Editor> Folding> «Изначально сложить эти элементы» (отметьте все в списке). Я считаю удобным сосредоточиться только на том, что мне нужно, особенно в длинных файлах исходного кода.
ADTC
@ADTC - Спасибо - так много сотен раз я делал это вручную каждый раз, когда открываю файл - никогда больше !!
ToolmakerSteve
@ToolmakerSteve Если вы можете сделать что-нибудь повторяющееся вручную на компьютере, просто должен быть способ автоматизировать это. = D
ADTC
8
#region// code#endregion
На самом деле только получает какую-либо выгоду в IDE. В Java нет установленного стандарта в IDE, поэтому на самом деле нет стандарта для параллели #region.
Хорошо , если есть стандарт region, то мы можем быть уверены , что Java IDE, будет поддерживать его, не так ли?
Pacerier
@Pacerier, если они поддерживают этот стандарт, да. Я думаю, что #region - это скорее функция IDE, чем стандарт. Теоретически, Java IDE могли бы реализовать это поведение и сделать его стандартом де-факто
На самом деле Иоганн, # указывает, что это директива препроцессора, что в основном означает, что она сообщает IDE, что делать.
В случае использования #regionи#endregion в вашем коде, это не имеет значения в конечном коде, есть ли он или нет. Вы действительно можете назвать это языковым элементом, если его использование ничего не меняет?
Кроме того, java не имеет директив препроцессора, что означает, что опция свертывания кода определяется отдельно для каждой идеи, например, в NetBeans с помощью оператора // <code-fold>
Вы действительно можете назвать это языковым элементом, если его использование ничего не меняет? - как насчет комментариев ?!
epeleg
2
До этого я слышал аргумент, что это не функция языка. И этот вопрос "Можете ли вы назвать это языковым элементом, если его использование ничего не меняет?" смешно Много времени рефакторинг делает код более простым для чтения для людей и ничего не делает (надеюсь), чтобы повлиять на функцию кода.
Menefee
1
На Mac и Android Studio выполните следующую последовательность действий:
Это бесполезно. Он не работает внутри метода, плюс он ломает код! (Закрытые переменные будут жаловаться, что хотят быть окончательными. Переменная без определения области действия не будет доступна вне внутренних скобок!)
ADTC
1
Мне не нравится этот метод, добавляет слишком много фигурных скобок. Это может привести к путанице в коде :(
Broken_Window
-3
Просто включите и включите плагин Coffee-Bytes (Eclipse)
Это не только упомянуто в предыдущем ответе , но вы даже не предоставили никакой полезной информации об этом.
Xynariz
-12
Есть какой-то вариант добиться того же, следуйте приведенным ниже пунктам.
1) Открыть Macro Explorer:
2) Создать новый макрос:
3) Назовите его «OutlineRegions» (или как хотите)
4) Щелкните правой кнопкой мыши «OutlineRegions» (отображается в Macro Explorer), выберите параметр «Редактировать» и вставьте в него следующий код VB:
ImportsSystemImportsEnvDTEImportsEnvDTE80ImportsEnvDTE90ImportsEnvDTE90aImportsEnvDTE100ImportsSystem.DiagnosticsImportsSystem.CollectionsPublicModuleOutlineRegionsSubOutlineRegions()Dim selection AsEnvDTE.TextSelection= DTE.ActiveDocument.SelectionConst REGION_START AsString="//#region"Const REGION_END AsString="//#endregion"
selection.SelectAll()Dim text AsString= selection.Text
selection.StartOfDocument(True)Dim startIndex AsIntegerDim endIndex AsIntegerDim lastIndex AsInteger=0Dim startRegions AsStack=NewStack()Do
startIndex = text.IndexOf(REGION_START, lastIndex)
endIndex = text.IndexOf(REGION_END, lastIndex)If startIndex =-1AndAlso endIndex =-1ThenExitDoEndIfIf startIndex <>-1AndAlso startIndex < endIndex Then
startRegions.Push(startIndex)
lastIndex = startIndex +1Else' 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.
//region [Description]
и закончить//endregion
Ответы:
Там нет такого стандартного эквивалента. Некоторые IDE, например Intellij или Eclipse, могут сворачиваться в зависимости от используемых типов кода (конструкторы, импорт и т. Д.), Но ничего подобного нет
#region
.источник
Jet Brains IDEA имеет эту функцию. Вы можете использовать горячие клавиши для этого (Ctrl + Alt + T). Это просто особенность ИДЕИ.
Регионы там выглядят так:
источник
С Android Studio попробуйте это:
Осторожно: без пробела после // региона ...
И вы получите:
источник
Нет эквивалента в языке ... На основе IDE ...
Например, в NetBeans:
NetBeans / Creator поддерживает этот синтаксис:
http://forums.java.net/jive/thread.jspa?threadID=1311
источник
Для Eclipse IDE это может сделать плагин Coffee-Bytes , ссылка для скачивания здесь .
РЕДАКТИРОВАТЬ:
Последняя информация о 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 позволяет вам определять свои собственные определения свертывания, используя следующее определение:
Как отмечается в статье, это может поддерживаться и другими редакторами, но нет никаких гарантий.
источник
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):
ярлык, как показано ниже:
1- выберите код
2- нажмите
ctrl
+alt
+t
3- нажмите
c
и напишите ваше описаниеисточник
Лучший путь
Совет: поставьте ";" в конце "эндрегиона"
источник
Если кому-то интересно, в Eclipse вы можете свернуть все свои методы и т. Д. За один раз, просто щелкните правой кнопкой мыши, когда вы обычно вставляете точку останова, нажмите «Свернуть»> «Свернуть все». Он знает, что это не ответ на вопрос, а просто альтернатива быстрому свертыванию кода.
источник
На самом деле только получает какую-либо выгоду в IDE. В Java нет установленного стандарта в IDE, поэтому на самом деле нет стандарта для параллели
#region
.источник
region
, то мы можем быть уверены , что Java IDE, будет поддерживать его, не так ли?вот пример:
100% работает в Android студии
источник
Я обычно нуждаюсь в этом для прокомментированного кода, поэтому я использую фигурные скобки в начале и в конце этого.
Он может использоваться для фрагментов кода, но может создавать проблемы в некотором коде, потому что это изменяет область видимости переменной.
источник
На самом деле Иоганн,
#
указывает, что это директива препроцессора, что в основном означает, что она сообщает IDE, что делать.В случае использования
#region
и#endregion
в вашем коде, это не имеет значения в конечном коде, есть ли он или нет. Вы действительно можете назвать это языковым элементом, если его использование ничего не меняет?Кроме того, java не имеет директив препроцессора, что означает, что опция свертывания кода определяется отдельно для каждой идеи, например, в NetBeans с помощью оператора // <code-fold>
источник
На Mac и Android Studio выполните следующую последовательность действий:
<editor-fold>
Также вы можете выбрать другие варианты:
источник
В Eclipse вы можете свернуть в скобки переменную область блока. Наиболее близким является сделать что-то вроде этого:
источник
Просто включите и включите плагин Coffee-Bytes (Eclipse)
источник
Есть какой-то вариант добиться того же, следуйте приведенным ниже пунктам.
1) Открыть Macro Explorer:
2) Создать новый макрос:
3) Назовите его «OutlineRegions» (или как хотите)
4) Щелкните правой кнопкой мыши «OutlineRegions» (отображается в Macro Explorer), выберите параметр «Редактировать» и вставьте в него следующий код VB:
5) Сохраните макрос и закройте редактор.
6) Теперь давайте назначим ярлык макросу. Перейдите в Инструменты-> Параметры-> Среда-> Клавиатура и найдите свой макрос в текстовом поле «Показать команды, содержащее» (введите: Макрос в текстовое поле, в нем будет предложено имя макроса, выберите свое).
7) Теперь в текстовом поле под «Нажатием клавиш быстрого доступа» вы можете ввести нужный ярлык. Я использую Ctrl + M + N.
Использование:
8) Нажмите сохраненную горячую клавишу
Смотрите ниже результат:
источник
This code seems to be for Visual Basic.NET
что говорит о том, что IDE естьVisual Studio
.#region
и#endregion