J'ai rejoint la fête tard. Je suis d'accord avec IKashef qu'il existe d'autres options que la réponse actuellement sélectionnée. La réponse de Yaqub Ahmad m'a sauvé la vie. Je n'avais pas besoin de télécharger Intellig IDE. J'ai téléchargé le plugin CoffeeBytes mentionné à partir du commentaire de cking24343, j'ai appliqué la configuration de 'null n void' et j'ai bien fonctionné dans Luna. Vous devez redémarrer après avoir appliqué la configuration
Maximus Decimus
3
commencer //region [Description] et terminer avec//endregion
Amir Ziarati
Réponses:
216
Il n'y a pas d' équivalent standard . Certains IDE - Intellij, par exemple, ou Eclipse - peuvent se plier en fonction des types de code impliqués (constructeurs, importations, etc.), mais il n'y a rien de tel #region.
En fait, cela peut être réalisé. Si vous faites défiler vers le bas sur ce post "Yaqub Ahmad" explique comment obtenir cette fonctionnalité. Voici également un lien ( kosiara87.blogspot.com/2011/12/… ) qui vous montre comment l'ajouter à votre environnement d'éclipse existant ... extrêmement utile!
cking24343
14
Sûr. Mais il n'y a rien de standard . Il est exécuté dans des IDE plutôt que d'avoir une construction de langage (ou de texte)
Brian Agnew
2
@lKashef - alors quel est alors l' équivalent standard ? Tout ce qui est noté ci-dessous concerne un IDE particulier, n'est-ce pas?
Brian Agnew
4
@BrianAgnew, l'OP n'a rien mentionné au sujet des normes au lieu de cela, il veut juste pouvoir avoir des blocs de type régions dans son code. Par exemple, vous avez dit "mais rien de tel que #region". dans IDEA par exemple // region .. // endregion fonctionne exactement comme #region. Il n'y a aucun moyen standard de le faire du tout, car cela dépend de l'IDE lui-même ou d'un plugin. Les développeurs ayant des antécédents Microsoft verront toujours MS Visual Studio comme "l'" IDE, mais en fait ce n'est qu'une des options et un autre IDE peut ou non implémenter une telle fonctionnalité.
Mazen Elkashef
4
@BrianAgnew, j'ai presque abandonné jusqu'à ce que je voie les réponses des autres qui ont aidé plus que les vôtres. Sérieusement pas de ressentiment ici, nous sommes tous ici pour apprendre et partager nos connaissances et je déclare que ma réponse m'a induit en erreur, peut-être que c'était une bonne réponse en 2010 mais pas aujourd'hui. J'espère que vous comprenez mon point.
Mazen Elkashef
476
Jet Brains IDEA a cette fonctionnalité. Vous pouvez utiliser le raccourci clavier surround pour cela (ctrl + alt + T). C'est juste une fonctionnalité IDEA.
passait par toutes les réponses et pensait qu'Android Studio est basé sur IntelliJ, cela doit être pris en charge. bonne chose à signaler cependant!
serine
5
bummi, je l'ai essayé en 0.4.2 avec une ligne vierge et fonctionne toujours
serine
2
Juste un commentaire / conseil (et en aucun cas une réponse à votre question). Il est largement admis que les régions doivent être évitées, car elles vous permettent de masquer la complexité des classes au lieu de travailler sur votre style de codage. Au lieu d'énormes classes, où chaque classe est responsable de beaucoup de fonctionnalités, travaillez plutôt à diviser votre code en classes plus petites. Cela rendra votre code plus facile à gérer au fil du temps. En savoir plus ici: blog.codinghorror.com/the-problem-with-code-folding
Daniel Saidi
5
@DanielSaidi oh, l'horreur! :) le gars dans l'article " Je ne vois rien! Je dois développer manuellement ces sections pour parcourir le code de cette classe. " ... donc parce qu'il est trop paresseux pour appuyer sur une touche (qui développerait tout sections du fichier), la fonctionnalité ne doit pas être utilisée - c'est une fonctionnalité super merveilleuse. En ce moment, je l'utilise pour masquer une à une les méthodes que j'ai vérifiées et qui sont thread-safe dans la classe sur laquelle je travaille, cela aide vraiment à rester organisé. Je pensais qu'il était là, mais c'est un petit prix à payer ...
ycomp
4
@DanielSaidi Il ne s'agit pas de masquer la complexité mais de masquer le code banal tel que les déclarations de variables, les getters, le code d'initialisation, etc. Notez également que vous n'avez PAS besoin de #regions pour réduire le "code complexe" trouvé dans les fonctions et les classes. Le boeuf avec des programmeurs utilisant un outil de manière incorrecte ne revient pas à "l'outil est mauvais".
user1567453
96
Pas d'équivalent dans la langue ... Basé sur les IDE ...
Même si ce n'est pas un pliage spécifique à une langue, il m'a quand même aidé dans NetBeans. Exactement ce que je voulais réaliser. Je veux juste que mon code soit plus pratique et organisé pour moi.
Indigo
Y a-t-il un raccourci qui peut remplir automatiquement cette ligne?
@JadChahine: L'OP a posé des questions sur Eclipse, mais convenez que cela fonctionne bien pour NetBeans. La syntaxe est un peu maladroite mais le copier-coller le rend assez facile.
Copiez collez le contenu du dossier du plugin et des fonctionnalités dans le même dossier nommé dans le répertoire d'installation d'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éez une nouvelle région comme indiqué:
Redémarrez Eclipse.
Essayez si le pliage fonctionne avec des commentaires préfixés avec des identificateurs de début et de fin spécifiés
Vous pouvez également télécharger des archives et trouver des étapes sur ce blog .
ne fonctionne pas pour moi sur eclipse neon: le copier-coller n'a rien fait: la seule chose qui a changé était sous marketplace >> plugins installés >> mise à jour. J'ai mis à jour le plugin coffeeScript, mais je n'ai pas obtenu l'option "Sélectionner le pliage à utiliser" sous java >> éditeur >> pliage
Angelo Oparah
Cela a fonctionné dans l'oxygène Eclipse, mais vous devez redémarrer l'éclipse à nouveau. L'icône qui m'a été affichée était une icône rouge, j'ai donc changé de configuration, Fenêtre → Préférence → Java → Éditeur → Pliage, cliquez sur l' onglet Avancé et changez le thème de l'icône défini sur Moderne
Dans Android studio, au moins, vous ne pouvez pas plier une partie d'un bloc. Si la spécification de pliage commence à l'extérieur d'un bloc et se termine à l'intérieur d'un bloc, elle ne s'activera pas.
Prof Von Lemongargle
30
le moyen le plus rapide Android Studio(ou IntelliJ IDEA)
Ce que la plupart affichent, c'est qu'en JAVA, c'est une fonctionnalité IDE.
WhyNotHugo
1
Je vois les 2 réponses les plus populaires disant qu'il n'y a pas une telle fonctionnalité de langue. -1.
Mohayemin
23
En C #, c'est en partie IDE, en partie langage. Le langage prend en charge les directives du préprocesseur, mais le préprocesseur les ignore simplement (de la même manière que le processeur ignore les commentaires). L'IDE (Visual Studio) les utilise pour effectuer le pliage de code.
ADTC
Java n'a pas spécifié de pliage de code que l'IDE (Netbeans) a, Netbeans a plus de commentaires spéciaux comme "TODO" et plus encore. Ils sont très utiles pour suivre vos progrès à travers le processus de développement de projet SW
Pini Cheyni
17
Je venais de C # vers java et j'ai eu le même problème et l'alternative la meilleure et exacte pour la région est quelque chose comme ci-dessous (travaillant dans Android Studio, je ne sais pas sur intelliJ):
Dans la version 2.3.1 d'AndroidStudio, il se plie. Je ne sais pas quand ça a commencé à plier.
MiguelSlv
Merci. Fonctionne parfaitement dans Android Studio 3.0 beta 2. Par curiosité, j'ai essayé dans Eclipse Oxygen, cela ne fonctionne pas par défaut mais n'a pas cherché plus loin.
Laurent
15
Le meilleur moyen
//region DESCRIPTION_REGIONint x =22;// CommentsString s ="SomeString";//endregion;
eclipse ne plie pas le code, quel IDE utilisez-vous?
Ohad Cohen
Il fonctionne avec Android Studio et IntelliJ IDEA (les deux sont fabriqués à partir de la même base de code par JetBrains)
prashu132
IDE
signifie
12
Si quelqu'un est intéressé, dans Eclipse, vous pouvez réduire toutes vos méthodes, etc. en une seule fois, faites un clic droit lorsque vous insérez normalement un point d'arrêt, cliquez sur 'Pliage'> 'Tout replier'. Il sait que ce n'est pas une réponse à la question, mais simplement une alternative au pliage de code rapide.
Vous pouvez également demander à Eclipse de tout réduire automatiquement lors de l'ouverture d'un fichier de code source. Préférences> Java> Editeur> Pliage> "Plier initialement ces éléments" (cochez tout dans la liste). Je trouve pratique de me concentrer uniquement sur ce dont j'ai besoin, en particulier dans les fichiers de code source longs.
ADTC
@ADTC - Merci - tant de centaines de fois que je l'ai fait manuellement chaque fois que j'ouvre un fichier - plus jamais !!
ToolmakerSteve
@ToolmakerSteve Si vous pouvez faire quelque chose de répétitif manuellement sur un ordinateur, il doit juste y avoir un moyen de l'automatiser. = D
ADTC
8
#region// code#endregion
Vous n'obtenez vraiment aucun avantage dans l'IDE. Avec Java, il n'y a pas de norme définie dans l'IDE, donc il n'y a vraiment pas de norme parallèle à #region.
Eh bien, s'il existe une norme region, alors nous pouvons être sûrs que les IDE java prendront en charge, n'est-ce pas?
Pacerier
@Pacerier s'ils soutiennent cette norme, oui. Je pense que #region est plus une fonctionnalité IDE qu'une norme. En théorie, les IDE java pourraient implémenter ce comportement et en faire une norme de facto
En fait, johann, le #indique qu'il s'agit d'une directive de préprocesseur, ce qui signifie essentiellement qu'il indique à l'EDI quoi faire.
Dans le cas de l'utilisation #regionet #endregionde votre code, cela ne fait AUCUNE différence dans le code final, qu'il soit là ou non. Pouvez-vous vraiment l'appeler un élément de langage si son utilisation ne change rien?
En dehors de cela, java n'a pas de directives de préprocesseur, ce qui signifie que l'option de pliage de code est définie sur une base par idée, dans les netbeans par exemple avec une instruction // <code-fold>
pouvez-vous vraiment l'appeler un élément de langage si son utilisation ne change rien? - que diriez-vous des commentaires?!
epeleg
2
J'ai entendu l'argument avant que ce n'est pas une fonction de la langue. Et cette question "Pouvez-vous vraiment l'appeler un élément de langage si son utilisation ne change rien?" est ridicule. La refactorisation de beaucoup de temps rend le code plus facile à lire pour les humains et ne fait rien (espérons-le) pour avoir un impact sur la fonction du code.
Menefee
1
Sur Mac et Android Studio, suivez cette séquence:
Mettez en surbrillance le code source à plier
Appuyez sur Alt+ Command+t
Sélectionner <editor-fold>
Vous pouvez également sélectionner d'autres options:
C'est inutile. Cela ne fonctionne pas à l'intérieur d'une méthode, en plus il CASSE LE CODE! (Les variables privées se plaindront qu'elles veulent être définitives. La variable sans définition de portée ne sera pas accessible en dehors des crochets intérieurs!)
ADTC
1
Je n'aime pas cette méthode, ajoute trop d'accolades. Cela peut conduire à une confusion du code :(
Broken_Window
-3
Il suffit d'installer et d'activer le plug-in Coffee-Bytes (Eclipse)
Non seulement cela est mentionné dans une réponse précédente , mais vous n'avez même pas fourni d'informations utiles à ce sujet.
Xynariz
-12
Il existe une option pour obtenir le même résultat, suivez les points ci-dessous.
1) Ouvrez l'explorateur de macros:
2) Créez une nouvelle macro:
3) Nommez-le "OutlineRegions" (ou tout ce que vous voulez)
4) Faites un clic droit sur les "OutlineRegions" (affichage sur Macro Explorer) sélectionnez l'option "Modifier" et collez-y le code VB suivant:
ImportsSystemImportsEnvDTEImportsEnvDTE80ImportsEnvDTE90ImportsEnvDTE90aImportsEnvDTE100ImportsSystem.DiagnosticsImportsSystem.CollectionsPublicModuleOutlineRegionsSubOutlineRegions()Dim selection AsEnvDTE.TextSelection= DTE.ActiveDocument.SelectionConst REGION_START AsString="//#region"Const REGION_END AsString="//#endregion"
selection.SelectAll()Dim text AsString= selection.Text
selection.StartOfDocument(True)Dim startIndex AsIntegerDim endIndex AsIntegerDim lastIndex AsInteger=0Dim startRegions AsStack=NewStack()Do
startIndex = text.IndexOf(REGION_START, lastIndex)
endIndex = text.IndexOf(REGION_END, lastIndex)If startIndex =-1AndAlso endIndex =-1ThenExitDoEndIfIf startIndex <>-1AndAlso startIndex < endIndex Then
startRegions.Push(startIndex)
lastIndex = startIndex +1Else' 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) Attribuons maintenant un raccourci à la macro. Allez dans Outils-> Options-> Environnement-> Clavier et recherchez votre macro dans la zone de texte "afficher les commandes contenant" (Type: Macro dans la zone de texte, il suggérera le nom des macros, choisissez le vôtre.)
7) maintenant dans la zone de texte sous "Appuyez sur les touches de raccourci", vous pouvez entrer le raccourci souhaité. J'utilise Ctrl + M + N.
//region [Description]
et terminer avec//endregion
Réponses:
Il n'y a pas d' équivalent standard . Certains IDE - Intellij, par exemple, ou Eclipse - peuvent se plier en fonction des types de code impliqués (constructeurs, importations, etc.), mais il n'y a rien de tel
#region
.la source
Jet Brains IDEA a cette fonctionnalité. Vous pouvez utiliser le raccourci clavier surround pour cela (ctrl + alt + T). C'est juste une fonctionnalité IDEA.
Les régions ressemblent à ceci:
la source
Avec Android Studio, essayez ceci:
Attention: pas de ligne vide après // région ...
Et vous obtiendrez:
la source
Pas d'équivalent dans la langue ... Basé sur les IDE ...
Par exemple dans les netbeans:
NetBeans / Creator prend en charge cette syntaxe:
http://forums.java.net/jive/thread.jspa?threadID=1311
la source
Pour Eclipse IDE, le plugin Coffee-Bytes peut le faire, le lien de téléchargement est ici .
ÉDITER:
Les dernières informations sur les octets de café sont ici .
la source
La fonction de pliage de code personnalisé peut être ajoutée à éclipse à l'aide du plug-in de pliage de code CoffeeScript.
Ceci est testé pour fonctionner avec eclipse Luna et Juno. Voici les étapes
Téléchargez le plugin ici
Extraire le contenu de l'archive
Naviguer
Window >Preferences >Java >Editor >Folding >Select folding to use: Coffee Bytes Java >General tab >Tick checkboxes in front of User Defined Fold
Créez une nouvelle région comme indiqué:
Redémarrez Eclipse.
Essayez si le pliage fonctionne avec des commentaires préfixés avec des identificateurs de début et de fin spécifiés
Vous pouvez également télécharger des archives et trouver des étapes sur ce blog .
la source
Il s'agit plus d'une fonction IDE que d'une fonction de langue. Netbeans vous permet de définir vos propres définitions de pliage en utilisant la définition suivante:
Comme indiqué dans l'article, cela peut également être pris en charge par d'autres éditeurs, mais il n'y a aucune garantie.
la source
highlight the code
tu veux l'entourerctrl
+alt
+t
c
==> puis entrez la descriptionla source
AndroidStudio
régionCréer une région
Tout d'abord , trouvez (et définissez un raccourci si besoin) pour le
Surround With
menuEnsuite , sélectionnez le code, appuyez sur
Ctrl+Alt+Semicolon
-> choisissezregion..endregion...
Aller à la région
Tout d'abord, trouvez
Custom Folding
un raccourciDeuxièmement, de n'importe où dans votre code, appuyez sur
Ctrl+Alt+Period('>' on keyboard)
la source
Contrairement à ce que la plupart publient, ce n'est PAS une chose IDE. C'est une affaire de langage. La #region est une instruction C #.
la source
Je venais de C # vers java et j'ai eu le même problème et l'alternative la meilleure et exacte pour la région est quelque chose comme ci-dessous (travaillant dans Android Studio, je ne sais pas sur intelliJ):
le raccourci est comme ci-dessous:
1- sélectionnez le code
2- appuyez sur
ctrl
+alt
+t
3- Appuyez
c
et écrivez votre descriptionla source
Le meilleur moyen
Astuce: mettez ";" à la fin de la "endregion"
la source
Si quelqu'un est intéressé, dans Eclipse, vous pouvez réduire toutes vos méthodes, etc. en une seule fois, faites un clic droit lorsque vous insérez normalement un point d'arrêt, cliquez sur 'Pliage'> 'Tout replier'. Il sait que ce n'est pas une réponse à la question, mais simplement une alternative au pliage de code rapide.
la source
Vous n'obtenez vraiment aucun avantage dans l'IDE. Avec Java, il n'y a pas de norme définie dans l'IDE, donc il n'y a vraiment pas de norme parallèle à
#region
.la source
region
, alors nous pouvons être sûrs que les IDE java prendront en charge, n'est-ce pas?Voici un exemple:
100% fonctionne dans le studio Android
la source
J'ai généralement besoin de cela pour le code commenté, j'utilise donc des accolades au début et à la fin de cela.
Il peut être utilisé pour les extraits de code mais peut créer des problèmes dans du code car il modifie la portée de la variable.
la source
En fait, johann, le
#
indique qu'il s'agit d'une directive de préprocesseur, ce qui signifie essentiellement qu'il indique à l'EDI quoi faire.Dans le cas de l'utilisation
#region
et#endregion
de votre code, cela ne fait AUCUNE différence dans le code final, qu'il soit là ou non. Pouvez-vous vraiment l'appeler un élément de langage si son utilisation ne change rien?En dehors de cela, java n'a pas de directives de préprocesseur, ce qui signifie que l'option de pliage de code est définie sur une base par idée, dans les netbeans par exemple avec une instruction // <code-fold>
la source
Sur Mac et Android Studio, suivez cette séquence:
<editor-fold>
Vous pouvez également sélectionner d'autres options:
la source
Dans Eclipse, vous pouvez réduire le bloc de région variable enveloppant les crochets. Le plus proche est de faire quelque chose comme ça:
la source
Il suffit d'installer et d'activer le plug-in Coffee-Bytes (Eclipse)
la source
Il existe une option pour obtenir le même résultat, suivez les points ci-dessous.
1) Ouvrez l'explorateur de macros:
2) Créez une nouvelle macro:
3) Nommez-le "OutlineRegions" (ou tout ce que vous voulez)
4) Faites un clic droit sur les "OutlineRegions" (affichage sur Macro Explorer) sélectionnez l'option "Modifier" et collez-y le code VB suivant:
5) Enregistrez la macro et fermez l'éditeur.
6) Attribuons maintenant un raccourci à la macro. Allez dans Outils-> Options-> Environnement-> Clavier et recherchez votre macro dans la zone de texte "afficher les commandes contenant" (Type: Macro dans la zone de texte, il suggérera le nom des macros, choisissez le vôtre.)
7) maintenant dans la zone de texte sous "Appuyez sur les touches de raccourci", vous pouvez entrer le raccourci souhaité. J'utilise Ctrl + M + N.
Utilisation:
8) Appuyez sur la touche de raccourci enregistrée
Voir résultat ci-dessous:
la source
This code seems to be for Visual Basic.NET
ce qui suggère que l'EDI l'estVisual Studio
.#region
et#endregion