在 Kate 中,我可以突出显示一段文本,使用键绑定调用临时过滤器功能,然后在对话框中输入任意命令。(大多数情况下,它是sort
或grep
或的变体perltidy
。)该块被输入到命令的标准输入中,当命令完成后,其标准输出文本将替换该块。
在 Kdevelop 中如何做到这一点?没有文本过滤器菜单项或键绑定。
答案1
问题是,它textfilterplugin.so
是一个KTextEditor/Plugin
位于 中的插件/usr/lib/qt/plugins/ktexteditor/
,Kdevelop 插件存储在 中/usr/lib/qt/plugins/kdevplatform/
,并且必须是KDevelop/Plugin
。
因此您需要 forktextfilter
并制作一个 Kdevelop 插件。这是您的起点:
https://github.com/KDE/kate/tree/master/addons/textfilter
编辑:
作为哈里麦克指出:KDevelop 中有一个非常类似的插件,叫做externalscript
。如果已激活,您可以借助右侧的停靠面板“外部脚本”对其进行配置。通过它,您可以配置一个名为“过滤文本”的脚本,将其绑定到您习惯使用的键,并让它执行类似 的操作sh -c 'cmd=$(Xdialog --title "Command?" --inputbox "Please specify command to execute:" 10 100); [ -x "$cmd" ] && "$cmd"'
。
我无法测试此解决方案,因为插件无法为我运行任何可执行文件(使用 KDevelop 5.2.1)。在我的安装中,甚至内置排序都无法工作。但也许它对你有用。你可能需要安装Xdialog
。
答案2
KDevelop 使用 Kate 作为其文本编辑器:https://stackoverflow.com/questions/34337804/mutil-line-editing-in-kdevelop
并且您可能还想查看此处列出的键绑定,以查找您要查找的内容:https://kate-editor.org/kate-vi-mode/