Как вы фильтруете текст в Kdevelop?

341
daxim

В Kate я могу выделить блок текста, вызвать функцию специального фильтра с привязкой клавиш, а затем ввести произвольную команду в диалоговом окне. (В большинстве случаев это вариант sortили grepили perltidy.) Блок подается в стандартный ввод команды, а когда команда выполнена, ее стандартный текст заменяет блок.

Как вы делаете это в Kdevelop? Здесь нет пункта меню текстового фильтра или привязки клавиш.

1
Я использовал KDevelop только один раз, а иногда - назад, но ответ, кажется, содержится в этой [записи в блоге] (http://milianw.de/blog/kdevelop-externalscript-plugin) из 2010 года, где говорится, что вы должны использовать плагин ExternalScript. , Если эта публикация 2010 года по-прежнему верна, у вас должен быть этот плагин и пример в дистрибутиве для выполнения `sort / uniq` для выбора в текущем документе. Текст также, кажется, говорит, что Kate Scripts поддерживаются. harrymc 6 лет назад 0
Пожалуйста, прокомментируйте наши идеи. harrymc 6 лет назад 0
Комментировать нечего, [thomas] (https://superuser.com/u/762942) показал, что подключаемый модуль текстового фильтра даже не существует. daxim 6 лет назад 0
Вы проверяли, есть ли в вашем дистрибутиве плагин ExternalScript и примеры? Вы также можете отметить ответы ниже. harrymc 6 лет назад 0

2 ответа на вопрос

2
thomas

Дело в том, что textfilterplugin.soэто KTextEditor/Pluginнаходится в /usr/lib/qt/plugins/ktexteditor/. Плагины Kdevelop хранятся /usr/lib/qt/plugins/kdevplatform/и должны быть KDevelop/Plugin.

Так что вам нужно textfilterраскошелиться и сделать из него плагин Kdevelop. Вот ваша отправная точка: https://github.com/KDE/kate/tree/master/addons/textfilter

РЕДАКТИРОВАТЬ:

Как указал harrymc : для KDevelop существует довольно похожий плагин externalscript. Если он активирован, вы можете настроить его с помощью закрепленной панели справа под названием «Внешние сценарии». При этом вы можете настроить скрипт, который будет называться «фильтровать текст», связать его с клавишами, к которым вы привыкли, и позволить ему выполнять что-то подобное sh -c 'cmd=$(Xdialog --title "Command?" --inputbox "Please specify command to execute:" 10 100); [ -x "$cmd" ] && "$cmd"'.

Я не смог протестировать это решение, потому что плагин не может запустить какой-либо исполняемый файл для меня (используя KDevelop 5.2.1). Даже моя сборка не работает на моей установке. Но, возможно, это работает для вас. Возможно, вам придется установить Xdialog.

Этот вариант работает для меня (обработка пробелов в оболочке сложна): `sh -c 'eval $ (kdialog --title" Текстовый фильтр "--inputbox" Команда фильтра: ")'` daxim 6 лет назад 1
0
TMcSquared

KDevelop использует Kate в качестве своего текстового редактора: https://stackoverflow.com/questions/34337804/mutil-line-editing-in-kdevelop

А также, возможно, вы захотите взглянуть на перечисленные здесь привязки клавиш для того, что вы ищете: https://kate-editor.org/kate-vi-mode/

Похожие вопросы