При работе с плагинами мне помогают два таких трюка
1.
Alexey wrote:нет такой команды. Для теста плагинов я назначил F2 на команду "Reset python plugins", помогает она правда только для командных плагов (не event).
Я немного дополнил действие этой команды. В моем личном плагине есть такой метод
Code: Select all
def reset_plugins(self):
file_save()
app_log(LOG_CONSOLE_CLEAR, 'm')
ed.cmd(cmd_ResetPythonPlugins)
Здесь перед вызовом "Reset python plugins" сохраняется текущий файл и очищается консоль.
В результате ее вызова у меня сразу появляется готовая среда с новой версией плага
2. Проверка питона на синтаксические ошибки.
Это тоже метод из личного плага
Code: Select all
def execCurrentFileAsPlugin(self):
fn = ed.get_filename()
if not fn.endswith('.py'): return
cmd = f('exec(open(r"{}", encoding="UTF-8").read())', fn)
app_proc(PROC_EXEC_PYTHON, cmd)
Если синт.ошибки есть, то они сразу отобразятся в консоли.
Если нет, то появится одна ошибка при выполнении (поскольку этот запуск вне контекста)
Code: Select all
Traceback (most recent call last):
File "<string>", line 1, in <module>
File "<string>", line 15, in <module>
ImportError: attempted relative import with no known parent package
Фактически ничего выполнятся не будет почти никогда.
(@Alexey Вот так я запускаю репро-примеры)
============
А кроме трюков я еще часто использую команду из cuda_ext
plugin: CudaExt: Navigate by error in console
Она ищет в консоли последнее упоминание
текущего файла в стеке и переходит на указанную там строку.