CudaText. Вопросы по плагинам

MITRANDIR
Posts: 4
Joined: 14.04.2025 14:24

Re: CudaText. Вопросы по плагинам

Post by MITRANDIR »

Здравствуйте! Подскажите пожалуйста есть ли какой-то плагин, добавляющий панель инструментов (или что-то подобное), чтобы можно было выделять цветом текст, выделять фон текста и делать другие базовые функции форматирования, как в Microsoft Word ? Может эти функции уже встроены в редактор? Пользуюсь им несколько часов, поэтому заранее прошу прощения, если вопрос кажется глупым.
main Alexey
Posts: 2532
Joined: 25.08.2021 18:15

Re: CudaText. Вопросы по плагинам

Post by main Alexey »

это можно добиться через свои настройки.
Есть функционал тулбара, 'View / Toolbar' menu item.
Потом, есть плагин Color_Text для расцветки любого файла.
Потом, вы просто берете плагин Configure_Toolbar и добавляете команды плагина Color_Text как кнопки тулбара.

этот ответ помог?
MITRANDIR
Posts: 4
Joined: 14.04.2025 14:24

Re: CudaText. Вопросы по плагинам

Post by MITRANDIR »

main Alexey wrote: 14.04.2025 15:20 это можно добиться через свои настройки.
Есть функционал тулбара, 'View / Toolbar' menu item.
Потом, есть плагин Color_Text для расцветки любого файла.
Потом, вы просто берете плагин Configure_Toolbar и добавляете команды плагина Color_Text как кнопки тулбара.

этот ответ помог?
Установил плагины color_text и configure_toolbar. Выбираю configure toolbar -> add item, но дальше в окне button properties возникают проблемы. Подскажите пожалуйста, что нужно ввести в поля caption, tooltip, command (здесь, насколько я понял, нужно выбрать нужную команду из плагина color_text), icon (здесь тоже интуитивно понятно), visible for lexers ?
main Alexey
Posts: 2532
Joined: 25.08.2021 18:15

Re: CudaText. Вопросы по плагинам

Post by main Alexey »

Вот тут есть некоторая помощь
https://wiki.freepascal.org/CudaText_pl ... re_Toolbar
там есть пример полей на скриншоте и текстом.

'visible for lexers': или пусто или название лексеров через "," например 'ToDo'.

это помогло?
MITRANDIR
Posts: 4
Joined: 14.04.2025 14:24

Re: CudaText. Вопросы по плагинам

Post by MITRANDIR »

main Alexey wrote: 15.04.2025 02:36 Вот тут есть некоторая помощь
https://wiki.freepascal.org/CudaText_pl ... re_Toolbar
там есть пример полей на скриншоте и текстом.

'visible for lexers': или пусто или название лексеров через "," например 'ToDo'.

это помогло?
Да, спасибо. Получилось без заполнения поля 'visible for lexers', но хочется узнать для чего оно нужно. В нескольких словах проясните пожалуйста этот момент.
main Alexey
Posts: 2532
Joined: 25.08.2021 18:15

Re: CudaText. Вопросы по плагинам

Post by main Alexey »

visible for lexers:
если активен НЕ лексер из указанного в опции списка, прятать кнопку.
MITRANDIR
Posts: 4
Joined: 14.04.2025 14:24

Re: CudaText. Вопросы по плагинам

Post by MITRANDIR »

main Alexey wrote: 15.04.2025 18:55 visible for lexers:
если активен НЕ лексер из указанного в опции списка, прятать кнопку.
спасибо
mix-7
Posts: 906
Joined: 11.05.2018 11:02

Re: CudaText. Вопросы по плагинам

Post by mix-7 »

Здравствуйте!
Решился сделать мини-плагин Сode tree freeze с помощью плагина Make plugin
Оказалось, не так и сложно.

В плагине будут две команды

Code: Select all

app_proc(PROC_CONFIG_READ, '{"ui_tree_time_fill": 2000000}')
и

Code: Select all

app_proc(PROC_CONFIG_READ, '{"ui_tree_time_fill": 2}')
Они должны выполняться попеременно с каждым запуском плагина.
Возникли вопросы
Если я произведу изменения в тексте плагина, нужно ли перезапускать CudaText?
Или есть способ переинициализировать плагин?

Как сделать меню для этого плагина с чекбоксом, как в меню View?
Как чередовать состояние плагина после каждого запуска? Нужна запись в переменную в коде и ее проверка?
Как изменять цвет заголовка окна Code tree и/или добавить к нему иконку снежинки?
Как узнать что отработала функция app_proc?
Eсли в плагине мы меняем {"ui_tree_time_fill": 2000000}'
в app_proc(PROC_CONFIG_READ, '{"ui_tree_time_fill": 2000000}')
то следующий вызов
app_proc(PROC_CONFIG_READ, '{"ui_tree_time_fill": 2}')
добавляет в user.json параметр {"ui_tree_time_fill": 2} или замещает {"ui_tree_time_fill": 2000000}?
Если добавляет, у какого из задвоенных будет приоритет?
main Alexey
Posts: 2532
Joined: 25.08.2021 18:15

Re: CudaText. Вопросы по плагинам

Post by main Alexey »

>произведу изменения в тексте плагина, нужно ли перезапускать CudaText?

да. или надо вызывать команду 'reset python plugins' из палитры команд.

>сделать меню для этого плагина с чекбоксом, как в меню View?

через плагин Configure_Menu. но без чекбокса.

>Нужна запись в переменную в коде и ее проверка?

да. дать глобальную пемеренную выше класса Command. не забыть обьявить ее 'global' в методах.

Code: Select all

opt = False
class Command:
  def toggle(self):
    global opt
    opt = not opt
    if opt:
      pass
main Alexey
Posts: 2532
Joined: 25.08.2021 18:15

Re: CudaText. Вопросы по плагинам

Post by main Alexey »

> и/или добавить к нему иконку снежинки?

Code: Select all

imglist = app_proc(PROC_SIDEPANEL_GET_IMAGELIST, '')
newicon = imagelist_proc(imglist , IMAGELIST_ADD, r'C:\CudaText\data\codetreeicons\default_16x16\dir.png')
app_proc(PROC_SIDEPANEL_SET_PROP, ('Code tree', newicon , ''))
Post Reply