Forum: PC-Programmierung Qt CodeEditor Widget gesucht


von Thomas (Gast)


Lesenswert?

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

: Gesperrt durch Moderator
von Nase (Gast)


Lesenswert?

Dann nimm doch das Widget aus dem QtCreator.

von Thomas (Gast)


Lesenswert?

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!

von Thomas (Gast)


Lesenswert?

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

von Bernd K. (prof7bit)


Lesenswert?

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.

von Nase (Gast)


Lesenswert?

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

von Sven B. (scummos)


Lesenswert?

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.

von Rolf M. (rmagnus)


Lesenswert?

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.

von Thomas (Gast)


Lesenswert?

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?

von Arc N. (arc)


Lesenswert?

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

@TO: Keine Ahnung wie aufwendig das ist, 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
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

von Thomas (Gast)


Lesenswert?

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.

von Rolf M. (rmagnus)


Lesenswert?

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.

von Arc N. (arc)


Lesenswert?

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...

: Bearbeitet durch User
von Sven B. (scummos)


Lesenswert?

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.

von Noch einer (Gast)


Lesenswert?

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.

von Oliver S. (oliverso)


Lesenswert?


Beitrag #5277957 wurde von einem Moderator gelöscht.
von Carl D. (jcw2)


Lesenswert?

Link 1 ist ein Qt-Beispiel, in dem folgender Link zu finden ist:
http://doc.qt.io/qt-5/qtwidgets-richtext-syntaxhighlighter-example.html

Wenn das nicht das richtige sein sollte, ...

Beitrag #5277980 wurde von einem Moderator gelöscht.
Beitrag #5278000 wurde von einem Moderator gelöscht.
Beitrag #5278011 wurde von einem Moderator gelöscht.
Beitrag #5278020 wurde von einem Moderator gelöscht.
Beitrag #5278037 wurde von einem Moderator gelöscht.
Beitrag #5278042 wurde von einem Moderator gelöscht.
Beitrag #5278058 wurde von einem Moderator gelöscht.
Beitrag #5278063 wurde von einem Moderator gelöscht.
Beitrag #5278069 wurde von einem Moderator gelöscht.
Beitrag #5278158 wurde von einem Moderator gelöscht.
Beitrag #5278174 wurde von einem Moderator gelöscht.
Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.