[英]Java equivalent to #region in C#
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 之后沒有空行...
你會得到:
語言中沒有對等物......基於IDE......
例如在 netbeans 中:
NetBeans/Creator 支持以下語法:
// <editor-fold defaultstate="collapsed" desc="Your Fold Comment">
...
// </editor-fold>
可以使用 CoffeeScript 代碼折疊插件將自定義代碼折疊功能添加到 Eclipse。
這經過測試可以與 eclipse Luna 和 Juno 一起使用。 以下是步驟
從這里下載插件
提取存檔內容
導航Window >Preferences >Java >Editor >Folding >Select folding to use: Coffee Bytes Java >General tab >Tick checkboxes in front of User Defined Fold
創建新區域,如圖所示:
重新啟動 Eclipse。
試試折疊是否適用於以指定開始和結束標識符為前綴的注釋
您也可以在此博客中下載存檔並查找步驟。
這與其說是一種語言功能,不如說是一種 IDE 功能。 Netbeans 允許您使用以下定義定義自己的折疊定義:
// <editor-fold defaultstate="collapsed" desc="user-description">
...any code...
// </editor-fold>
正如文章中所指出的,其他編輯器也可能支持這一點,但不能保證。
Android Studio
( 或IntelliJ IDEA
) 中最快的方式
highlight the code
要包圍它highlight the code
ctrl
+ alt
+ t
c
==> 然后輸入說明與大多數發布的內容相反,這不是 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 Studio
#region
// code
#endregion
真的只會讓您在 IDE 中受益。 對於 Java,IDE 中沒有設定標准,因此實際上沒有與#region
平行的標准。
我通常需要在注釋代碼中使用它,所以我在開頭和結尾使用大括號。
{
// Code
// Code
// Code
// Code
}
它可以用於代碼片段,但可能會在某些代碼中產生問題,因為它會更改變量的范圍。
實際上 johann, #
表示它是一個預處理器指令,這基本上意味着它告訴 IDE 要做什么。
在代碼中使用#region
和#endregion
的情況下,無論是否存在最終代碼都沒有區別。 如果使用它沒有任何改變,你真的可以稱它為語言元素嗎?
除此之外,java 沒有預處理器指令,這意味着代碼折疊選項是基於每個 ide 定義的,例如在 netbeans 中使用 //<code-fold> 語句
滿足自定義折疊區域⌥⌘T
在 Visual Studio Code 中,試試這個:
//region Variables
// Code you need
//endregion
在 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) 按保存的快捷鍵
見下結果:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.