Já temos uma pergunta sobre ferramentas úteis especificamente para testes , mas que tal realmente escrever o código? Quais pacotes você acha que aceleram seu desenvolvimento? Quais auxílios você usa para navegar e entender seus projetos de maneira rápida e fácil?
elisp
interactive-development
package-development
Sean Allred
fonte
fonte
multiple-cursors
, alguém poderia preferirvisual-regexp
ou ag / ack / grep da linha de comando ou de dentro emacs ou emacs embutidoquery-replace
ouquery-replace-regexp
ou qualquer outra coisa. Argumentos semelhantes podem ser feitos para cada pacote. Em vez disso, uma boa pergunta seria perguntar como fazer algo específico no "desenvolvimento de pacotes".multiple-cursors
- por exemplo, é útil em qualquer lugar, mas talvez haja outros pacotes que respeitem o escopo explícito do lisp. Certamentemacrostep
eielm
não são aplicáveis em nenhum outro lugar . Traga isso à meta, talvez?ido
,helm
,ibuffer
,tabbar
-Eu não acho que-seria entradas apropriadas. Não há nada que realmente facilite o desenvolvimento do elisp . Eles são certamente pacotes fantásticos, mas (na minha experiência) eles não têm nada a acrescentar ao desenvolvimento do elisp .etags
Enquanto eu não estou familiarizado com isso, parece que seria apropriado. Talvez outro CW seja apropriado para esses outros pacotes (porque eles realmente merecem menção), mas receio que seus medos por essa pergunta certamente se realizem nesse.Respostas:
Criação
edebug
: Depuração passo a passo do código Elisp.checkdoc
: Aprenda sobre erros de estilo em seus comentários e documentos.elint
: Linter para Emacs Lisp.paredit
: Manipule o código lisp como árvores em vez de linhas. Nunca tenha parênteses desequilibrados.lispy
: alternativa / superconjunto de viparedit
. Além disso, inclui atalhos para contornos, estreitamento, edebug, ediff, semântico, modo ás-salto, cursores múltiplos, cidra, lodo e geiser.multiple-cursors
: Edite simultaneamente várias expressões semelhantes. Entre outras coisas, útil para refatoração de código.erefactor
: Refatoração de código.redshank
: Outra biblioteca de refatoração (projetada para Common Lisp, mas funciona bem com o Emacs Lisp).macrostep
: Expansão de macro interativa no buffer.yasnippet
: Snippets de código para expansão rápida de idiomas repetitivos (exemplos aqui )Navegação
speedbar
: A barra de velocidade é uma ótima maneira de navegar pelo seu projeto. Ele reconhece 'tags' comodefun
s edefvar
s (e similares) e fornece marcadores visíveis como um esboço.outlined-elisp-mode
: Uma coleção de configurações para ooutline
modo secundário para buffers Elisp.elisp-slime-nav
: Salto instantâneo para funções e definições de variáveis comM-.
.Criação de perfil
elp
: Interface interativa para o Emacs Lisp Profiler, útil para explorar o que exatamente é lento em sua função de criação de perfil e como ele interage com o restante do Emacs.Gestão
names
: Fornece uma macro para criar espaços para nomeControle de versão
Git
e seu front-end do EmacsMagit
: sem dúvida o melhor sistema de controle de versão e um front-end do Emacs muito bem pensado para ele.Diversos
ielm
: REPL interativofonte