Java équivalent à #Region en C #
Question
Je veux utiliser des régions pour le pliage de code Eclipse ; comment cela peut être fait en Java?
Un exemple d'utilisation dans C # :
#region name
//code
#endregion
La solution
Il n'y a pas comme standard équivalent. Certains IDEs - Intellij, par exemple, ou Eclipse -. Peuvent se replier en fonction des types de codes concernés (constructeurs, importations, etc.), mais il n'y a rien comme #region
Autres conseils
JetBrains IDEA a cette fonction. Vous pouvez utiliser surround avec pour ce raccourci clavier (Ctrl + alt + T). Il est juste fonction IDEA.
Régions regardent là comme ceci:
//region Description
Some code
//endregion
Avec Android studio, essayez ceci:
//region VARIABLES
private String _sMyVar1;
private String _sMyVar2;
//endregion
Attention: pas de ligne vide après // région ...
Et vous obtiendrez:
Pas d'équivalent dans la langue ... Basé sur ... IDEs
Par exemple, dans NetBeans:
NetBeans / Creator prend en charge cette syntaxe:
// <editor-fold defaultstate="collapsed" desc="Your Fold Comment">
...
// </editor-fold>
Pour Eclipse IDE plugin café-Bytes peut le faire, lien de téléchargement est ici .
EDIT:
Le code personnalisé fonction de pliage peut être ajouté à éclipser en utilisant le plugin de pliage de code CoffeeScript.
Ceci est testé pour fonctionner avec Eclipse Luna et Juno. Voici les étapes
-
Téléchargez le plugin de ici
-
Extraire le contenu de l'archive
- Copier coller le contenu du plug-in et dispose dossier dans le même dossier nommé dans le répertoire d'installation Eclipse
- Redémarrez l'éclipse
-
Naviguer
Window >Preferences >Java >Editor >Folding >Select folding to use: Coffee Bytes Java >General tab >Tick checkboxes in front of User Defined Fold
-
Créer nouvelle région comme le montre:
-
Redémarrez l'Eclipse.
-
Essayez si le pliage fonctionne avec des commentaires préfixées avec départ spécifié et se terminant identifiants
Vous pouvez télécharger archiver et trouver des mesures à ce Blog aussi.
Ceci est plus d'une caractéristique IDE qu'une fonctionnalité de langage. Netbeans vous permet de définir vos propres définitions de pliage en utilisant la définition suivante :
// <editor-fold defaultstate="collapsed" desc="user-description">
...any code...
// </editor-fold>
Comme il est indiqué dans l'article, cela peut être pris en charge par d'autres éditeurs aussi, mais il n'y a aucune garantie.
le moyen le plus rapide dans
Android Studio
(ouIntelliJ IDEA
)
-
highlight the code
vous voulez entourer - appuyez sur
ctrl
+alt
+t
- appuyez sur
c
==> puis entrez la description - profiter
région AndroidStudio
Créer région
Première , trouver (et définir raccourci si nécessaire) pour le menu Surround With
Ensuite , sélectionnez le code, appuyez sur Ctrl+Alt+Semicolon
-> choisir region..endregion...
Aller à la région
Tout d'abord, trouver Custom Folding
raccourci
En second lieu, où que vous soyez dans votre code, appuyez sur Ctrl+Alt+Period('>' on keyboard)
Contrairement à ce que la plupart des messages, ce n'est pas une chose IDE. Il est une chose de langue. Le #region est une déclaration C #.
La meilleure façon
//region DESCRIPTION_REGION
int x = 22;
// Comments
String s = "SomeString";
//endregion;
Astuce: Mettez ";" à la fin de la « endregion »
Je viens de C ont été # java et eu le même problème et la meilleure alternative pour et exacte région est quelque chose comme ci-dessous (travaillant dans Android Studio ne sais pas à propos IntelliJ):
//region [Description]
int a;
int b;
int c;
//endregion
le raccourci est comme ci-dessous:
1- sélectionner le code
2- presse ctrl
+ + alt
t
3- appuyez sur c
et écrire votre description
Si quelqu'un est intéressé, dans Eclipse, vous pouvez réduire vos méthodes, etc en une seule fois, juste un clic droit lorsque vous auriez normalement insérer un point de rupture, cliquez sur « pliant »> « Réduire tout ». Il sait qu'il n'est pas une réponse à la question, mais simplement fournir une alternative au pliage de code rapide.
#region
// code
#endregion
Vraiment ne vous fait aucun avantage dans l'EDI. Avec Java, il n'y a pas de norme établie dans l'IDE, donc il n'y a vraiment pas de norme parallèle à #region
.
J'ai besoin habituellement ce pour le code commenté donc j'utiliser des accolades au début et à la fin de cela.
{
// Code
// Code
// Code
// Code
}
Il pourrait être utilisé pour des extraits de code, mais peut créer des problèmes dans un code, car il modifie la portée de la variable.
En fait johann, le #
indique qu'il est une directive préprocesseur, ce qui signifie, fondamentalement, il raconte l'IDE ce qu'il faut faire.
Dans le cas d'utilisation #region
et #endregion
dans votre code, il ne fait aucune différence dans le code final que ce soit là ou non. Pouvez-vous appeler vraiment un élément de langage si vous utilisez cela ne change rien?
En dehors de cela, java ne pas les directives de préprocesseur, ce qui signifie que l'option de pliage de code est défini sur un, dans NetBeans par exemple avec un //
Dans Eclipse, vous pouvez réduire les supports d'emballage bloc région variable. Le plus proche est de faire quelque chose comme ceci:
public class counter_class
{
{ // Region
int variable = 0;
}
}
Il suffit d'installer et activer le plugin café-octets (Eclipse)
Il y a une option pour obtenir le même, suivez les points ci-dessous.
1) Ouvrez l'Explorateur Macro:
2) Créer un nouveau macro:
3) dénomme "OutlineRegions" (Ou tout ce que vous voulez)
4) Cliquez droit sur le « OutlineRegions » (affichage sur l'Explorateur de macros) sélectionnez l'option « Modifier » et coller le code VB suivant dans le:
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) Enregistrez la macro et fermez l'éditeur.
6) Maintenant, nous allons Allouer raccourci à la macro. Outils-> Options-> Environnement-> Clavier et recherchez votre macro dans « commandes show contenant » zone de texte (Type:. Macro dans la zone de texte, il suggérera le nom de macros, choisissez le vôtre un)
7) maintenant en zone de texte sous les « touches de raccourci de presse » vous pouvez saisir le raccourci de votre choix. J'utilise Ctrl + M + N.
Utilisation:
return
{
//Properties
//#region
Name:null,
Address:null
//#endregion
}
8) Appuyez sur la touche de raccourci enregistrée
Voir ci-dessous résultat: