Page 1 of 2

Cudatext. Плагин External Tools

Posted: 04.07.2023 12:54
by mix-7
Здравствуйте!

Плагин External Tools по опции Replace selection вставляет текст в текущий документ, курсор не передвигается в конец вставляемого фрагмента.
Была бы удобна опция Insert current document или перемещение курсора в конец вставленного текста, как в Insert Tomes.

2. Tools - Config было бы удобно редактирование по двойному клику на строке конфигурации.
Сейчас приходится каждый раз выделять строку даже если она была выделена при открытии Config.

3. В плагине Runner (он назван облегченным) можно также запустить внешний скрипт, а его вывод вставить в документ?
Если да, то как вставить вывод скрипта в документ?


Спасибо!

Posted: 05.07.2023 07:18
by main Alexey
1. записал себе этот виш.
https://github.com/Alexey-T/CudaText/issues/5144

2. ExtTools юзает устаревшее АПИ для диалогов- dlg_custom. в нем реакцию на dbl-click не сделать.
в новом dlg_proc так можно.

3. кажется в Runner так нельзя сделать.
попробуйте оставить виш в гитхабе.
https://github.com/Alexey-T/CudaText/issues/
или дайте патч.

Posted: 05.07.2023 07:54
by main Alexey
1. сделано в моем форке.
https://github.com/Alexey-T/cuda_exttools
потом будет принято в плагин.

Posted: 07.07.2023 12:16
by mix-7
main Alexey wrote: 3. кажется в Runner так нельзя сделать.
попробуйте оставить виш в гитхабе.
https://github.com/Alexey-T/CudaText/issues/
или дайте патч.
Ишью можно писать там на русском?
Или лучше на английском?

Кстати, это выход, в частности, для Cudatext Clipboard catcher:
по команде запускать через Runner внешнюю обработку, а результат вставлять в текст.


А нужно будет обязательно дожидаться завершения Runner'a (тредов же нет)?
2. ExtTools юзает устаревшее АПИ для диалогов- dlg_custom. в нем реакцию на dbl-click не сделать.
в новом dlg_proc так можно.
Т.е. ExtTools не улучшить диалог?
При старте Tools - Config фокус (выделение) на верхней строке, нажатие Edit работает, приходится еще раз выделять нужную строку.
Но это, правда, очень редко нужно, можно и потерпеть.

Posted: 08.07.2023 09:06
by main Alexey
>Ишью можно писать там на русском? Или лучше на английском?
лучше на английском. понятнее всем а не только мне и 2-3 людям.
>А нужно будет обязательно дожидаться завершения Runner'a (тредов же нет)?
пока не знаю. попробуйте.

>Т.е. ExtTools не улучшить диалог?
думаю да.

Re: Cudatext. Плагин External Tools

Posted: 28.01.2026 19:34
by dima8101
Подскажите пожалуйста как настроить плагин для выполнения файла через uv run. В директории создана виртуальная среда.
Система ArchLinux

Re: Cudatext. Плагин External Tools

Posted: 29.01.2026 06:05
by main Alexey
я не знаю как юзать 'uv run'. видимо так, 'uv run script.py'. видимо, надо указать поле тула "начальная папка" как:
{FileDir}
(уточните что есть такой макрос, не точно помню).
видимо надо указать поле "программа" как:
uv
с параметрами проги как:
run {FileNameOnly}
(уточните что есть такой макрос).

Re: Cudatext. Плагин External Tools

Posted: 29.01.2026 15:38
by dima8101
Спасибо! Всё удалось настроить. Отлично работает. В поле file name указал uv run {FileName}

Re: Cudatext. Плагин External Tools

Posted: 29.01.2026 18:36
by dima8101
Ещё вопрос возник. При написании файлов на питоне часто возникает задача в каких то файлах считать или записать, как пример
with open(file_path, 'r', encoding='utf-8') as f:
Возникла проблема, в вышеуказанной команде корневым является папка проекта, а файл в котором указанный код находится во вложенной папке проекта. в результате файл записывается в корневую папку проекта, а не во вложенную где скрипт расположен. Это можно обойти переписав скрипт, но тогда это надо во всех скиптах так делать. В vscode работало отлично. Можно ли здесь также настроить.
Не знаю влияет ли этот плагин на данное действие, может надо в другую тему.

Re: Cudatext. Плагин External Tools

Posted: 29.01.2026 18:50
by main Alexey
в диалоге свойств тула, есть поле "начальная пака" (примерно так). надо просто там задать папку, которая станет текущей перед запуском тула.

один из макросов плагина ExternalTools, можно записать в это поле. что у вас в этом поле задано? пусто или {FileDir}?