547 Stimmen

Java-Äquivalent zu #region in C#

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

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

1voto

siriusblack Punkte 19

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

-1voto

Dennis Punkte 15

In Eclipse können Sie die Klammern, die den Block der variablen Region umschließen, ausklappen. Die naheliegendste ist, etwas wie dieses zu tun:

public class counter_class 
{ 

    { // Region

        int variable = 0;

    }
}

-3voto

acmoune Punkte 2293

Installieren und aktivieren Sie einfach das Coffee-Bytes-Plugin (Eclipse)

-12voto

Abhishek Punkte 913

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:

enter image description here

CodeJaeger.com

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.

Powered by:

X