Voglio usare le regioni per ripiegare il codice in Eclipse ; come può essere fatto in Java?
Un esempio di utilizzo in C # :
#region name
//code
#endregion
//region [Description]
e termina con//endregion
Voglio usare le regioni per ripiegare il codice in Eclipse ; come può essere fatto in Java?
Un esempio di utilizzo in C # :
#region name
//code
#endregion
//region [Description]
e termina con//endregion
Risposte:
Non esiste un simile equivalente standard . Alcuni IDE - Intellij, ad esempio, o Eclipse - possono piegarsi a seconda dei tipi di codice coinvolti (costruttori, importazioni, ecc.), Ma non c'è niente di simile #region
.
Jet Brains IDEA ha questa funzione. È possibile utilizzare il tasto di scelta rapida surround con per quello (ctrl + alt + T). È solo la funzione IDEA.
Le regioni sembrano così:
//region Description
Some code
//endregion
Con Android Studio, prova questo:
//region VARIABLES
private String _sMyVar1;
private String _sMyVar2;
//endregion
Attento: nessuna riga vuota dopo // regione ...
E otterrai:
Nessun equivalente nella lingua ... Basato su IDE ...
Ad esempio nei netbeans:
NetBeans / Creator supporta questa sintassi:
// <editor-fold defaultstate="collapsed" desc="Your Fold Comment">
...
// </editor-fold>
Per Eclipse IDE il plug-in Coffee-Bytes può farlo, il link per il download è qui .
MODIFICARE:
La funzione di piegatura del codice personalizzata può essere aggiunta a Eclipse usando il plugin di piegatura del codice CoffeeScript.
Questo è testato per funzionare con eclipse Luna e Juno. Ecco i passaggi
Scarica il plugin da qui
Estrarre il contenuto dell'archivio
Navigare Window >Preferences >Java >Editor >Folding >Select folding to use: Coffee Bytes Java >General tab >Tick checkboxes in front of User Defined Fold
Crea una nuova regione come mostrato:
Riavvia Eclipse.
Prova se la piegatura funziona con i commenti preceduti da identificatori di inizio e fine specificati
Puoi scaricare l'archivio e trovare passaggi anche in questo Blog .
Questa è più una funzione IDE che una funzione lingua. Netbeans ti consente di definire le tue definizioni di piegatura usando la seguente definizione:
// <editor-fold defaultstate="collapsed" desc="user-description">
...any code...
// </editor-fold>
Come notato nell'articolo, questo può essere supportato anche da altri editor, ma non ci sono garanzie.
il modo più veloce in
Android Studio
(oIntelliJ IDEA
)
highlight the code
vuoi circondarloctrl
+ alt
+t
c
==> quindi inserisci la descrizioneAndroidStudio
regione
Crea regione
Innanzitutto , trova (e definisci scorciatoia se necessario) per il Surround With
menu
Quindi , seleziona il codice, premi Ctrl+Alt+Semicolon
-> scegliregion..endregion...
Vai alla regione
Innanzitutto, trova la Custom Folding
scorciatoia In
secondo luogo, da qualsiasi parte del codice, premiCtrl+Alt+Period('>' on keyboard)
Contrariamente a quanto la maggior parte pubblica, questa NON è una cosa IDE. È una cosa linguistica. #Region è un'istruzione C #.
Vengo da C # a Java e ho avuto lo stesso problema e l'alternativa migliore ed esatta per regione è qualcosa di simile al seguente (lavorando in Android Studio, non so di intelliJ):
//region [Description]
int a;
int b;
int c;
//endregion
il collegamento è come di seguito:
1- selezionare il codice
2- premere ctrl
+alt
+t
3- premere c
e scrivere la descrizione
Il modo migliore
//region DESCRIPTION_REGION
int x = 22;
// Comments
String s = "SomeString";
//endregion;
Suggerimento: inserisci ";" alla fine dell '"endregion"
Se qualcuno è interessato, in Eclipse puoi comprimere tutti i tuoi metodi ecc. In una sola volta, fai clic con il pulsante destro del mouse quando normalmente inseriresti un punto di interruzione, fai clic su "Pieghevole"> "Comprimi tutto". Sa che non è una risposta alla domanda, ma fornisce semplicemente un'alternativa alla rapida piegatura del codice.
#region
// code
#endregion
Ti dà davvero solo qualche vantaggio nell'IDE. Con Java, non esiste uno standard definito in IDE, quindi non esiste uno standard parallelo #region
.
region
, allora possiamo essere sicuri che gli IDE di Java lo supporteranno, no?
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é modifica l'ambito della variabile.
In realtà johann, #
indica che si tratta di una direttiva preprocessore, il che significa sostanzialmente che dice all'IDE cosa fare.
Nel caso di utilizzo di #region
e#endregion
nel tuo codice, NON fa alcuna differenza nel codice finale che sia presente o meno. Puoi davvero chiamarlo elemento di linguaggio 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 una base per-ide, ad esempio in netbeans con un'istruzione // <code-fold>
Su Mac e Android Studio segui questa sequenza:
<editor-fold>
Inoltre puoi selezionare altre opzioni:
In Eclipse è possibile comprimere le parentesi che avvolgono il blocco regione variabile. Il più vicino è fare qualcosa del genere:
public class counter_class
{
{ // Region
int variable = 0;
}
}
Basta installare e abilitare il plugin Coffee-Bytes (Eclipse)
C'è qualche opzione per ottenere lo stesso, seguire i punti seguenti.
1) Apri Esplora macro:
2) Crea nuova macro:
3) Denominalo "OutlineRegions" (o come vuoi)
4) Fare clic con il tasto destro del mouse su "OutlineRegions" (mostrando su Macro Explorer) selezionare l'opzione "Modifica" e incollare il seguente codice VB:
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) Salvare la macro e chiudere l'editor.
6) Ora assegniamo il collegamento alla macro. Vai su Strumenti-> Opzioni-> Ambiente-> Tastiera e cerca la tua macro nella casella di testo "mostra comandi contenenti" (Digita: Macro nella casella di testo, suggerirà il nome della macro, scegli il tuo.)
7) ora nella casella di testo sotto "Premere i tasti di scelta rapida" è possibile inserire il collegamento desiderato. 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:
This code seems to be for Visual Basic.NET
che suggerirebbe che l'IDE sia Visual Studio
.
#region
e#endregion