Hallo Qt Entwickler!
Ich möchte eins meiner Tools um einen Code-Editor erweitern, um
Skriptsteuerung und Debugging zu vereinfachen. Die üblichen Features wie
Syntax Highlighting, Marker für Breakpoints, Fehler, Code-Folding usw.
sollten vorhanden oder leicht implementierbar sein.
Bisher ist das Tool für die Kommandozeile konzipiert. Ich möchte
stattdessen nun Qt als Oberfläche verwenden, steige aber gerade erst in
Qt ein und habe daher keinen Überblick über alle verfügbaren Widgets.
Gibt es etwas Fertiges wie oben beschrieben, open source oder <50€, nur
für Privatbedarf?
http://doc.qt.io/qt-5/qtwidgets-widgets-codeeditor-example.html zeigt
zwar ein Beispiel, wie man es sich selbst bauen könnte, doch es wird
mich Monate kosten, das umzusetzen.
QScintilla scheint von der Funktion her zu bieten, was ich suche, doch
ich kann keine 500$ ausgeben.
Dankeschön
Thomas
Nase schrieb:> Dann nimm doch das Widget aus dem QtCreator.
Sind die Sources des QtCreator auch verfügbar? Dann muss ich mich dort
mal durcharbeiten, danke!
Ein Update für andere Interessierte:
Die separate Nutzung des QtCreator Editors ist leider nicht
dokumentiert, und somit für mich unbrauchbar. Der Editor ist kein
gekapseltes Widget, sondern besteht aus mehr als einer Handvoll
Komponenten, die per Events kommunizieren, mit meinen Kenntnissen
unmöglich nachzuvollziehen.
Dies wurde 2011 auch hier diskutiert:
http://www.qtcentre.org/threads/39259-Use-Qt-Creator-s-text-editor-widget
In diesem Thread wird auch ein QtSourceView Widget angekündigt, das
jedoch nur 2011 einmal comitted wurde und anscheinend gestorben ist.
Hier gibt es einen anderen Entwurf von 2016, der allerdings außer Syntax
Highlighting und Zeilennummern nichts weiter bietet:
https://www.codeproject.com/Articles/1139741/QCodeEditor-Widget-for-Qt
Ich bin offen für weitere Vorschläge...
Thomas
Recherchier doch einfach was andere Qt basierte Editoren benutzen, da
muss es doch was geben.
Ich weiß zum Beispiel daß es einen Qt port von Scintilla gibt, das ist
die Komponente die Notepad++ auch verwendet (und zig andere) und
Scintilla gibts (zumindest für GTK und für Windows nativ) schon ewig und
ist dort hoch geschätzt, für mich persönlich wäre wahrscheinlich
QScintilla der erste Anlaufpunkt im Dschungel der vielen Qt
Editor-Komponenten weil ich früher viel mit SciTE unterwegs war und das
Editiererlebnis damit einfach bombastisch war.
Thomas schrieb:> QScintilla scheint von der Funktion her zu bieten, was ich suche, doch> ich kann keine 500$ ausgeben.
Wie kommst du eigentlich auf 500$? Musst du closed-source programmieren?
Ansonsten fällt mir noch das KatePart an, also die Editor-Komponente vom
KDE-Projekt: https://kate-editor.org
KatePart ist eine gute Editorkomponente (no bias), aber einen Qt
Widget-Editor hat es nicht. Ich wüsste von keiner IDE außer QtCreator,
die so ein Designer-Widget hat. Es gibt halt den Qt Designer auch als
Standalone-Anwendung, und die funktioniert auch so super, ist halt nur
ein Extra-Fenster statt ein Tab in der IDE ... ich denke das ist so die
gängige Lösung.
Sven B. schrieb:> KatePart ist eine gute Editorkomponente (no bias), aber einen Qt> Widget-Editor hat es nicht. Ich wüsste von keiner IDE außer QtCreator,> die so ein Designer-Widget hat.
Hä? Es geht doch um einen Code-Editor und nicht um einen GUI-Designer.
Bernd K. schrieb:> Ich weiß zum Beispiel daß es einen Qt port von Scintilla gibt, das ist
Genau, und der heißt QScintilla, wie ich im Eingangspost erwähnte und
ausschloss...
> QScintilla der erste Anlaufpunkt im Dschungel der vielen Qt
.. und den du anscheinend auch kennst. Oder ist dein genannter "Qt port
von Scintilla" etwas anderes als QScintilla?
Arc N. schrieb:> @TO: Keine Ahnung wie aufwendig das ist,
Antwort: zu aufwendig
> aber der umgekehrte Weg ginge> auch d.h. statt eigenem Tool ein Plugin für QtCreator schreiben...> https://doc-snapshots.qt.io/qtcreator-extending/first-plugin.html
Du bist Microsoft-Entwickler, ja? Kein anderer käme auf die Idee, für
einen simplen Code-Editor den Overhead einer gesamten IDE in Kauf zu
nehmen.
> zumindest für Ruby gibt's so was> https://github.com/hugopl/RubyCreator> So was geht auch bspw. mit Visual Studio Code> https://code.visualstudio.com/docs/extensions/overview
Ja, und in Eclipse und drölf anderen Plattformen gibt's sowas auch, aber
ich fragte nach einem Widget, nicht nach der Erweiterbarkeit von
QtCreator.
Und damit verabschiede ich mich aus dieser Sinnlos-Diskussion.
Arc N. schrieb:> Rolf M. schrieb:>> Sven B. schrieb:>>> KatePart ist eine gute Editorkomponente (no bias), aber einen Qt>>> Widget-Editor hat es nicht. Ich wüsste von keiner IDE außer QtCreator,>>> die so ein Designer-Widget hat.>>>> Hä? Es geht doch um einen Code-Editor und nicht um einen GUI-Designer.>> QtCreator ist seit einiger Zeit eine komplette IDE
Qt Creator war schon immer eine komplette IDE.
Ich sprach aber nicht davon, was Qt Creator ist, sondern davon, was der
TE sucht, und das ist kein GUI-Designer, sondern ein Texteditor.
Thomas schrieb:> Arc N. schrieb:>> @TO: Keine Ahnung wie aufwendig das ist,>> Antwort: zu aufwendig>>> aber der umgekehrte Weg ginge>> auch d.h. statt eigenem Tool ein Plugin für QtCreator schreiben...>> https://doc-snapshots.qt.io/qtcreator-extending/first-plugin.html>> Du bist Microsoft-Entwickler, ja? Kein anderer käme auf die Idee, für> einen simplen Code-Editor den Overhead einer gesamten IDE in Kauf zu> nehmen.
Warum wollte ich ursprünglich nur dazuschreiben: VS Code ungleich VS...
VS Code ist was komplett anderes siehe
https://github.com/Microsoft/vscode
Atom.io wäre was vergleichbares
> Ja, und in Eclipse und drölf anderen Plattformen gibt's sowas auch, aber> ich fragte nach einem Widget, nicht nach der Erweiterbarkeit von> QtCreator.
Einfaches Widget, um "Skriptsteuerung und Debugging zu vereinfachen."
dazu "Die üblichen Features wie Syntax Highlighting, Marker für
Breakpoints, Fehler, Code-Folding"
Wie man das Endergebnis dann wohl bezeichnen könnte...
Rolf M. schrieb:> Sven B. schrieb:>> KatePart ist eine gute Editorkomponente (no bias), aber einen Qt>> Widget-Editor hat es nicht. Ich wüsste von keiner IDE außer QtCreator,>> die so ein Designer-Widget hat.>> Hä? Es geht doch um einen Code-Editor und nicht um einen GUI-Designer.
Hups, hab ich irgendwie komplett missverstanden. Hast du natürlich
Recht.
Thomas schrieb:
>der allerdings außer Syntax Highlighting und Zeilennummern nichts>weiter bietet>Der Editor ist kein gekapseltes Widget, sondern besteht aus mehr als>einer Handvoll Komponenten>aber ich fragte nach einem Widget, nicht nach der Erweiterbarkeit>von QtCreator.
Anscheinend stellst du die falsche Frage.
Die Aufgabe Editor + Skriptsteuerung + Debugging ist zu Umfangreich. So
etwas lässt sich nicht mit einem trivialen Widget lösen. Musst dich halt
in das Geflecht mehrerer Komponenten einarbeiten.