Java相当于c#中的#region

我想使用区域代码折叠在Eclipse;在Java中怎么做到呢?

c#中的示例用法:

#region name
//code
#endregion
272846 次浏览

没有类似标准的东西。一些ide(例如Intellij或Eclipse)可以根据所涉及的代码类型(构造函数、导入等)进行折叠,但没有像#region这样的ide。

#region


// code


#endregion

只有在IDE中才有好处。在Java中,IDE中没有固定的标准,所以确实没有标准#region并行。

这更像是一个IDE特性,而不是语言特性。Netbeans允许您使用以下定义定义你自己的折叠定义:

// <editor-fold defaultstate="collapsed" desc="user-description">
...any code...
// </editor-fold>

正如文章中提到的,这可能也得到了其他编辑器的支持,但不能保证。

在语言中没有对应的…基于ide…

例如在netbeans中:

NetBeans/Creator支持以下语法:

// <editor-fold defaultstate="collapsed" desc="Your Fold Comment">
...
// </editor-fold>

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

如果有人感兴趣,在Eclipse中,你可以一次折叠你所有的方法,当你通常插入断点时,只需右键单击,点击“折叠”>“折叠所有”。它知道这不是问题的答案,但只是提供了一种快速代码折叠的替代方案。

与大多数人所发布的相反,这不是一个IDE的事情。这是语言问题。区域是一个c#语句。

实际上,#表示它是一个预处理器指令,基本上意味着它告诉IDE要做什么。

在代码中使用#region#endregion的情况下,它在最终代码中是否存在没有区别。如果使用它没有任何改变,你真的能称它为语言元素吗?

除此之外,java没有预处理器指令,这意味着代码折叠的选项是在每个ide的基础上定义的,例如在netbeans中使用//<code-fold >声明

对于Eclipse IDE, Coffee-Bytes插件可以做到,下载链接在此

编辑:

# EYZ0。

在Eclipse中,您可以折叠括号来包装可变区域块。最接近的方法是这样做:

public class counter_class
{


{ // Region


int variable = 0;


}
}

Jet Brains IDEA拥有这一功能。你可以使用热键环绕(ctrl + alt + T),这只是IDEA功能。

区域是这样的:

//region Description


Some code


//endregion

有一些选项可以达到同样的效果,遵循以下几点。

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)按已保存的快捷键

结果如下:

enter image description here

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

这已被测试用于月食Luna和Juno。以下是步骤

  1. here下载插件

  2. 提取档案的内容

  3. 将插件和特性文件夹的内容复制粘贴到eclipse安装目录中的同名文件夹中
  4. 重新启动eclipse
  5. < p > # EYZ0导航

    enter image description here

  6. 新建区域如下所示:

    enter image description here

  7. 重新启动Eclipse。

  8. 尝试折叠是否工作与注释前缀指定的开始和结束标识符

    enter image description here

    enter image description here

你也可以在这个博客上下载存档文件并找到步骤。

使用Android Studio,试试这个:

//region VARIABLES
private String _sMyVar1;
private String _sMyVar2;
//endregion

小心://region后面没有空行…

你会得到:

.

只需安装并启用Coffee-Bytes插件(Eclipse)

最好的方法

//region DESCRIPTION_REGION
int x = 22;
// Comments
String s = "SomeString";
//endregion;

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

我通常需要注释代码,所以我在开始和结束时使用花括号。

{
// Code
// Code
// Code
// Code
}

它可以用于代码片段,但在某些代码中会产生问题,因为它改变了变量的作用域。

Android Studio(或IntelliJ IDEA)中最快的方法

  1. highlight the code你想要环绕它
  2. ctrl + alt + t
  3. c ==>然后输入描述
  4. 享受

我刚从c#转到java,遇到了同样的问题,最好的和准确的区域替代方案如下(在Android Studio工作,不知道intelliJ):

 //region [Description]
int a;
int b;
int c;
//endregion

快捷方式如下:

1-选择代码

2-按ctrl + alt + t

3-按c并写下你的描述

在Mac和Android Studio上遵循以下顺序:

  1. 突出显示要折叠的源代码
  2. 按# EYZ0 + # EYZ1 + # EYZ2
  3. 选择# EYZ0

您还可以选择其他选项:

enter image description here

< br > < p > # EYZ0地区 创建区域< / >强

第一个,找到(并定义快捷方式,如果需要)为Surround With菜单 # EYZ0 < / p >

然后,选中代码,按Ctrl+Alt+Semicolon ->选择region..endregion...
# EYZ0 < / p >

前往地区

首先,找到Custom Folding的快捷方式
enter image description here 其次,在代码中的任何地方,按Ctrl+Alt+Period('>' on keyboard) # EYZ0 < / p >

这里有一个例子:

//region regionName
//code
//endregion

100%适用于Android studio

vscode

我使用vscode for java,它的工作原理与visual studio几乎相同,除了你使用注释:

//#region name


//code


//#endregion

enter image description here

来见见自定义折叠区域 ⌥⌘T

demo

在Visual Studio Code中,尝试这样做:

//region Variables
// Code you need
//endregion