Ya tenemos una pregunta sobre las herramientas útiles específicamente para las pruebas , pero ¿qué hay de escribir el código? ¿Qué paquetes encuentras para acelerar tu desarrollo? ¿Qué ayudas utiliza para navegar y comprender sus proyectos de manera rápida y fácil?
elisp
interactive-development
package-development
Sean Allred
fuente
fuente
multiple-cursors
, otra persona podría preferirvisual-regexp
o ag / ACK / grep desde la línea de comandos o desde dentro de emacs o emacs incorporadoquery-replace
oquery-replace-regexp
o alguna otra cosa. Se pueden hacer argumentos similares para cada paquete. En cambio, una buena pregunta sería preguntar cómo hacer algo específico en el "desarrollo de paquetes".multiple-cursors
; por ejemplo, es útil en todas partes, pero tal vez hay otros paquetes que respetan el alcance explícito de lisp. Seguramentemacrostep
yielm
no son aplicables en ningún otro lugar . Trae esto en meta, tal vez?ido
,helm
,ibuffer
,tabbar
-No creo-sería entradas apropiadas. No hay nada que realmente facilite el desarrollo de Elisp . Seguramente son paquetes fantásticos, pero (en mi experiencia) no tienen nada que agregar al desarrollo de elisp .etags
—Aunque no estoy familiarizado con eso, parece que sería apropiado. Quizás otro CW sea apropiado para estos otros paquetes (porque realmente merecen mención), pero me temo que sus temores por esta pregunta seguramente se realizarán en ese.Respuestas:
Autoría
edebug
: Depuración paso a paso del código Elisp.checkdoc
: Aprenda sobre los errores de estilo en sus comentarios y documentos.elint
: Linter para Emacs Lisp.paredit
: Manipula el código lisp como árboles en lugar de líneas. Nunca tenga paréntesis desequilibrados.lispy
: alternativa / superconjunto vi deparedit
. Además incluye accesos directos para contornos, estrechamiento, edebug, ediff, semántico, modo ace-jump, múltiples cursores, sidra, limo y geiser.multiple-cursors
: Edite simultáneamente múltiples expresiones similares. Entre otras cosas, útil para la refactorización de código.erefactor
: Código de refactorización.redshank
: Otra biblioteca de refactorización (diseñada para Common Lisp, pero funciona bien con Emacs Lisp).macrostep
: Expansión de macro interactiva en el búfer.yasnippet
: Fragmentos de código para una rápida expansión de modismos repetitivos (ejemplos aquí )Navegación
speedbar
: La barra de velocidad es una excelente manera de navegar a través de su proyecto. Reconoce 'etiquetas' comodefun
sydefvar
s (y similares) y proporciona marcadores visibles como un esquema.outlined-elisp-mode
: Una colección de configuraciones para eloutline
modo menor para los buffers de Elisp.elisp-slime-nav
: Salto instantáneo a funciones y definiciones variables conM-.
.Perfilado
elp
: Interfaz interactiva para Emacs Lisp Profiler, útil para explorar qué es exactamente lento en su función de perfil y cómo interactúa con el resto de Emacs.administración
names
: Proporciona una macro para crear espacios de nombresControl de versiones
Git
y su front-end EmacsMagit
: posiblemente el mejor sistema de control de versiones y un front-end Emacs muy bien pensado para él.Misceláneos
ielm
: REPL interactivofuente