Question

Il y a plusieurs questions sur SO sur la façon d'obtenir le code de pliage en emacs, sans avoir à ajouter des caractères spéciaux comme « marqueurs » dans les commentaires par exemple. Quelqu'un a dit qu'il n'y avait « pas de solution parfaite. »
Il semble que cela pourrait être fait en analysant la source du programme en cours d'écriture et de chercher des parenthèses correspondant ou un support, ou de le faire en fonction de l'indentation. Vous pouvez également utiliser une combinaison de scripts qui utilisent des méthodes différentes.
Alors, pourquoi est-il communément admis qu'il n'y a pas « parfait » et simple façon d'obtenir le code-pliage eMac? Y at-il quelque chose dans emacs ou son architecture qui le rend difficile à programmer? S'il était facile, après tant d'années de gens intelligents utilisant emacs on pourrait penser que quelqu'un aurait écrit.

Était-ce utile?

La solution

Vous devez jouer avec MasquerVoir ( hs-minor-mode ) combiné avec fold-dwim.el . Il fait exactement ce que vous suggérez - cherche correspondant à des accolades / parens, et peut être mis en place pour se replier sur l'empreinte.

Il y a une solution de pliage solide là-bas pour des langues les plus courantes, et s'il n'y a pas, tous les paquets de pliage sont hautement personnalisables. En fait, le seul inconvénient est la prolifération des méthodes de pliage (fold-dwim aide un peu avec cela); Je pensais que, parce que personne ne pouvait me pointer vers une solution définitive, pliage était difficile, voire impossible, - en fait, le contraire est vrai. Il vous suffit d'expérimenter un peu pour voir ce qui fonctionne le mieux pour vous.

Je l'ai utilisé folding.el (par exemple pour farcir un groupe dans mon .emacs), outline-minor-mode, et maintenant MasquerVoir. Il y a une chance qu'aucun d'entre eux ne fonctionnerait exactement comme vous voulez dès la sortie de la boîte (par exemple, vous pourriez avoir besoin de mettre en place un regex contour, ou définir des marques de pliage pour folding.el), mais il se révèle être facile. Les raccourcis clavier par défaut peuvent être quelque peu baroque, mais cela est corrigée par fold-dwim et / ou hideshow-org (fortement recommandé pour MasquerVoir, cf la page CACHERVOIR EmacsWiki, vous pouvez aussi imiter le comportement de hideshow-org pour d'autres modes de pliage avec une elisp rapide et sale et fold-dwim ). Une fois que vous avez compris votre configuration préférée, il suffit de tourner sur automatiquement par des crochets ou de tampon locales variables et regarder votre code pli loin :) (voir ci-dessous, notez les années cliquables + dans la marge).

texte alt http://img198.imageshack.us/img198/4029/screenshot1oc. PNG

Autres conseils

Vous devriez regarder dans CEDET. Il ne code-pliage très bien, et bien d'autres caractéristiques de fantaisie que vous cherchez probablement si vous passez d'un IDE à Emacs.

http://cedet.sourceforge.net/

Plus précisément, chercher `-tag-pliage-mode global-sémantique»

Vous n'avez pas besoin rien de plus, juste permettre outline-mineur en mode pour les types de fichiers que vous souhaitez plier.

Mais en fait, il existe diverses solutions pour Emacs; J'ai énuméré quelques-uns d'entre eux (ceux que je suis arrivé à venir à travers) http://en.wikipedia.org/w/index.php?title=Code_folding&oldid=375300945#cite_note-2 .

Bien, il y a des choses qui me manque: dans certains cas, je voudrais combiner plusieurs mécanismes: par exemple, pour démarquage, je voudrais utiliser à base de lignes de pliage (pour les sections) et sur la base indentation- pliage (pour les citations, les blocs de code, etc.) -. afin de ne pas se soucier de la mise en œuvre d'un analyseur complet pour démarquage

Ici, ils sont:

pliage jeton basée à Emacs

pliage jeton basée à Emacs est impemented par le pliage mode mineur .

pliage sur la base Indentation dans Emacs

On peut utiliser la fonction set-selective-display dans Emacs pour masquer les lignes en fonction du niveau d'indentation, comme le suggère le outline et allout modes pour -syntaxes "contours" dédiés spéciaux;

  • par CACHERVOIR mode mineur pour certains langages de programmation;

  • aussi,

  • Plusieurs mécanismes de pliage sont unifiés par la fold-dwim Interface .

    Voir aussi http://www.emacswiki.org/emacs/CategoryHideStuff .

    pliage des régions sélectionnées par l'utilisateur dans Emacs

    pliage des régions sélectionnées par l'utilisateur dans Emacs est mis en oeuvre par le masquer la région de masquage commande.

    J'utilise pliage en mode depuis un certain temps. Avec modèle d'insertion automatique et abrevs cela fonctionne très bien pour moi quelques belles briques de code.

    Être en mesure de produire le tampon plié (pour l'impression / e-mailing) a toujours été un désir de moi. Certains de mes balises de pliage sont pour se cacher / mot de passe sécurisé.

    Oui Enfin le pliage de code est là dans emacs. Essayez yafolding présent à la bibliothèque package melpa.org.

    Licencié sous: CC-BY-SA avec attribution
    Non affilié à StackOverflow
    scroll top