Я использую Notepad ++ для написания и запуска скриптов Python. Это отличный текстовый редактор, за исключением отладки. Есть ли способ выполнить код, использовать точки останова, просмотреть значения переменных и т.д. В Notepad ++, как вы можете в Visual Studio?
Отладка кода Python в Notepad ++
Ответ 1
Есть ли такой плагин? Не то, что я знаю из. Я полностью согласен с qor72 на этой ноте.
Можно ли создать такой плагин/функциональность? Возможно.
После некоторого быстрого копания я нашел плагин, который выглядит многообещающим, Python Script. Короче говоря, он позволяет запускать скрипты python, которые могут обращаться к модулям NPP (меню файлов и т.д.), А также методы Scintilla, которые появляются, чтобы предоставить доступ к таким вещам, как маркеры на страницах.
Чтобы совершить такой подвиг, я видел, как задача разбилась на несколько больших блоков (я чувствую, что новый проект с открытым исходным кодом продолжается...)
- Используя Python Script, интегрируйте отладчик python (PDB), как упоминалось в Shashi.
- Используя методы Scintilla, добавьте обратные вызовы, где размещен маркер NPP.
- Перенаправить PDB-выходы и обработать их, чтобы показать, где файл остановлен (снова используя методы Scintilla).
- Пока на вновь созданной точке останова и использовании PDB определяют все переменные в текущем пространстве имен. Возьмите эту информацию и выгрузите ее в окно CMD, или если вы хотите получить фантастический графический интерфейс, созданный с помощью Tk/wxPython
Заключительные мысли
В то время как я думаю, что это возможно, чтобы создать такой плагин, я был бы довольно серьезным делом. Вдоль этой линии вам может быть лучше попытаться найти другой редактор, который уже встроен в него, и просто создавать макросы (или что-то там, где IDE их вызывает), чтобы добавить в то, что вам больше всего нравится в АЭС.
Обратите внимание, что я являюсь ежедневным пользователем АЭС и уже много лет, поэтому я вызывающе понимаю, почему вы хотели бы функционально добавить в АЭС. Одна из моих любимых вещей в отношении АЭС - это скорость, с которой она открывается, и поиск файлов... переход к раздутой IDE, ИМО, не стоил бы мне этого.
Мой текущий рабочий процесс - это сделать все мое редактирование на АЭС и просто дважды щелкнуть, чтобы запустить модули. Если он сорвался или исчез в сорняках, я запускаю IDLE для его отладки.
Ответ 2
Я действительно надеюсь, что кто-то скажет мне, что я ошибаюсь (я бы хотел использовать эту функцию в Notepad ++), но Notepad ++ разработан как редактор программистов, а не IDE. Хотя у этого есть много классных функций, этот уровень отладки не является частью основного инструмента.
Не вижу ничего в npp-plugins.
Ответ 3
Я думаю отладчик python это лучший вариант, если редактор не предоставляет средства:)
from pdb import set_trace as bp
code
code
bp()
code
code
В приглашении (Pdb)
введите s
на шаг, p foo
, чтобы напечатать foo
и c
, чтобы продолжить выполнение кода, пока не нажмете другую точку останова.
Ответ 4
Ты думал об использовании Комодо. Он с открытым исходным кодом и имеет порты для Windows, Linux и MAC (я думаю).
Это может быть альтернативой, и если вы хотите получить некоторые рекомендации от пользователей Notepad ++, посмотрите следующий пост на этом самом сайте:
Komodo Edit и Notepad ++: Плюсы и минусы: Python dev
Некоторые пользователи npp, похоже, создали переключатель для редактирования python и т.д.
лично не очень разбираюсь в отладке на Komodo, но поскольку это IDE, было бы удивительно, если бы вы не смогли сделать это легко.
Ответ 5
Я действительно не понимаю, почему ответ Shashi не был одобрен. По ссылке, которую он предоставил для поставки, можно выполнить скрипты python по запросу OP.
Итак, для всех, кто не знает о модуле pdb, при импорте функция pdb.set_trace()
позволяет пройти через область кода после нее. И это очень похоже на метод отладки визуальных студий. Пока вы выполняете код, вы можете вводить различные команды.
Один из них - p <expression>
и позволяет пользователю печатать текущее состояние переменных в локальной и глобальной области.