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

見下面的結果: