Java equivalente a #Region in C #
Domanda
Vorrei utilizzare le regioni per il codice pieghevole in Eclipse ; come può essere fatto in Java?
Un esempio d'uso in C # :
#region name
//code
#endregion
Soluzione
Non esiste una standard equivalente. Alcuni IDE - Intellij, per esempio, o Eclipse -. Possono piegare a seconda dei tipi di codice coinvolti (costruttori, importazioni, ecc), ma non c'è niente di meglio #region
Altri suggerimenti
Jetbrains IDEA ha questa caratteristica. È possibile utilizzare hotkey surround per quella (Ctrl + Alt + T). E 'solo funzione di IDEA.
Regioni ci appaiono così:
//region Description
Some code
//endregion
Con Android Studio, provate questo:
//region VARIABLES
private String _sMyVar1;
private String _sMyVar2;
//endregion
Attenzione: senza riga vuota dopo // regione ...
E si otterrà:
No equivalente nella lingua ... Sulla base di IDE ...
Ad esempio in NetBeans:
NetBeans / Creator supporta questa sintassi:
// <editor-fold defaultstate="collapsed" desc="Your Fold Comment">
...
// </editor-fold>
Per Eclipse IDE il plugin Coffee-Bytes può farlo, link per il download è qui .
Modifica
Il codice personalizzato caratteristica pieghevole può essere aggiunto a eclissare utilizzando il codice CoffeeScript plug pieghevole.
Questa è testato per funzionare con eclissi di Luna e Giunone. Ecco i passaggi
-
Scarica il plugin da qui
-
Estrarre il contenuto del archivio
- Copia incollare il contenuto del plugin e caratteristiche cartella nella stessa cartella denominata all'interno della directory di installazione di Eclipse
- Riavviare l'eclisse
-
Navigazione
Window >Preferences >Java >Editor >Folding >Select folding to use: Coffee Bytes Java >General tab >Tick checkboxes in front of User Defined Fold
-
Crea nuova regione come mostrato:
-
Riavviare l'Eclipse.
-
Prova se pieghevole opere con i commenti con il prefisso di partenza specificato e termina identificatori
È possibile scaricare archivio e trovare passaggi in questo Blog anche.
Questo è più di una caratteristica IDE che una caratteristica del linguaggio. Netbeans consente di definire i propri definizioni pieghevoli utilizzando la seguente definizione :
// <editor-fold defaultstate="collapsed" desc="user-description">
...any code...
// </editor-fold>
Come notato in questo articolo, questo può essere supportato da altri editor anche, ma non ci sono garanzie.
il modo più veloce in
Android Studio
(oIntelliJ IDEA
)
-
highlight the code
volete circondarla - premere
ctrl
+alt
+t
- premere
c
==> poi inserire la descrizione - godere
regione AndroidStudio
Crea regione
prima , trovare (e definiscono scorciatoia se bisogno) per il menu Surround With
Poi , selezionare il codice, premere Ctrl+Alt+Semicolon
-> scegliere region..endregion...
Vai a regione
In primo luogo, trovare Custom Folding
scorciatoia
In secondo luogo, da qualsiasi punto del codice, premere Ctrl+Alt+Period('>' on keyboard)
Al contrario di quanto la maggior parte sono inviando, questa non è una cosa IDE. E 'una cosa di lingua. Il #Region è una dichiarazione C #.
Il modo migliore
//region DESCRIPTION_REGION
int x = 22;
// Comments
String s = "SomeString";
//endregion;
Suggerimento: Put ";" alla fine della "endRegion"
I venivano da C # a Java e avuto lo stesso problema e la migliore e precisa alternativa per regione è qualcosa di simile al di sotto (che lavorano in Android Studio, Non so circa IntelliJ):
//region [Description]
int a;
int b;
int c;
//endregion
la scorciatoia è come qui di seguito:
1- selezionare il codice
2- Premere ctrl
+ alt
+ t
3- Premere c
e scrivi la tua descrizione
Se qualcuno è interessato, in Eclipse è possibile comprimere tutti i vostri metodi, ecc in un colpo solo, basta fare clic destro quando che normalmente si inserisce un punto di rottura, clicca 'pieghevole'> 'Chiudi tutto'. E so che non è una risposta alla domanda, ma solo fornendo un'alternativa alla piegatura codice rapido.
#region
// code
#endregion
In realtà si ottiene solo alcun beneficio nell'IDE. Con Java, non c'è alcuna norma insieme a IDE, quindi non c'è davvero alcun standard parallelo al #region
.
Io di solito bisogno di questo per il codice commentato cui uso parentesi graffe all'inizio e alla fine dello stesso.
{
// Code
// Code
// Code
// Code
}
Potrebbe essere usato per frammenti di codice, ma può creare problemi in un certo codice, perché cambia la portata delle variabili.
In realtà Johann, il #
indica che si tratta di una direttiva del preprocessore, che in pratica significa racconta l'IDE cosa fare.
Nel caso di utilizzo di #region
e #endregion
nel codice, non fa alcuna differenza nel codice finale se è o no. Si può davvero chiamare un elemento del linguaggio se si utilizza non cambia nulla?
Oltre a questo, Java non ha direttive del preprocessore, cioè la possibilità di ripiegamento del codice è definita su una base per-ide, in netbeans per esempio con un //
In Eclipse è possibile comprimere le staffe avvolgenti blocco regione variabile. Il più vicino è quello di fare qualcosa di simile:
public class counter_class
{
{ // Region
int variable = 0;
}
}
Basta installare e attivare plug-caffè-Bytes (Eclipse)
C'è qualche opzione per ottenere lo stesso, i seguenti passaggi.
1) Aprire Esplora macro:
2) Creare nuova macro:
3) il nome "OutlineRegions" (o quello che volete)
4) tasto destro del mouse su "OutlineRegions" (Mostra su Esplora macro) selezionare l'opzione "Modifica" e incollare il seguente codice VB in esso:
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 diamo assegnare scelta rapida alla macro. Vai a Strumenti> Opzioni> Ambiente-> Tastiera e cercare la macro in "comandi show contenenti" testo (tipo:. Macro nella casella di testo, si suggerisce il nome macro, Scegli il tuo uno)
7) ora nel testo sotto il "tasti di scelta rapida Premere" è possibile inserire il collegamento desiderato. Io uso Ctrl + M + N.
Usa:
return
{
//Properties
//#region
Name:null,
Address:null
//#endregion
}
8) Premere il tasto di scelta rapida salvato
Vedere di seguito risultato: