Wie filtern Sie Text in Kdevelop?

417
daxim

In Kate kann ich einen Textblock markieren, die Ad-hoc-Filterfunktion mit einer Tastenbindung aufrufen und dann einen beliebigen Befehl in das Dialogfeld eingeben. (Meistens handelt es sich um eine Variation von sortoder grepoder perltidy.) Der Block wird in den Befehl stdin des Befehls eingespeist. Wenn der Befehl ausgeführt ist, ersetzt der Text stdout den Block.

Wie machst du das in Kdevelop? Es gibt keinen Textfilter-Menüeintrag oder keine Tastenbindung.

1
Ich habe KDevelop nur einmal und manchmal schon einmal verwendet, aber die Antwort scheint in diesem [Blogeintrag] (http://milianw.de/blog/kdevelop-externals-plugin) von 2010 enthalten zu sein, der besagt, dass Sie das ExternalScript-Plugin verwenden sollten . Wenn dieser Beitrag aus dem Jahr 2010 noch korrekt ist, sollten Sie dieses Plugin und ein Beispiel in der Distribution haben, um `sort / uniq` für die Auswahl im aktuellen Dokument durchzuführen. Der Text scheint auch zu sagen, dass Kate Scripts unterstützt werden. harrymc vor 6 Jahren 0
Bitte kommentieren Sie unsere Ideen. harrymc vor 6 Jahren 0
Es gibt nichts zu kommentieren, [thomas] (https://superuser.com/u/762942) hat gezeigt, dass das Textfilter-Plug-In gar nicht vorhanden ist. daxim vor 6 Jahren 0
Haben Sie überprüft, ob das ExternalScript-Plugin und Beispiele in Ihrer Distribution vorhanden sind? Sie können auch auf die Antworten unten eingehen. harrymc vor 6 Jahren 0

2 Antworten auf die Frage

2
thomas

Die Sache ist die, dass textfilterplugin.soeine ist, KTextEditor/Plugindie in residiert /usr/lib/qt/plugins/ktexteditor/. Kdevelop-Plugins werden in gespeichert /usr/lib/qt/plugins/kdevplatform/und müssen es sein KDevelop/Plugin.

Sie müssen also textfilterein Kdevelop-Plugin formen und daraus machen. Hier ist Ihr Ausgangspunkt: https://github.com/KDE/kate/tree/master/addons/textfilter

BEARBEITEN:

Wie harrymc darauf hinweist: Es gibt ein ziemlich ähnliches Plugin für KDevelop externalscript. Wenn aktiviert, können Sie es mit Hilfe des angedockten Panels rechts "External Scripts" konfigurieren. Hiermit können Sie ein Skript so konfigurieren, dass es als "Filtertext" bezeichnet wird, es an die von Ihnen verwendeten Schlüssel binden und es so ausführen lässt sh -c 'cmd=$(Xdialog --title "Command?" --inputbox "Please specify command to execute:" 10 100); [ -x "$cmd" ] && "$cmd"'.

Ich konnte diese Lösung nicht testen, da das Plugin keine ausführbaren Dateien für mich ausführen kann (mithilfe von KDevelop 5.2.1). Nicht einmal die Buildin-Sortierung funktioniert bei meiner Installation. Aber vielleicht klappt es bei dir. Sie müssen möglicherweise installieren Xdialog.

Diese Variante funktioniert für mich (Whitespace-Handling in der Shell ist kompliziert): `sh -c 'eval $ (kdialog --title" Textfilter "--inputbox" Filterbefehl: ")'` daxim vor 6 Jahren 1
0
TMcSquared

KDevelop verwendet Kate als Texteditor: https://stackoverflow.com/questions/34337804/mutil-line-editing-in-kdevelop

Vielleicht möchten Sie auch die hier aufgelisteten Tastenkombinationen nachschlagen, wonach Sie suchen: https://kate-editor.org/kate-vi-mode/