我想在 Eclipse 中使用区域进行代码折叠;这怎么能在Java中完成?
C# 中的示例用法:
#region name
//code
#endregion
//region [Description]
开头并以 //endregion
结尾
Jet Brains IDEA 具有此功能。您可以为此使用热键环绕(ctrl + alt + T)。这只是 IDEA 的功能。
那里的区域如下所示:
//region Description
Some code
//endregion
没有这样的 标准 等价物。一些 IDE - 例如 Intellij 或 Eclipse - 可以根据所涉及的代码类型(构造函数、导入等)折叠,但没有什么比 #region
更好。
使用 Android Studio,试试这个:
//region VARIABLES
private String _sMyVar1;
private String _sMyVar2;
//endregion
小心: //region ... 之后没有空行
你会得到:
https://i.stack.imgur.com/2MarZ.png
语言中没有等价物...基于 IDE...
例如在 netbeans 中:
NetBeans/Creator 支持这种语法:
// <editor-fold defaultstate="collapsed" desc="Your Fold Comment">
...
// </editor-fold>
http://forums.java.net/jive/thread.jspa?threadID=1311
可以使用 CoffeeScript 代码折叠插件将自定义代码折叠功能添加到 Eclipse。
经过测试,它可以与 eclipse Luna 和 Juno 一起使用。以下是步骤
从这里下载插件 提取存档的内容 将插件和功能文件夹的内容复制粘贴到 eclipse 安装目录中的同名文件夹 重新启动 eclipse 导航窗口 > 首选项 > Java > 编辑器 > 折叠 > 选择要使用的折叠:Coffee Bytes Java >General 选项卡 >勾选 User Defined Fold 前面的复选框 创建新区域,如图所示:重新启动 Eclipse。尝试折叠是否适用于带有指定开始和结束标识符前缀的注释
您也可以在此Blog 下载存档并查找步骤。
对于 Eclipse IDE,Coffee-Bytes plugin 可以做到,download link is here。
编辑:
Latest information about Coffee-Bytes is here。
这更像是 IDE 功能而不是语言功能。 Netbeans 允许您使用以下定义来define your own folding definitions:
// <editor-fold defaultstate="collapsed" desc="user-description">
...any code...
// </editor-fold>
如文章中所述,其他编辑也可能支持这一点,但不能保证。
Android Studio(或 IntelliJ IDEA)中最快的方法
突出显示要包围它的代码按 ctrl + alt + t 按 c ==> 然后输入描述享受
AndroidStudio
区域
创建区域
https://i.stack.imgur.com/zyRLd.png
https://i.stack.imgur.com/N1EJn.gif
前往地区
https://i.stack.imgur.com/JyATQ.png
与大多数人发布的相反,这不是 IDE 的事情。这是语言的事情。 #region 是一个 C# 语句。
我从 C# 到 java 并且遇到了同样的问题,区域的最佳和准确替代方案如下所示(在 Android Studio 中工作,不了解 intelliJ):
//region [Description]
int a;
int b;
int c;
//endregion
快捷方式如下:
1-选择代码
2- 按 ctrl
+ alt
+ t
3- 按 c
并写下您的描述
最好的方法
//region DESCRIPTION_REGION
int x = 22;
// Comments
String s = "SomeString";
//endregion;
提示:输入“;”在“endregion”的末尾
如果有人有兴趣,在 Eclipse 中,您可以一次性折叠所有方法等,只需在通常插入断点时单击鼠标右键,单击“折叠”>“全部折叠”。它知道这不是问题的答案,而只是提供快速代码折叠的替代方案。
这是一个例子:
//region regionName
//code
//endregion
100% 在 Android 工作室工作
#region
// code
#endregion
真的只会让您在 IDE 中受益。对于 Java,IDE 中没有固定标准,因此实际上没有与 #region
平行的标准。
region
有一个标准,那么我们可以确定 java IDE 的 将 支持它,不是吗?
我通常需要这个注释代码,所以我在开始和结束时使用大括号。
{
// Code
// Code
// Code
// Code
}
它可以用于代码片段,但可能会在某些代码中产生问题,因为它会更改变量的范围。
代码
我将 vscode 用于 java,它的工作原理与 Visual Studio 几乎相同,除了您使用注释:
//#region name
//code
//#endregion
https://i.stack.imgur.com/kBpwp.png
实际上,johann,#
表示它是一个预处理器指令,这基本上意味着它告诉 IDE 要做什么。
在您的代码中使用 #region
和 #endregion
的情况下,无论它是否存在,最终代码都没有区别。如果使用它没有任何改变,你真的可以称它为语言元素吗?
除此之外,java 没有预处理器指令,这意味着代码折叠的选项是基于每个 ide 定义的,例如在 netbeans 中使用 //
在 Mac 和 Android Studio 上,请遵循以下顺序:
突出显示要折叠的源代码 按 Alt+Command+t 选择
您还可以选择其他选项:
https://i.stack.imgur.com/OQJo1.png
在 Visual Studio Code 中,试试这个:
//region Variables
// Code you need
//endregion
在 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) 按保存的快捷键
见以下结果:
https://i.stack.imgur.com/c8gtK.png
This code seems to be for Visual Basic.NET
这表明 IDE 是 Visual Studio
。
#region
和 #endregion