Всем добрый день!
Во-первых, у меня наконец-то решилась проблема с жуткими тормозами при автодополнении кода в CudaText! Не знаю в чём было дело, но последняя версия программы работает на ура!
Теперь собственно вопрос. Какую команду нужно использовать, чтобы перезапустить программу? Аналог команде "переоткрыть" для вкладки-файла. Очень не удобно при тестировании плагина, когда приходится сначала закрыть программу, потом найти ярлык и заново её запустить. В Cudatext API я такой возможности не нашёл.
Перезапуск программы
Уточнение. Эта команда позволяет начать использовать новую версию плагина, но только, если не менялся файл INF. Если менялся, то нужно перезапускать Куд.Alexey wrote:нет такой команды. Для теста плагинов я назначил F2 на команду "Reset python plugins", помогает она правда только для командных плагов (не event).
Совет. Чтобы быстро вызывать Куд, я делаю так (в Windows)
- Вызываю системный диалог "Выполнить" (хоткей Win+R)
- Один раз нахожу cudatext.exe
- В следующий раз он уже стоит в диалоге
CudaText 1.163, TC9.51x32, Win10x64(1920x1080)
При работе с плагинами мне помогают два таких трюка
1.
Здесь перед вызовом "Reset python plugins" сохраняется текущий файл и очищается консоль.
В результате ее вызова у меня сразу появляется готовая среда с новой версией плага
2. Проверка питона на синтаксические ошибки.
Это тоже метод из личного плага
Если синт.ошибки есть, то они сразу отобразятся в консоли.
Если нет, то появится одна ошибка при выполнении (поскольку этот запуск вне контекста)
Фактически ничего выполнятся не будет почти никогда.
(@Alexey Вот так я запускаю репро-примеры)
============
А кроме трюков я еще часто использую команду из cuda_ext
plugin: CudaExt: Navigate by error in console
Она ищет в консоли последнее упоминание текущего файла в стеке и переходит на указанную там строку.
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)
В результате ее вызова у меня сразу появляется готовая среда с новой версией плага
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
Она ищет в консоли последнее упоминание текущего файла в стеке и переходит на указанную там строку.
CudaText 1.163, TC9.51x32, Win10x64(1920x1080)
Я в результате выкрутился так: поскольку я раньше частенько использовал для Total Commander утилиту TCIMG (http://tc-image.3dn.ru/forum/5-498-1), то и здесь решил ей воспользоваться. Сделал в папке Cudatext папку Utils и скопировал в неё папку с утилитой. С помощью плагина ExtTools запускаю утилиту с такими параметрами:
Теперь при нажатии на этот пункт в меню программа перезагружается.
Code: Select all
resrt=cudatext.exe||1
Спасибо. Посмотрю.Alexey wrote:Советую сайт "learn Python the hard way"