Java equivalente a #region in c #


Answers

Jet Brains IDEA ha questa caratteristica. Puoi usare i tasti di scelta rapida con quello (ctrl + alt + T). È solo una caratteristica IDEA.

Le regioni sembrano così:

//region Description

Some code

//endregion
Question

Voglio usare le regioni per la piegatura del codice in Eclipse ; come può essere fatto in Java?

Un esempio di utilizzo in C # :

#region name
//code
#endregion



Nessun equivalente nella lingua ... Basato su IDEs ...

Ad esempio in netbeans:

NetBeans / Creator supporta questa sintassi:

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

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




La funzione di piegatura del codice personalizzato può essere aggiunta ad eclissi usando il plug-in di codice flessibile CoffeeScript.

Questo è testato per funzionare con Eclipse Luna e Juno. Ecco i passaggi

  1. Scarica il plug-in da qui

  2. Estrai il contenuto dell'archivio

  3. Copia incolla il contenuto della cartella plug-in e funzioni nella stessa cartella con nome nella directory di installazione di eclipse
  4. Riavvia l'eclissi
  5. Naviga Window >Preferences >Java >Editor >Folding >Select folding to use: Coffee Bytes Java >General tab >Tick checkboxes in front of User Defined Fold

  6. Crea una nuova regione come mostrato:

  7. Prova se la piegatura funziona con commenti preceduti da identificatori iniziali e finali specificati

Puoi scaricare l'archivio e trovare passaggi in questo Blog anche.




il modo più veloce in Android Studio (o IntelliJ IDEA )

  1. highlight the code che vuoi circondarlo
  2. premere ctrl + alt + t
  3. premere c ==> quindi inserire la descrizione
  4. godere



Il modo migliore

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

Suggerimento: Inserisci ";" alla fine della "endregion"




Venivo da C # a Java e ho avuto lo stesso problema e l'alternativa migliore e esatta per la regione è qualcosa di simile (lavorando su Android Studio, non so su intelliJ):

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

la scorciatoia è come di seguito:

1- selezionare il codice

2- premere ctrl + alt + t

3- premi c e scrivi la tua descrizione




Di solito ho bisogno di questo per il codice commentato, quindi uso parentesi graffe all'inizio e alla fine di quello.

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

Potrebbe essere utilizzato per frammenti di codice, ma può creare problemi in alcuni codici perché cambia l'ambito della variabile.




Regione AndroidStudio
Crea una regione

Innanzitutto , trovare (e definire scorciatoia se necessario) per il menu Surround With

Quindi , seleziona il codice, premi Ctrl+Alt+Semicolon -> scegli region..endregion...

Vai alla regione

In primo luogo, trova scorciatoia Custom Folding
In secondo luogo, da qualsiasi punto del codice, premi Ctrl+All+Period('>' on keyboard)




In Eclipse è possibile comprimere le parentesi che racchiudono il blocco di regione variabile. Il più vicino è fare qualcosa del genere:

public class counter_class 
{ 

    { // Region

        int variable = 0;

    }
}



C'è qualche opzione per ottenere lo stesso, seguire i punti seguenti.

1) Apri Macro Explorer:

2) Crea nuova macro:

3) Denominalo "OutlineRegions" (O quello che vuoi)

4) Fare clic destro su "OutlineRegions" (Mostra su Macro Explorer) selezionare l'opzione "Modifica" e incollare il seguente codice VB al suo interno:

    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) Salva la macro e chiudi l'editor.

6) Ora assegniamo il collegamento alla macro. Vai su Strumenti-> Opzioni-> Ambiente-> Tastiera e cerca la tua macro in "mostra comandi contenenti" casella di testo (Digita: Macro nella casella di testo, suggerirà il nome della macro, scegli la tua.)

7) ora nella casella di testo sotto "Premi i tasti di scelta rapida" è possibile inserire la scorciatoia desiderata. Io uso Ctrl + M + N.

Uso:

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

8) Premere il tasto di scelta rapida salvato

Vedi sotto il risultato: