Ich möchte Regionen für die Codefaltung in Eclipse Wie kann das in Java gemacht werden?
Ein Anwendungsbeispiel in C# :
#region name
//code
#endregion
Ich möchte Regionen für die Codefaltung in Eclipse Wie kann das in Java gemacht werden?
Ein Anwendungsbeispiel in C# :
#region name
//code
#endregion
Eigentlich johann, der #
zeigt an, dass es sich um eine Präprozessor-Direktive handelt, was im Grunde bedeutet, dass sie der IDE sagt, was sie tun soll.
Im Falle der Verwendung von #region
y #endregion
in Ihrem Code, macht es im endgültigen Code KEINEN Unterschied, ob es dort steht oder nicht. Kann man es wirklich als Sprachelement bezeichnen, wenn seine Verwendung nichts ändert?
Abgesehen davon hat Java keine Präprozessor-Direktiven, was bedeutet, dass die Option der Code-Faltung auf einer pro-Ide-Basis definiert wird, in Netbeans zum Beispiel mit einer //< code-fold>-Anweisung
Es gibt einige Möglichkeiten, dies zu erreichen: Beachten Sie die folgenden Punkte.
1) Öffnen Sie den Makro-Explorer:
2) Erstellen Sie ein neues Makro:
3) Nennen Sie es "OutlineRegions" (oder wie immer Sie wollen)
4) Klicken Sie mit der rechten Maustaste auf "OutlineRegions" (wird im Makro-Explorer angezeigt), wählen Sie die Option "Bearbeiten" und fügen Sie den folgenden VB-Code ein:
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) Speichern Sie das Makro und schließen Sie den Editor.
6) Nun weisen wir dem Makro eine Verknüpfung zu. Gehen Sie zu Werkzeuge->Optionen->Umgebung->Tastatur und suchen Sie Ihr Makro in der Textbox "show commands containing" (Type: Makro in das Textfeld ein, es werden die Namen der Makros vorgeschlagen, wählen Sie Ihr Makro aus).
7) Im Textfeld unter "Tastenkombinationen drücken" können Sie nun die gewünschte Tastenkombination eingeben. Ich verwende Strg+M+N.
Verwendung:
return
{
//Properties
//#region
Name:null,
Address:null
//#endregion
}
8) Drücken Sie die gespeicherte Schnelltaste
Siehe untenstehendes Ergebnis:
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
2 Stimmen
programmers.stackexchange.com/questions/53086/ scheint im Geiste ähnlich zu sein.
0 Stimmen
Ich bin spät zur Party gestoßen. Ich stimme mit IKashef überein, dass es andere Möglichkeiten als die derzeit ausgewählte Antwort gibt. Die Antwort von Yaqub Ahmad hat mir das Leben gerettet. Ich brauchte die Intellig IDE nicht herunterzuladen. Ich habe das erwähnte CoffeeBytes-Plugin aus dem Kommentar von cking24343 heruntergeladen, ich habe die Konfiguration von 'null n void' angewendet und es hat gut in Luna funktioniert. Sie müssen neu starten, nachdem Sie die Konfiguration angewendet haben
3 Stimmen
Beginnen mit
//region [Description]
und enden mit//endregion
0 Stimmen
Später und nicht spezifisch Java, aber verwandt für Eclipse folding: stackoverflow.com/q/13505413/7224691