Java相当于C#中的#region

Pen*_*m10 468 c# java eclipse folding

我想在Eclipse中使用区域进行代码折叠; 怎么能在Java中完成?

C#中的示例用法:

#region name
//code
#endregion
Run Code Online (Sandbox Code Playgroud)

Ale*_*niy 452

Jet Brains IDEA具有此功能.您可以使用热键环绕(ctrl + alt + T).这只是IDEA功能.

那里的地区看起来像这样:

//region Description

Some code

//endregion
Run Code Online (Sandbox Code Playgroud)

  • 适用于新的Android Studio!你刚救了我的一天:) (65认同)
  • @Duncan 1.向人们展示有其他选择没有错.2.我在Intellij下搜索区域并找到它. (5认同)
  • 感谢那!在Android Studio上完美运行. (3认同)
  • 这个问题明确要求Eclipse的解决方案. (2认同)
  • 在Linux上,该热键运行终端 (2认同)

Bri*_*new 209

没有这样的标准等价物.一些IDE - 例如Intellij或Eclipse - 可以根据所涉及的代码类型(构造函数,导入等)进行折叠,但是没有什么比这更好的了#region.

  • 实际上这可以实现.如果你向下滚动这篇文章"Yaqub Ahmad"解释了如何获得这个功能.此处还有一个链接(http://kosiara87.blogspot.com/2011/12/how-to-install-coffee-bytes-plugin-in.html),向您展示如何将其添加到现有的eclipse环境中. .非常实用! (29认同)
  • 当然.但没有*标准*.它在IDE中执行,而不是具有语言(或文本)构造 (14认同)
  • @BrianAgnew,OP没有提到有关标准的任何内容,而只是希望能够在他的代码中使用类似区域的块.例如,你说"但是没有什么比#region更像了." 在IDEA中,例如// region .. // endregion就像#region一样.首先,没有标准的方法可以做到这一点,因为它取决于IDE本身或插件.具有microsoft背景的开发人员将始终将MS Visual Studio视为"The"IDE,但事实上它只是其中一个选项,而另一个IDE可能会或可能不会实现此类功能. (4认同)
  • @BrianAgnew,我几乎放弃了,直到我看到其他人的答案比你的更多.在这里真的没有什么难过的感觉,我们都在这里学习和分享我们的知识,并且说明了我对你的答案误导的事实,也许这是一个很好的回到2010年而不是今天.我希望你明白我的观点. (3认同)
  • @lKashef - 那么什么是*标准*等价呢?下面提到的一切都与特定的IDE有关,不是吗? (2认同)

Cyr*_*art 205

使用Android Studio,试试这个:

//region VARIABLES
private String _sMyVar1;
private String _sMyVar2;
//endregion
Run Code Online (Sandbox Code Playgroud)

小心://区域之后没有空行......

你会得到:

  • bummi,我确实在0.4.2中尝试了一个空行,仍然有效 (5认同)
  • @DanielSaidi哦,恐怖!:)文章中的那个人"_我看不到任何东西!我必须手动扩展这些部分才能浏览这个类中的任何代码."...所以因为他懒得按一个键(那个woulld扩展文件中的所有部分),不得使用该功能 - 这是一个非常精彩的功能.现在我正在逐一使用它隐藏我已经验证的方法在我正在工作的类中是线程安全的,它确实有助于保持井井有条.我曾经想过什么东西是那样的我以为在那里,但这是一个很小的代价...... (5认同)
  • @DanielSaidi这不是隐藏复杂性,而是隐藏普通代码,如变量声明,getter,初始化代码等.另请注意,您不需要#regions来折叠函数和类中的"复杂代码".程序员错误地使用工具的牛肉并不等于"工具不好". (4认同)
  • 只是一个评论/建议(绝不是你的问题的答案).人们普遍认为应避免使用区域,因为它们会让您隐藏类复杂性而不是编写您的编码风格.而不是大型类,每个类负责许多功能,而不是将代码分解为更小的类.它将使您的代码更容易管理.在这里阅读更多内容:http://blog.codinghorror.com/the-problem-with-code-folding/ (2认同)

Kev*_*che 95

没有相应的语言...基于IDE ...

例如在netbeans中:

NetBeans/Creator支持以下语法:

// <editor-fold defaultstate="collapsed" desc="Your Fold Comment">
...
// </editor-fold>
Run Code Online (Sandbox Code Playgroud)

http://forums.java.net/jive/thread.jspa?threadID=1311

  • 哈哈用那种语法,我甚至可能都没有使用这个功能 (8认同)
  • 尽管它不是特定于语言的折叠,但仍然对我在 NetBeans 中有所帮助。这正是我想要实现的目标。只是希望我的代码对我来说更加方便和有条理。 (2认同)

Yaq*_*mad 48

对于Eclipse IDE,Coffee-Bytes插件可以执行此操作,下载链接就在这里.

编辑:

有关Coffee-Bytes的最新信息,请点击此处.

  • +1感谢此信息.由于插件的开发者的原始网站在2012年不再可用 - 我发现[安装和使用的简短描述](http://kosiara87.blogspot.com/2011/12/how-to-install-coffee -bytes-插件-in.html). (7认同)

Del*_*019 48

可以使用CoffeeScript代码折叠插件将自定义代码折叠功能添加到eclipse中.

经测试可与eclipse Luna和Juno配合使用.这是步骤

  1. 这里下载插件

  2. 提取存档的内容

  3. 将插件和功能文件夹的内容复制粘贴到eclipse安装目录中的同一个命名文件夹中
  4. 重启日食
  5. 导航 Window >Preferences >Java >Editor >Folding >Select folding to use: Coffee Bytes Java >General tab >Tick checkboxes in front of User Defined Fold

    在此输入图像描述

  6. 创建新区域,如下所示:

    在此输入图像描述

  7. 重启Eclipse.

  8. 如果折叠使用带有指定开始和结束标识符前缀的注释,请尝试使用

    在此输入图像描述

    在此输入图像描述

您也可以下载存档并在此博客中查找步骤.

  • 在eclipse neon上没有为我工作:复制和粘贴什么都没做:唯一改变的是在市场>>安装插件>>更新.我更新了coffeeScript插件,但是在java >> editor >> folding下我没有得到"Select folding to use"选项 (2认同)

hea*_*vyd 37

这更像是IDE功能而非语言功能.Netbeans允许您使用以下定义定义自己的折叠定义:

// <editor-fold defaultstate="collapsed" desc="user-description">
  ...any code...
// </editor-fold>
Run Code Online (Sandbox Code Playgroud)

正如文章所述,其他编辑也可能支持这一点,但没有任何保证.


Bas*_*ANI 30

最快的方式Android Studio(或IntelliJ IDEA)

  1. highlight the code 你想要包围它
  2. ctrl+ alt+t
  3. c==>然后输入说明
  4. 请享用


Pha*_*inh 30

AndroidStudio区域
创建区域

首先,找到(并在需要时定义快捷方式)Surround With菜单 在此输入图像描述

然后,选择代码,按Ctrl+Alt+Semicolon- >选择region..endregion...
在此输入图像描述

去区域

首先,找到Custom Folding捷径
在此输入图像描述 其次,从代码中的任何位置,按 Ctrl+Alt+Period('>' on keyboard) 在此输入图像描述


Joh*_*ann 19

与大多数人发布的内容相反,这不是IDE的事情.这是一种语言的东西.#region是一个C#语句.

  • 大多数人发布的是IN JAVA这是一个IDE功能. (55认同)
  • 在C#中,它部分是IDE,部分是语言.该语言支持预处理程序指令,但预处理程序只是忽略它们(处理程序忽略注释的方式相同).IDE(Visual Studio)使用它们来进行代码折叠. (23认同)

小智 15

最好的方法

//region DESCRIPTION_REGION
int x = 22;
// Comments
String s = "SomeString";
//endregion;
Run Code Online (Sandbox Code Playgroud)

提示:放";" 在"endregion"的末尾


Ami*_*ati 15

我来自C#到java并遇到了同样的问题,区域的最佳和确切的替代方案如下(在Android Studio中工作,不了解intelliJ):

 //region [Description]
 int a;
 int b;
 int c;
//endregion
Run Code Online (Sandbox Code Playgroud)

快捷方式如下:

1-选择代码

2-按ctrl+ alt+t

3-按下c并写下你的描述


Ric*_*cky 11

如果有人有兴趣,在Eclipse中你可以一次性折叠所有方法等,只需在正常插入断点时单击右键,单击"折叠">"全部折叠".它知道这不是问题的答案,而是提供快速代码折叠的替代方案.


Cod*_*123 10

这是一个例子:

//region regionName
//code
//endregion
Run Code Online (Sandbox Code Playgroud)

100% 适用于 Android Studio

  • 我不知道为什么你被否决了,这实际上可以在 Android Studio 中运行,无需任何配置! (2认同)

Jus*_*ner 7

#region

// code

#endregion
Run Code Online (Sandbox Code Playgroud)

真的只能在IDE中获得任何好处.使用Java,IDE中没有设置标准,因此实际上没有标准并行#region.

  • 好吧,如果有一个标准的`region`,那么我们可以肯定java IDE的*会*支持它不是吗? (3认同)