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



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 here

  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.




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;

    }
}



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




#region

// code

#endregion

In realtà solo ti dà alcun vantaggio nell'IDE. Con Java, non ci sono standard definiti in IDE, quindi non c'è davvero alcun parallelo standard alla #region .




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



In realtà johann, il simbolo # indica che si tratta di una direttiva preprocessore, che in pratica significa che dice all'IDE cosa fare.

Nel caso dell'utilizzo di #region e #endregion nel codice, non fa #endregion differenza nel codice finale se è presente o meno. Puoi davvero chiamarlo elemento linguistico se usarlo non cambia nulla?

A parte questo, java non ha direttive per il preprocessore, il che significa che l'opzione di piegatura del codice è definita su base ide-ide, in netbeans per esempio con l'istruzione // <code-fold>




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:




Il modo migliore

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

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




Se qualcuno è interessato, in Eclipse puoi comprimere tutti i tuoi metodi ecc in una volta sola, con il tasto destro del mouse quando normalmente inserisci un punto di interruzione, fai clic su "Pieghevole"> "Comprimi tutto". Sa che non è una risposta alla domanda, ma fornisce solo un'alternativa al piegamento rapido del codice.