Hallo, ich habe den nachfolgenden Beitrag in einem Qt-Forum geschrieben. Nachdem das allerdings ziemlich verwaist zu sein scheint, versuch ich es einfach mal hier. "Ich möchte gern den QtCreator als Enwicklungsumgebung für VHDL benutzen. Das heißt eigentlich nur als Editor und Frontend für Simulationen & Unit Tests. Synthese kann weiterhin mit den Tools der FPGA-Hersteller erfolgen. Zu meiner Motivation: Als VHDL-Enwickler hat man, wegen der verglichen mit Programmiersprachen wie C/C++ etc. geringeren Verbreitung, eine deutlich kleinere Auswahl an Entwicklungstools. Das Maß der Dinge ist da immer noch der gute alte Emacs mit VHDL-Mode. Nur das proprietäre Sigasi Studio kann mehr, das kostet aber auch an die 1000€ pro Jahr. Außerdem ist es wie so viele IDEs Eclipse-basiert und ich schaff es einfach nicht mit dem Look&Feel von Eclipse anzufreunden :) . Genau so gehts mir mit dem Emacs. Es ist toll was damit möglich ist aber ich habe auch nach Jahren des Gebrauchs noch das Gefühl man muss in einer Unix-Commandline-Welt aufgewachsen sein, um sich damit richtig wohl zu fühlen. Den QtCreator dagegen liebe ich einfach. Ein VHDL Highlighting hat der sogar schon an Board, und eine Simple Projekt/Datei-Verwaltung ist natürlich auch möglich. Ich habe es auch geschafft, über die externen Tools den Emacs im bash mode als Code Beautyfier zu verwenden. Was ich mir aber noch wünsche sind Dinge wie, Refactoring, Code Navigation wie von C++ Files gewohnt, usw. Ich möchte dafür gern ein Plugin schreiben. Allerdings habe ich mit dem Plugin API noch keinerlei Erfahrung und weiß nicht wie viel Kontrolle ich damit habe. Kann mir jemand sagen, ob mein Anliegen auf diesem Weg umsetzbar ist?" Gruß Philip
Die Frage bezieht sich zwar speziell auf VHDL, aber eigentlich kann man sie auch verallgemeinern: Lässt sich der QtCreator per Plugin so erweitern, dass er beim Editieren für andere Sprachen eine ähnliche Funktionalität bietet wie für C/C++ Projekte.
Kenne QtCreator selber nicht, aber falls der mit Language Servern umgehen kann sollte sich da was machen lassen. Gäbe auch schon was, das dabei helfen könnte: https://www.vhdltool.com Das kann wohl auch mit Emacs. Als Eclipse-Alternative könntest Du Dir auch z.B. mal die auf der Seite erwähnten VSCode oder Sublime als IDE anschauen. Eventuell gafallen die Dir ja besser.
Die Anleitung unter https://doc-snapshots.qt.io/qtcreator-extending/extending-index.html sieht doch eigentlich recht ausführlich aus. Es gibt ja auch schon einige existierende Plugins, siehe https://wiki.qt.io/Qt_Creator_Plug-in_Gallery Dort gibt es z.B. ein Ruby-Plugin, das du mal anschauen könntest. Kannst ja ein paar Fingerübungen in Ruby machen und dabei schauen, was das Plugin kann. Letztendlich ist das Thema eben ein bisschen exotisch, vermutlich wirst du da alleine durch müssen. Qt ist nicht Mainstream (Eclipse), VHDL ist auch deutlich seltener als C/C++/Java. Irgendwann ist eben der Punkt erreicht, wo die Schnittmenge einen Menschen umfasst. Und das bist dann wohl du. Wenn du das kommerziell einsetzt (was ich annehme): das wäre doch eine prima Aufgabe für einen Studenten...
:
Bearbeitet durch User
Naja, die Doku von Qt geht an der Stelle eigentlich nicht besonders in die Tiefe. Ich finde nirgends eine Übersicht, was ich eigentlich aus einem Plugin heraus alles anstellen kann. Ein Blick in vorhandene Plugins wäre mein nächster Schritt gewesen. Ich dachte nur mir kann vielleicht jemand was dazu sagen. Vielleicht ist das aber gar nicht mehr nötig. Danke für den Hinweis mit dem vhdltool. Das kannte ich noch nicht. Überhaupt war mir das Konzept eines Language Servers noch unbekannt. Der VSC Editor scheint tatsächlich auch sehr brauchbar zu sein, den kannte ich ebenfalls noch nicht. Ich werde die Kombi mal testen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.