Java entspricht #region in c #


Ich möchte Regionen für die Code-Faltung in Eclipse verwenden . Wie kann das in Java gemacht werden?

Eine Beispielverwendung in C # :

#region name
//code
#endregion


Answers


Es gibt kein solches Standardäquivalent . Einige IDEs - zum Beispiel Intellij oder Eclipse - können sich je nach den beteiligten Code-Typen (Konstruktoren, Importe usw.) zusammenfalten, aber es gibt nichts #region wie #region .




Jet Brains IDEA hat diese Funktion. Sie können dazu Hotkey-Surround verwenden (Strg + Alt + T). Es ist nur IDEA-Funktion.

Regionen dort sehen so aus:

//region Description

Some code

//endregion



Versuchen Sie dies mit Android Studio:

//region VARIABLES
private String _sMyVar1;
private String _sMyVar2;
//endregion

Vorsicht: keine Leerzeile nach // Region ...

Und du wirst bekommen:




Kein Äquivalent in der Sprache ... Basierend auf IDEs ...

Zum Beispiel in Netbeans:

NetBeans / Creator unterstützt diese Syntax:

// <editor-fold defaultstate="collapsed" desc="Your Fold Comment">
...
// </editor-fold>

http://forums.java.net/jive/thread.jspa?threadID=1311







Mit dem Folding-Plugin für das CoffeeScript-Code kann die Funktion zum Umfalten von benutzerdefinierten Codes zu Eclipse hinzugefügt werden.

Dies wird getestet, um mit Eclipse Luna und Juno zu arbeiten. Hier sind die Schritte

  1. Laden Sie das Plugin von hier herunter

  2. Extrahieren Sie den Inhalt des Archivs

  3. Kopieren Sie den Inhalt des Plugins und des Feature-Ordners in den gleichen Ordner im Eclipse-Installationsverzeichnis
  4. Starten Sie die Eklipse neu
  5. Navigieren in Window >Preferences >Java >Editor >Folding >Select folding to use: Coffee Bytes Java >General tab >Tick checkboxes in front of User Defined Fold

  6. Neue Region wie gezeigt erstellen:

  7. Probieren Sie es aus, wenn die Faltung mit Kommentaren funktioniert, denen vorangestellte Start- und Endkennzeichen vorangestellt sind

Sie können Archiv herunterladen und Schritte in diesem Blog auch finden.




Dies ist eher eine IDE-Funktion als eine Sprachfunktion. Mit Netbeans können Sie Ihre eigenen Faltungsdefinitionen unter Verwendung der folgenden Definition definieren:

// <editor-fold defaultstate="collapsed" desc="user-description">
  ...any code...
// </editor-fold>

Wie im Artikel erwähnt, kann dies auch von anderen Editoren unterstützt werden, aber es gibt keine Garantien.




der schnellste Weg in Android Studio (oder IntelliJ IDEA )

  1. highlight the code Sie umgeben möchten
  2. drücken Sie ctrl + alt + t
  3. drücke c ==> und gib die Beschreibung ein
  4. genießen



Im Gegensatz zu dem, was die meisten veröffentlichen, ist dies KEINE IDE-Sache. Es ist eine Sprachsache. Der # region ist eine C # -Anweisung.




Der beste Weg

//region DESCRIPTION_REGION
int x = 22;
// Comments
String s = "SomeString";
//endregion;

Tipp: Setzen Sie ";" am ende der "endregion"




Wenn jemand interessiert ist, können Sie in Eclipse alle Ihre Methoden usw. auf einmal reduzieren. Klicken Sie einfach mit der rechten Maustaste, wenn Sie normalerweise einen Haltepunkt einfügen möchten, klicken Sie auf "Folding"> "Collapse all". Es weiß, dass es keine Antwort auf die Frage ist, sondern lediglich eine Alternative zur schnellen Code-Faltung.




Ich kam von C # nach Java und hatte das gleiche Problem und die beste und exakte Alternative für die Region ist etwas wie unten (Arbeiten in Android Studio, weiß nicht über IntelliJ):

 //region [Description]
 int a;
 int b;
 int c;
//endregion

Die Abkürzung ist wie folgt:

1- Wählen Sie den Code

2 - Drücken Sie ctrl + alt + t

3- Drücken Sie c und schreiben Sie Ihre Beschreibung




#region

// code

#endregion

Wirklich bringt dir nur irgendein Vorteil in der IDE. Mit Java gibt es in der IDE keinen #region Standard, daher gibt es keinen Standard parallel zu #region .




Ich brauche das normalerweise für kommentierten Code, also verwende ich am Anfang und am Ende dieser Zeilen geschweifte Klammern.

{
// Code
// Code
// Code
// Code
}

Es könnte für Code-Snippets verwendet werden, kann aber in einem Code Probleme verursachen, da es den Gültigkeitsbereich der Variablen ändert.




Eigentlich johann, zeigt das # an, dass es eine Präprozessor-Anweisung ist, was im Grunde bedeutet, dass es der IDE mitteilt, was zu tun ist.

Im Falle der Verwendung von #region und #endregion in Ihrem Code macht es #endregion Unterschied im endgültigen Code, ob er vorhanden ist oder nicht. Können Sie es wirklich ein Sprachelement nennen, wenn es nichts ändert?

Abgesehen davon hat Java keine Präprozessor-Direktiven, was bedeutet, dass die Möglichkeit der Code-Faltung auf einer pro-ide-Basis definiert wird, in Netbeans zum Beispiel mit einer // <code-fold> -Anweisung.




AndroidStudio Region
Region erstellen

Zuerst finden Sie (und definieren Abkürzung wenn nötig) für Surround With Menü

Wählen region..endregion... dann den Code aus, drücken Sie Ctrl+Alt+Semicolon -> wählen Sie region..endregion...

Zur Region gehen

Zuerst finden Sie Custom Folding Abkürzung
Zweitens drücken Sie von überall in Ihrem Code Ctrl+All+Period('>' on keyboard)




Folgen Sie auf Mac und Android Studio dieser Reihenfolge:

  1. Markieren Sie den Quellcode zum Falten
  2. Drücken Sie Alt + Befehlstaste + t
  3. Wählen Sie <editor-fold>

Sie können auch andere Optionen auswählen:




In Eclipse können Sie die Klammern, die den variablen Bereichsblock umschließen, reduzieren. Am nächsten ist es, so etwas zu tun:

public class counter_class 
{ 

    { // Region

        int variable = 0;

    }
}



Intall und aktivieren Sie Coffee-Bytes Plugin (Eclipse)




Es gibt eine Option, um das Gleiche zu erreichen. Befolgen Sie die folgenden Punkte.

1) Öffnen Sie den Makro-Explorer:

2) Neues Makro erstellen:

3) Nennen Sie es "OutlineRegions" (oder was auch immer Sie wollen)

4) Klicken Sie mit der rechten Maustaste auf die "OutlineRegions" (Zeige im Makro-Explorer), 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. Wechseln Sie zu Extras-> Optionen-> Umgebung-> Tastatur und suchen Sie nach Ihrem Makro im Textfeld "show commands contains" (Typ: Makro in das Textfeld, es wird der Makroname vorgeschlagen, wählen Sie Ihren.)

7) Jetzt im Textfeld unter "Tastenkombinationen drücken" können Sie die gewünschte Verknüpfung eingeben. Ich benutze Strg + M + N.

Benutzen:

return
{
//Properties
//#region
Name:null,
Address:null
//#endregion
}

8) Drücken Sie die gespeicherte Tastenkombination

Siehe unten Ergebnis: