Nous avons déjà une question sur les outils utiles spécifiquement pour les tests , mais qu'en est-il de l' écriture du code? Quels packages trouvez-vous accélérer votre développement? Quelles aides utilisez-vous pour naviguer rapidement et facilement et comprendre vos projets?
elisp
interactive-development
package-development
Sean Allred
la source
la source
multiple-cursors
, quelqu'un d'autre pourrait préférervisual-regexp
ou ag / ack / grep depuis la ligne de commande ou depuis emacs ou emacs intégréquery-replace
ouquery-replace-regexp
ou autre chose. Des arguments similaires peuvent être avancés pour chaque package. Au lieu de cela, une bonne question serait de savoir comment faire quelque chose de spécifique dans le "développement de paquets".multiple-cursors
, par exemple, est utile partout, mais il existe peut-être d'autres packages qui respectent la portée explicite de lisp. Sûrementmacrostep
etielm
ne sont applicables nulle part ailleurs. Apportez cela sur la méta, peut-être?ido
,helm
,ibuffer
,tabbar
-I ne pense-ne serait pas entrées appropriées. Rien ne facilite vraiment le développement elisp . Ce sont certainement des packages fantastiques, mais (d'après mon expérience), ils n'ont rien à ajouter au développement elisp .etags
—Même si je ne le connais pas, on dirait que ce serait approprié. Peut-être qu'un autre CW est approprié pour ces autres packages (car ils méritent vraiment d'être mentionnés), mais je crains que vos craintes pour cette question ne se réalisent sûrement dans celui-ci.Réponses:
Création
edebug
: Débogage pas à pas du code Elisp.checkdoc
: Découvrez les erreurs de style dans vos commentaires et documents.elint
: Linter pour Emacs Lisp.paredit
: Manipulez le code lisp sous forme d'arbres au lieu de lignes. N'ayez jamais de parenthèses déséquilibrées.lispy
: alternative / sur-ensemble de type vi deparedit
. Comprend également des raccourcis pour les contours, le rétrécissement, edebug, ediff, sémantique, mode ace-jump, curseurs multiples, cidre, slime et geiser.multiple-cursors
: Modifiez simultanément plusieurs expressions similaires. Entre autres choses, utile pour la refactorisation de code.erefactor
: Refactorisation de code.redshank
: Une autre bibliothèque de refactoring (conçue pour Common Lisp, mais fonctionne bien avec Emacs Lisp).macrostep
: Expansion de macro interactive dans la mémoire tampon.yasnippet
: Extraits de code pour une expansion rapide des idiomes répétitifs (exemples ici )La navigation
speedbar
: La barre de vitesse est un excellent moyen de naviguer dans votre projet. Il reconnaît les «balises» commedefun
s etdefvar
s (et similaires) et fournit des signets visibles comme contour.outlined-elisp-mode
: Une collection de paramètres pour leoutline
mode mineur pour les tampons Elisp.elisp-slime-nav
: Saut instantané vers les définitions de fonction et de variable avecM-.
.Profilage
elp
: Frontend interactif pour Emacs Lisp Profiler, utile pour explorer ce qui est exactement lent dans votre fonction profilée et comment il interagit avec le reste d'Emacs.La gestion
names
: Fournit une macro pour créer des espaces de nomsContrôle de version
Git
et son front-end EmacsMagit
: sans doute le meilleur système de contrôle de version et un front-end Emacs très bien pensé pour lui.Divers
ielm
: REPL interactifla source