Aqui está um guia completo: http://wikemacs.org/wiki/Python Ele lista soluções prontas para uso (o kit de iniciação Prelude , Spacemacs, soluções para ciência de dados , ...), grandes pacotes úteis (Elpy), bem como como todos os pacotes necessários para melhorar seu ambiente. Aqui está uma visão geral .
Refatoração
Esse é o recurso mais "específico do IDE". Emacs como algumas possibilidades graças à biblioteca python Rope. A maneira mais fácil de instalar e usar é o pacote emacs-traad , no MELPA. Possui, entre outros:
- alterar uma assinatura de método: adicione / remova um argumento, com refatoração entre projetos (é claro),
- renomeie qualquer coisa,
- encontre definições,…
Corda também está incluída no Elpy.
Manipulação de código mais simples
Temos ferramentas mais simples para ajudar na refatoração ou na manipulação de código: http://wikemacs.org/wiki/Python#Other_Python_.22refactoring.22_tools
Por exemplo, o Projectile é ótimo (veja outras respostas), também temos uma ferramenta para adicionar decoradores , adicionar / remover / editar argumentos , renomear / copiar / comentar / matar um método, uma ferramenta para geração de código,…
Navegação de código
Podemos navegar como um IDE com tags e cscope: encontre as funções que chamam essa, encontre ocorrências etc.
O Emacs também possui ótimos pacotes como imenu (helm-imenu), helm-swoop (grep interativo em um buffer), emacs-helm-ag (pesquisador de prata interativo em um projeto), etc.
Executando testes
É a Elpy que fornece um bom suporte para executar testes (com o django runner, elpy ou outro). Podemos até executar apenas o teste de unidade em que estamos atualmente: muito útil! Portanto, existe uma Hydra para ajudar nisso (ciclo entre os erros, mude para o prompt do python…).
Faça suporte
Este é um pacote Emacs não específico para Python. Mas eu gosto de poder executar um destino make de qualquer lugar do projeto e escolher o comando make com a conclusão . ligação
Lidando com o recuo
Há um pequeno pacote, indent-tools , que fornece comandos para trabalhar diretamente com um bloco indentado: vá para o bloco de indentação do próximo pai-filho anterior, indent / deindent / comment / copy / kill / dobre o bloco atual , etc. Perfeito para yaml e também para Python. Doc e gif demo
Suporte do Django
veja Django . Elpy suporta o corredor django. Veja o documento elpy django . O modo django (em melpa) possui modelos destacando, comandos rápidos, conclusão de comandos de gerenciamento ,…
Também importante: excelente suporte ao Git, Github e Gitlab
O magithub pode criar PRs do github, podemos buscar problemas e inserir sua referência nas mensagens de confirmação, o magit é ótimo,… veja http://wikemacs.org/wiki/Git