Java相当于C#中的#region

Java equivalent to #region in C#

我想在Eclipse中使用区域进行代码折叠;这是如何在Java中完成的?

C中的示例用法:

1
2
3
#region name
//code
#endregion


喷气式飞机大脑的想法有这个特点。您可以使用热键环绕(ctrl+alt+t)。这只是创意。

那里的区域如下:

1
2
3
4
5
//region Description

Some code

//endregion


使用Android Studio,尝试以下操作:

1
2
3
4
//region VARIABLES
private String _sMyVar1;
private String _sMyVar2;
//endregion

小心:区域后没有空行…

你会得到:

></P></p>
<div class=


没有类似的标准。有些IDE(例如intellij或eclipse)可以根据所涉及的代码类型(构造函数、导入等)折叠,但没有什么与#region非常类似。


语言中没有等价物…基于IDES…

例如,在NetBeans中:

NetBeans/Creator支持此语法:

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

http://forums.java.net/jive/thread.jspa?苏塞德=1311


对于Eclipse IDE,Coffeebytes插件可以做到这一点,下载链接就在这里。

编辑:

这里是关于咖啡字节的最新信息。


自定义代码折叠功能可以使用coffeescript代码折叠插件添加到Eclipse中。

这是对EclipseLuna和Juno的测试。步骤如下

  • 从这里下载插件

  • 提取存档内容

  • 复制将plugin和features文件夹的内容粘贴到Eclipse安装目录中的同一个命名文件夹中
  • 重新启动Eclipse
  • 导航Window >Preferences >Java >Editor >Folding >Select folding to use: Coffee Bytes Java >General tab >Tick checkboxes in front of User Defined Fold

    enter image description here

  • 创建新区域,如图所示:

    enter image description here

  • 重新启动Eclipse。

  • 如果折叠操作带有前缀为指定起始和结束标识符的注释,请尝试

    enter image description here

    enter image description here

  • 您也可以下载存档文件并在此日志中查找步骤。


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

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

    正如本文所指出的,这也可能得到其他编辑的支持,但没有任何保证。


    the fastest way in Android Studio (or IntelliJ IDEA)

  • 你想包围它
  • OCx1〔1〕+OCx1〔2〕+OCx1〔3〕
  • 按xykbc==>然后输入说明
  • 享受

  • AndroidStudio地区创建区域

    首先,为Surround With菜单查找(并在需要时定义快捷方式)enter image description here

    然后,选择代码,按Ctrl+Alt+Semicolon->选择region..endregion...enter image description here

    走向区域

    首先,找到Custom Folding的捷径enter image description here第二,从代码的任何地方,按Ctrl+Alt+Period('>' on keyboard)enter image description here


    与大多数人发布的内容相反,这不是一个IDE。它是一种语言。区域是C_声明。


    最好的方法

    1
    2
    3
    4
    5
    //region DESCRIPTION_REGION
    int x = 22;
    // Comments
    String s ="SomeString";
    //endregion;

    提示:将";"放在"结束区域"的末尾


    我是从C到Java,有同样的问题,对于区域最好的和精确的选择如下(在Android工作室工作,不知道因特利利):

    1
    2
    3
    4
    5
     //region [Description]
     int a;
     int b;
     int c;
    //endregion

    快捷方式如下:

    1-选择代码

    2-按ctrl+alt+t

    3-按c并写下您的描述


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


    1
    2
    3
    4
    5
    #region

    // code

    #endregion

    只会让你在IDE中受益。使用Java,井手中没有设置标准,所以实际上没有与EDOCX1 0并行的标准。


    我通常需要这个用于注释代码,所以在代码的开头和结尾使用花括号。

    1
    2
    3
    4
    5
    6
    {
    // Code
    // Code
    // Code
    // Code
    }

    它可以用于代码段,但可以在某些代码中创建问题,因为它会更改变量的范围。


    在Mac和Android Studio上,按以下顺序操作:

  • 突出显示要折叠的源代码
  • alt+commandakbd+t
  • 选择
  • 还可以选择其他选项:

    enter image description here


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

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

    除此之外,Java还没有预处理器指令,这意味着代码折叠的选项是在IDE基础上定义的,例如在NETBeaS中,用//<代码折叠>语句。


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

    1
    2
    3
    4
    5
    6
    7
    8
    9
    public class counter_class
    {

        { // Region

            int variable = 0;

        }
    }


    只需输入并启用咖啡字节插件(Eclipse)


    有一些实现相同的选择,请遵循以下几点。

    1)打开宏资源管理器:

    2)创建新宏:

    3)将其命名为"OutlineRegions"(或任何您想要的名称)。

    4)右键单击"大纲区域"(显示在宏资源管理器上),选择"编辑"选项并将以下VB代码粘贴到其中:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
        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)现在让我们为宏指定快捷方式。转到工具->选项->环境->键盘,在"显示包含命令"文本框中搜索宏(在文本框中键入:macro,它将建议宏名,选择您的宏名。)

    7)现在,在"按下快捷键"下的文本框中,您可以输入所需的快捷键。我使用CTRL+M+N。

    用途:

    1
    2
    3
    4
    5
    6
    7
    8
    return
    {
    //Properties
    //#region
    Name:null,
    Address:null
    //#endregion
    }

    8)按保存的快捷键

    结果如下:

    enter image description here