Вот исчерпывающее руководство: http://wikemacs.org/wiki/Python В нем перечислены готовые решения ( стартовый набор Prelude , Spacemacs, решения для науки о данных …), а также большие полезные пакеты (Elpy), а также Как и каждый пакет, вам нужно улучшить свою среду. Вот обзор .
Рефакторинг
Это самая «специфичная для IDE» функция. Emacs как некоторые возможности у него благодаря библиотеке Python Rope. Оказывается, самый простой способ установки и использования - это пакет emacs-traad в MELPA. Он включает в себя, среди прочего:
- изменить сигнатуру метода: добавить / удалить аргумент, с кросс-проектным рефакторингом (конечно),
- переименовать что-нибудь,
- найти определения, ...
Веревка также входит в Elpy.
Упрощенная манипуляция с кодом
У нас есть более простые инструменты для рефакторинга или манипулирования кодом: http://wikemacs.org/wiki/Python#Other_Python_.22refactoring.22_tools
Например, Projectile великолепен (см. Другие ответы), у нас также есть инструмент для добавления декораторов , добавления / удаления / редактирования аргументов , переименования / копирования / комментирования / уничтожения метода, инструмента для генерации кода,…
Кодовая навигация
Мы можем перемещаться как IDE с тегами и cscope: найти функции, вызывающие эту функцию, найти события и т. Д.
В Emacs также есть отличные пакеты, такие как imenu (helm-imenu), helm-swoop (интерактивный grep в буфере), emacs-helm-ag (интерактивный поисковик серебра в проекте) и т. Д.
Запуск тестов
Именно Elpy обеспечивает хорошую поддержку для запуска тестов (с бегуном django, elpy или другим). Мы даже можем запустить только тот модульный тест, в котором мы сейчас находимся: очень удобно! Таким образом, есть Hydra, чтобы помочь с этим (переход между ошибками, переключение на приглашение Python ...).
Сделать поддержку
Это пакет Emacs, не относящийся к Python. Но мне нравится, когда я могу запустить цель make из любой точки проекта и выбрать команду make с завершением . ссылка
Имея дело с отступом
Есть небольшой пакет, indent-tools , который дает команды для работы непосредственно с блоком с отступом: перейти к блоку отступа next-previous-child-parent, indent / deindent / comment / copy / kill / fold текущего блока , и т.д. Идеально подходит для yaml, а также для Python. Doc и GIF демо
Поддержка Django
увидеть Джанго . Элпи поддерживает Джанго . Смотри elpy django doc . django-mode (в melpa) имеет подсветку шаблонов, быстрые команды, завершение команд управления ,…
Также важно: отличная поддержка Git, Github и Gitlab
magithub может создавать PR на github, мы можем извлекать проблемы и вставлять их ссылки в сообщения о коммитах , magit отлично,… смотрите http://wikemacs.org/wiki/Git