web-dev-qa-db-fra.com

Sublime Text 2 a-t-il la possibilité de créer un code de région similaire à Visual Studio?

Dans Visual Studio, vous pouvez réduire d’énormes morceaux de code à l’aide de régions. ils entourent essentiellement le code et le minimisent dans la fenêtre.

Sublime a-t-il une fonctionnalité similaire à celle-ci?

23
piperchester

Par défaut, vous pouvez sélectionner du code allant à Edit > Code Folding > Fold.. De nombreux plugins exploitent l’API de pliage de code pour plus d’options.

20
BoundinCode

Le site officiel demande à "demander des fonctionnalités" ici .

Mais apparemment:

Pour votre information, Jon a déclaré que cela n’était pas possible dans la mise en œuvre actuelle du contrôle de l’éditeur . On dirait que nous attendons les gars de V3 .

Jon est le programmeur de Sublime Text 2.

Il pourrait y avoir un moyen de le simuler en créant un plugin qui recherche des marqueurs et supprime la région de code située entre les marqueurs, mais cela n’aurait probablement pas une belle apparence. Avec l'API actuelle, c'est probablement votre meilleur pari!

Soit dit en passant, il y a some le code se repliant dans Sublime Text, si vous passez la souris à côté du numéro de la ligne, des flèches apparaissent lorsque vous pouvez le plier/déplier.

10
emartel

J'ai fini par utiliser des balises de commentaire personnalisées, en retrait d'un niveau de moins que le code que je veux plier. Il ne semble pas mieux, même si cela sert son objectif .

class Foobar {
    // ...some code

// <fold
    function foo() {
    }
    function bar() {
    }
// </fold

    // more code...
}

Ceci (pour le moment) se plie à:

class Foobar {
    // ...some code

// <fold[...]
// </fold

    // more code...
}

Avoir un support natif ST2 pour cela serait bien.

10
rdamborsky

Ceci regarde ce que vous recherchez. Vous pouvez définir des balises pour #region et #endregion pour chaque langue, ou une balise générique pour toutes.

4
Adrian Lopez

Si vous êtes obsédé par l'intention, cette solution peut vous mettre mal à l'aise, mais voilà, il était une fois, alors que j'écrivais un plugin semi-complexe jQuery, j'avais des constantes, des variables, des sections de fonctions privées et publiques et des repli ;

;(function($, undefined, window) {...

/* Consts */

    var FOO = "BAR";

/* Variables */

    var m_Foo = "bar";

/* Functions */

    /* Public Functions */

        function foo() {...}

        function bar() {...}

    /* Private Functions */

        function _foo() {...}

        function _bar() {...}

})(jQuery, window);

Comme vous pouvez le voir, tout est une question d'intention. Les sections peuvent être pliées; Consts, Variables, Functions. Et aussi à l'intérieur de la section Functions, Public Functions et Private Functions sont tous deux pliables.

Vous pouvez également utiliser un commentaire de ligne (//) pour nommer votre pli. Donc l'idée ci-dessous est simple; ST2 pense que les lignes les plus prévues appartiennent au premier commentaire moins prévu situé au-dessus d’elles, comme les compilateurs C/C++, qui gèrent les crochets comme des blocs de code uniques.

3
ozanmuyes

Тобы свернуть код, выбирите код и нажмите

ctrl+shift+[

Тобы развернуть код, поместите курсор туда и нажмите

ctrl+shift+]

2
Virendra Singh

Je pense que, comme moi, le PO a fini par apprécier une caractéristique peu connue du VS appeléerégionsqui équivaut beaucoup au pliage de code, mais qui est loin plus puissant et plus puissant, a précisé Dio Phung. la réponse que je voulais, et je suppose que le PO voulait, mais il n'a pas partagé en tant que réponse, alors la voici.

La différence entre le "pliage de code" tel qu'il est fourni dans Sublime Text est qu'il est basé sur la syntaxe code/compilateur tandis que "régions" et ce que fait ce plugin vous permettent une liberté infiniment plus grande, bien que ce soit une liberté qui dépend plus ou moins de la Le code que vous utilisez pour commencer (profondément imbriqué ou correctement modularisé).

Si vous êtes sur Sublime Text 3, voici un plugin qui peut le faire: github.com/jamalsenouci/sublimetext-syntaxfold - Dio Phung

0
rainabba