Java相当于#地区在C#


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

C#中的示例用法

#region name
//code
#endregion


Answers



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




喷气大脑IDEA有这个功能。 你可以使用热键环绕(ctrl + alt + T)。 这只是IDEA功能。

那里的地区是这样的:

//region Description

Some code

//endregion



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

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

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

你会得到:










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

这是测试与日食月神和朱诺工作。 这是步骤

  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. 如果折叠使用带有指定开始和结束标识符的注释,请尝试

您可以下载存档并在此博客上查找步骤。




这是一个IDE功能,而不是语言功能。 Netbeans允许您使用以下定义来定义自己的折叠定义:

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

正如文章中指出的那样,这也可能得到其他编辑的支持,但是没有保证。




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

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



与大多数发布相反,这不是一个IDE的东西。 这是一种语言的东西。 #region是一个C#语句。




最好的办法

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

提示:把“;” 在“终端地区”的末尾




如果任何人有兴趣,在Eclipse中,你可以折叠所有的方法等,只需右击,当你通常插入一个断点,点击“折叠”>“全部折叠”。 它知道这不是问题的答案,而只是提供快速代码折叠的替代方案。




我从C#来到Java,并有同样的问题,地区的最佳和准确的选择是下面的东西(在Android Studio中工作,不知道intelliJ):

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

快捷方式如下所示:

1-选择代码

2-按ctrl + alt + t

3-按c并写下你的描述




#region

// code

#endregion

真的只是在IDE中获得任何好处。 使用Java,在IDE中没有设置标准,所以没有标准的并行到#region




我通常需要这个注释的代码,所以我在开始和结束使用大括号。

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

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




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

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

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




AndroidStudio地区
创建区域

首先 ,找到(并定义快捷方式,如果需要)用于Surround With菜单

然后 ,选择代码,按下Ctrl+Alt+Semicolon region..endregion... - >选择region..endregion...

去区域

首先找到Custom Folding快捷方式
其次,从你的代码中的任何地方,按下Ctrl+All+Period('>' on keyboard)




在Mac和Android Studio上按照以下顺序:

  1. 突出显示源代码折叠
  2. 按下Alt + Command + t
  3. 选择<editor-fold>

您也可以选择其他选项:




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

public class counter_class 
{ 

    { // Region

        int variable = 0;

    }
}



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




有一些选项可以实现,请遵循以下几点。

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

见下面的结果: