Ich möchte in Eclipse Regionen für das Code-Folding verwenden; wie kann das in Java gemacht werden?
Ein Beispiel für die Verwendung in C#:
#region name
//code
#endregion
Ich möchte in Eclipse Regionen für das Code-Folding verwenden; wie kann das in Java gemacht werden?
Ein Beispiel für die Verwendung in C#:
#region name
//code
#endregion
Eigentlich Johann, das #
gibt an, dass es sich um eine Präprozessoranweisung handelt, die im Grunde genommen dem IDE sagt, was zu tun ist.
Im Fall der Verwendung von #region
und #endregion
in Ihrem Code macht es KEINEN Unterschied im endgültigen Code, ob es vorhanden ist oder nicht. Kann man es wirklich als eine Sprachelement bezeichnen, wenn sich durch die Verwendung nichts ändert?
Abgesehen davon hat Java keine Präprozessoranweisungen, was bedeutet, dass die Option des Code-Foldings auf einer IDE-spezifischen Basis definiert ist, z.B. in Netbeans mit einer //< code-fold> Anweisung
Kannst du es wirklich ein Sprachelement nennen, wenn sich durch die Verwendung nichts ändert? - Wie sieht es mit Kommentaren aus ?!
Ich habe das Argument schon einmal gehört, dass es nicht eine Funktion der Sprache ist. Und die Frage "Kann man es wirklich ein Sprachelement nennen, wenn sich durch die Verwendung nichts ändert?" ist lächerlich. Oftmals bedeutet Refactoring, den Code für Menschen leichter lesbar zu machen, ohne (hoffentlich) die Funktion des Codes zu beeinflussen.
Dies ist nutzlos. Es funktioniert nicht innerhalb einer Methode, und es ZERBRICHT DEN CODE! (Private Variablen werden sich beschweren, dass sie final sein wollen. Variablen ohne Sichtbarkeitsdefinition sind außerhalb der inneren Klammern nicht zugänglich!)
Nicht nur wird dies in einer früheren Antwort erwähnt, sondern Sie haben auch keine nützlichen Informationen dazu bereitgestellt.
Es gibt einige Optionen, um dasselbe zu erreichen. Befolgen Sie die folgenden Punkte.
1) Öffnen Sie den Makro-Explorer:
2) Erstellen Sie ein neues Makro:
3) Benennen Sie es "OutlineRegions" (Oder wie auch immer Sie möchten)
4) Klicken Sie mit der rechten Maustaste auf "OutlineRegions" (Im Makro-Explorer angezeigt) und wählen Sie die Option "Bearbeiten" aus. 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
' Region gliedern...
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) Weisen Sie jetzt eine Tastenkombination für das Makro zu. Gehen Sie zu Tools->Optionen->Umgebung->Tastatur und suchen Sie in der Textbox "Befehle anzeigen, die enthalten" nach Ihrem Makro (Typ: Macro in das Textfeld ein, es wird den Namen des Makros vorschlagen, wählen Sie Ihres aus.)
7) Geben Sie nun die gewünschte Tastenkombination in das Textfeld unter "Tastenkombination drücken" ein. Ich benutze Strg+M+N.
Verwenden Sie:
return
{
//Eigenschaften
//#region
Name:null,
Address:null
//#endregion
}
8) Drücken Sie die gespeicherte Tastenkombination
Sehen Sie das Ergebnis unten:
@CJBS - Betreff: Dieser Code scheint für Visual Basic.NET
zu sein, was darauf hindeutet, dass die IDE Visual Studio
ist.
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/fragen/53086/… scheint ähnlich im Geist zu sein.
0 Stimmen
Ich bin spät zur Party gekommen. Ich stimme IKashef zu, dass es andere Optionen gibt als die aktuell ausgewählte Antwort. Die Antwort von Yaqub Ahmad hat mir das Leben gerettet. Ich musste nicht den Intellig IDE herunterladen. Ich habe das erwähnte CoffeeBytes-Plugin aus dem Kommentar von cking24343 heruntergeladen, habe die Konfiguration von 'null n void' angewendet und es hat gut in Luna funktioniert. Sie müssen nach dem Anwenden der Konfiguration neu starten.
3 Stimmen
Beginnen Sie mit
//region [Beschreibung]
und enden Sie mit//endregion
0 Stimmen
Später und nicht speziell Java, aber im Zusammenhang mit dem Eclipse-Folding: stackoverflow.com/q/13505413/7224691