![]() |
OmniPascal: Delphi oder FreePascal in Visual Studio Code
Hi,
ich bin durch einen Tweet von einem der Lead-Microsoftler für ASP.NET vNext darauf Aufmerksam geworden: ![]() VSCode ist im Prinzip mehr Code-Editor als IDE, und jemand hat sich die Mühe gemacht hier eine Extension zu schreiben die Syntax-Highlighting und Code completion für Delphi / FreePascal zur Verfügung stellt. David Fowler war sichtlich beeindruckt, denn sein ![]() Zitat:
|
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Zitat:
![]() |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
|
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
(Offtopic) Wow, ich wusste gar nicht dass Erich Gamma hinter VS Code steckt. :shock:
|
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Jupp. Viele geniale Features in VS in den letzten Jahren kamen aus Zürich ;-)
Am meisten beeindruckend finde ich aber, das man inzwischen einen Code-Editor inkl. Debugger für C# komplett in JavaScript (bzw. in diesem Fall konkreter in TypeScript) bauen kann. Jetzt hat also Anders Heijlsberg Delphi geschrieben, dann C# mit entwickelt, dann TypeScript, dann baut Erich Gamma mit TypeScript VSCode - eigentlich um damit C# zu schreiben - und dann kommt ein Delphianer daher und baut eine Erweiterung um damit wieder Pascal zu schreiben. :thumb: |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Ein alternativer Code-Editor für Pascal mit (schneller) Codevervollständigung und einem Haufen anderer Features? Tolle Idee.
Ich hatte da gleich ein paar Fragen:
Hat das denn mal jemand von euch ausprobiert? Ich habe das gerade Mal gemacht. Die Installation war einfach. Das Highlightning sieht gut aus. Die Antworten auf meine Fragen
Ok, tolle Leistung mal eben das Syntax-Highlightning für Pascal in VS-Code umzusetzen (mir fehlt allerdings noch die Unterstüzung für DFM-dateien). Ansonsten, ganz normal weiter arbeiten. Nichts besonderes passiert. |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Zitat:
|
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Da wollte ich gerade die Ankündigung machen und dann sehe ich, dass das bereits geschehen ist. Vielen Dank für die positiven Reaktionen bis hier hin!
Derzeit befindet sich das Projekt noch in einem frühen instabilen Stadium. Daher gibt es noch einige offene Bugs, die gerne hier berichtet werden dürfen: ![]() @HeZa DPR-Dateien werden gerade nicht unterstützt. DPROJ-Dateien werden aktuell auch noch gar nicht geöffnet. Das sind alles Dinge, die nach und nach kommen. In Units sollte die Code-Completion hingegen funktionieren. Der Suchpfad setzt sich aktuell so zusammen: [Alle Ordner im ObjectPascal.DelphiInstallationPath aus der Config] + [Alle Ordner im geöffneten Verzeichnis von VSCode] |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Grandiose Leistung! Gratuliere!
Sherlock |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Zitat:
Soll dort der Delphi, FPC oder andere Compiler mit Debugger noch eingebunden werden? Oder soll dies "nur" ein Editor bleiben? |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Ziel ist es einen guten alternativen Editor zu haben, der alle modernen Standards unterstützt.
Ein Form-Designer oder gar ein eigener Compiler ist nicht geplant. Delphi und Free Pascal reichen meiner Meinung nach auch völlig aus. Einen bestehenden Compiler anzubinden, ist generell bereits möglich. Build-Prozesse aus dem Editor zu starten, ist ein Standard-Feature in VSCode. Dazu wird es zeitnah noch einen Blogpost geben. Den Debugger würde ich sehr gerne anbinden. Allerdings gibt es keine offizielle API für den Debugger, sodass es ein schweres - wenn nicht gar ein unmögliches - Unterfangen darstellen würde, ihn in den Editor einzubinden. Keine Ahnung, ob der RemoteDebugger da mehr Möglichkeiten bietet. Das Thema ist aber auch noch weit weg. Derzeit geht es um Bugfixes und um den Einbau zusätzlicher nützlicher Editor-Features. Da gibt es definitiv noch einiges zu tun. |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Zitat:
![]() ![]() ![]() |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Liste der Anhänge anzeigen (Anzahl: 1)
Ich wollte es jetzt endlich einmal ausprobieren. Ich gehe strikt nach der Anleitung auf
![]()
Code:
folgendes:
%appdata%\Code\User\settings.json
Code:
Ich komme nicht weiter als Syntax-Highlighting, wenn ich bspw. die Maus auf einen Bezeichner halte tut sich nichts, und der Editor zeigt nach einer Sekunde eine deutsche Messagebox "Order nicht angegeben" an.
// Place your settings in this file to overwrite the default settings
{ "objectpascal.delphiInstallationPath": "C:\\Program Files (x86)\\Embarcadero\\Studio\\15.0", "objectpascal.searchPath": "C:\\Program Files (x86)\\Embarcadero\\Studio\\15.0\\source" //"objectpascal.delphiInstallationPath": "C:\\Program Files (x86)\\Embarcadero\\Studio\\15.0" } |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Sorry, ich habe deinen Beitrag jetzt erst gesehen.
Tritt das Problem mit der aktuellen Version noch auf? OmniPascal v0.9 ist seit zwei Tagen erhältlich. |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Nein, es ist weg. Vielen Dank :-)
Ein bisschen Code-Vervollständigung habe ich jetzt. Aber ich bin mir immer noch sehr unsicher wie die Config-Dateien nun aussehen müssen. Die Tooltipps sind ja jetzt auch wieder anders. Ist es so richtig?
Code:
{
"objectpascal.delphiInstallationPath": "C:\\Program Files (x86)\\Embarcadero\\Studio\\15.0", "objectpascal.searchPath": "C:\\Program Files (x86)\\Embarcadero\\Studio\\15.0\\source\\*" } |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Zitat:
Zitat:
Ein Beispiel für eine real exisiterende Konfiguration ist diese hier:
Code:
"objectpascal.searchPath": "D:\\ComponentsXE6\\Spring4D\\source\\*;D:\\ComponentsXE6\\JEDI\\*", "objectpascal.delphiInstallationPath": "C:\\Program Files (x86)\\Embarcadero\\Studio\\16.0\\source", |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Die Navigation ist ja mal der Hammer! Ok, die in der Delphi IDE ist unterirdisch, aber gegenüber dem ReSharper fehlt hier echt nicht mehr viel. Klasse Arbeit soweit!
Ich habe dir ein paar Bug Reports auf bitbucket hinterlassen, gerne kann ich dir noch weitere erstellen :lol:, aber ich denke du weißt schon was noch fehlt. Echt genial weiter so! |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Habe ich das richtig eingetragen?
{ "objectpascal.delphiInstallationPath": "/usr/local/lib/fpc/3.0.0", "objectpascal.searchPath": "/usr/local/share/src/" } Ich muss dazu sagen, dass ich bis jetzt nur unter Windows mit RX erfolgreich getestet habe und jetzt das ganze mal mit FPC unter OSX nutzen wollte :) Christian |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Bei mir hat es an die 10 Minuten gedauert, bis er alles "indexiert" hat. War auch faul und habe sowas eingetragen :-D
Code:
Wenn du was falsch machst, dann ist unter dem Pfad eine rote Wellenlinie. z.B. unter Windows nur ein \, wegen JSON Format ...
{
"objectpascal.searchPath": "C:\\Program Files (x86)\\DevExpress VCL\\*;C:\\Users\\Public\\Documents\\RAD Studio\\*;C:\\Users\\geskill\\Documents\\RAD Studio\\Projekte\\*", "objectpascal.delphiInstallationPath": "C:\\Program Files (x86)\\Embarcadero\\RAD Studio\\7.0\\source" } Fall es nicht klappt, dann setzte hinter deinen ein Suchpfad ein Sternchen, also:
Code:
{
"objectpascal.delphiInstallationPath": "/usr/local/lib/fpc/3.0.0", "objectpascal.searchPath": "/usr/local/share/src/*" } |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Zitat:
In meinen User Settings habe ich einfach nur
Code:
eingetragen. Hyperlinks, Mouser-Over-Hints uvm funktioniert - einfach perfekt. OmniPascal wird für Entwicklung mit Free Pascal (Windows und Linux) "mein" Editor. Für den Build setze ich Ant ein, Lazarus brauche ich dann nur noch hin und wieder fürs Debugging...
"objectpascal.delphiInstallationPath": "C:\\Users\\Michael\\Desktop\\Sandbox"
|
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Sehr beeindruckend! Das Teil ist unerwartet genial! :thumb:
|
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Ups, heute funktioniert OmniPascal nicht mehr - nicht in der gestern installierten Win 8.1 Umgebung, und nicht in einer Windows 7 VM. Ich habe allerdings Windows Search deaktiviert. Ich vermutete, Visual Code verwendet die Windows Search Indizierung und habe sie wieder aktiviert, leider noch nicht mit Erfolg. Muss jetzt eventuell warten bis die Festplatten wieder indiziert sind :)
... Ups: mein Fehler - hatte vergessen dass man einen Ordner öffnen muss, nicht nur eine einzelne Datei. Der erwartete Shell-Menüeintrag 'Open with Code' fehlt bei mir, und wenn man eine einzelne Datei öffnet, gibt es keine Hypertext-Funktionen... |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Zitat:
Zitat:
Zitat:
Ich weiß, dass noch einige Dinge fehlen aber wenn du noch irgendwas findest, was noch nicht im ![]() Zitat:
Wie viele Dateien und Ordner befinden sich in deinem Suchpfad (searchPath + delphiInstallationPath + geöffneter Order in VSCode)? Zitat:
Zitat:
![]() |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Zitat:
Wer interessiert ist, erfährt hier mehr: ![]() |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Das Ding wird immer interessanter.. Danke für den Hinweis. Mit Lazarus / CodeTyphoon werde ich irgend wie nicht warm....
|
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
OmniPascal funktioniert jetzt auch unter Linux und Mac. Für die Entwicklung mit FreePascal ist das mit Sicherheit interessanter als für die reine Delphi-Entwicklung. Wer sich für die Release notes interessiert, findet sie hier:
![]() |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Seit gerade ist Version 0.15.0 verfügbar. Nun haben wir in VSCode auch Unterstützung für Methoden-Aufrufe mit generischen Parametern und noch vielen weiteren Änderungen. Das vollständige Change-Log gibt es hier:
![]() |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Eine Frage: wie kompiliert und erzeugt man eigentlich Projekte und Projektgruppen in VSCode/OmniPascal?
|
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Zitat:
- Einmalig die automatische Erzeugung von Build-Skripten freischalten. Dazu gehst du in die Einstellungen (STRG + ,) und fügst in den User-Settings den Eintrag
Code:
hinzu. Anschließend startest du VSCode neu
"omnipascal.createBuildScripts": true,
- Öffne das Wurzel-Verzeichnis des zu kompilierenden Projektes in VSCode - Öffne zunächst irgendeine PAS-Datei - Klicke in der Status-Leiste auf "OmniPascal: No project loaded" und wähle aus der Liste die gewünschte Projekt-Datei aus - Im Hintergrund werden jetzt Build-Skripte erzeugt. Diese bestehen einerseits aus der Datei "CompileOmniPascalServerProject.bat" und einer "tasks.json" - Um den Kompilier-Vorgang zu starten, führst du den Build-Task aus: F1 -> ">Tasks: Run build task" - Um zu kompilieren und die Anwendung anschließend zu starten, führst du den Test-Task aus: F1 -> ">Tasks: Run build task" (Tip: Du kannst auch Keyboard-Shortcuts für die Task-Ausführung vergeben) Für den Fall, dass der Kompiliervorgang nicht funktioniert, schaue mal bitte in die generierte CompileOmniPascalServerProject.bat. Da sind oben Pfade für MSBuild.exe und rsars.bat aufgeführt. OmniPascal versucht die Pfade beim Start eigenständig zu ermitteln. Das funktioniert aber nicht auf jedem System zuverlässig. In dem Fall solltest du in den Einstellungen zusätzlich noch "omnipascal.delphiInstallationPath" und "omnipascal.msbuildPath" selbst definieren und VSCode anschließend neu starten. Für Projekt-Gruppen gibt es derzeit keine automatische Unterstützung. Dort müsstest du dir deine eigene Batch-Datei schreiben, die dir die Projekte in gewünschter Reihenfolge kompiliert und ggf. ausführt. |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo zusammen,
Ich bin komplett neu was Lazarus, Free Pascal oder VS Code angeht und habe mit einem simplen Beispielprogram einen import von Lazarus zu VS Code versucht. Nun habe ich nach langem herum probieren mit euren ganzen Fragen und Antworten schon einiges geschafft. Mein Beispielprojekt kann ich als Ordner in VS Code öffnen und die folgenden Schritte funktionieren auch: Zitat:
und "omnipascal.msbuildPath". Da ich kein Delphi einbinde/nutze verstehe ich das dort bei mir Lazarus zu finden ist. Der Pfad stimmt bei mir auch. Bei dem Versuch zu Kompilieren (">Tasks: Run build task") bekomme ich nun folgende Fehlermeldung: Error: (lazarus) invalid Lazarus directory "": directory lcl not found Error: (lazarus) Building failed: C:\Users\Daniel\Desktop\Project_test\test.lpi Mir ist leider nicht klar, was nun das Problem ist. Ich habe auch die User Settings wie folgt angepasst: { "omnipascal.defaultDevelopmentEnvironment": "FreePascal", "omnipascal.createBuildScripts": true, "omnipascal.lazbuildPath": "C:\\lazarus\\lazbuild.exe", "omnipascal.freePascalSourcePath": "C:\\lazarus\\fpc\\3.0.2" } Ich habe den Projektordner und 2 Screenshots mal gezipped und angehangen, falls das hilft. Ich danke jetzt schon einmal für die Mühe und die Hilfe. Es ist bestimmt etwas ganz simples, was ich einfach übersehen habe. Grüße NewrisK PS: Muss man die Schritte zum Einbinden (Zitat oben) des Projektes zu jedem Neustart von VS Code ausführen? Denn es steht immer wieder "OmniPascal: No project loaded" in der Statusleiste wenn ich es neustarte. EDIT: Noch eine Frage. Wenn ich die User oder Workstation Settings in VS Code öffne, sind dort immernoch die Standard Werte eingetragen. In dem settings.json File werden meine Änderungen aber angezeigt. Ich weiß dass die Änderungen benutzt werden, da er sonst mit "uses crt;" Probleme haben würde, aber es ist irritierend, das die Einstellungen nicht richtig übernommen werden.(Zumindest finde ich es verwirrend) |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Das sieht schon mal ganz gut aus. Die Einstellungen sehen korrekt aus. Allerdings scheint LazBuild noch Probleme zu haben. Das schließe ich aus der Fehlermeldung in dem Screenshot bezüglich des LCL Pfads. Ich habe das Problem auch mal gehabt aber ich bin mir nicht mehr ganz sicher wie ich es gelöst habe.
Kann es sein, dass du Lazarus noch nicht geöffnet hattest? Wenn du es das erste mal öffnest, erscheint ein Einrichtungsdialog, den du einfach nur mit OK bestätigst. Ich glaube das schreibt den LCL Pfad an die richtige Stelle. Versuche anschließend mal ein neues Projekt mit Lazarus zu erstellen und zu kompilieren. Wenn das klappt, dann starte VSCode neu. Dann sollte alles funktionieren. Wenn du alles richtig eingestellt hast, brauchst du die Einstellungen nicht jedes mal neu setzen. Lediglich das Projekt muss nach jedem Neustart neu geladen werden. Deine persönlichen Einstellungen sollten im rechten Fenster angezeigt werden. Die Standardeinstellungen stehen im linken Fenster. Die Workspace Einstellungen beziehen sich immer auf den aktuell geöffneten Ordner, während sich Benutzer Einstellungen auf den Windows User allgemein beziehen. Hast du vielleicht in die falsche settings.json geschaut? |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Hey,
Danke für die schnelle Antwort. Hatte Lazarus schon gestartet gehabt, habe das Programm dort geschrieben. Ich habe nun ein wenig rumprobiert und es läuft jetzt! Ich habe in den Settings bei VS Code "omnipascal.searchPath": "C:\\lazarus\\*" ergänzt und habe in Lazarus selber nochmal in den Einstellungen die Pfade händisch neu eingetrtagen. Grüße und ein schönes Wochenende! |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Wird es irgendwann eine Delphi-implementierung geben die kein Fachwissen voraussetzt? D.h. Gruppen-Kompilierung, Bereinigung, Erzeugen usw. ohne, dass man irgendwelche Pfade anlegen muss?
|
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Zitat:
Gruppen-Projekte werden derzeit noch nicht unterstützt. Das wird sich je nach Bedarf auch noch früher oder später ändern. |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Ich kann mir OmniPascal schon fast nicht mehr wegdenken wenn ich an Rechnern mit 125% dpi unterwegs bin. Beim RAD Studio bekomme ich irgendwann ernsthaft Kopfschmerzen bei dem Pixelbrei. Führende Augenärzte empfehlen VSC/OmniPascal :thumb:
PS: Mit der Starter-Edition funktioniert aufgrund fehlender RTL-Sourcen die Code-Completion natürlich nicht so dolle, oder? |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Zitat:
Sie arbeitet mit sowas wie Debuginfos. Entweder live über den Backgroundcompiler aus PAS erstellt oder aus vorkompilierten DCUs. Das ist auch der Grund, warum die machmal nichts macht, denn wenn der Backgroundcompiler abraucht, dann kommt da nichts raus, vor allem da auch die Fehler still und heimlich unterdrückt werden. Wäre toll, wenn sowas in einer optinal anzeigbaren Debugconsole landen würde. |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Entweder bin ich einfach nur übermüdet oder tatsächlich dumm.
Aber wie bekomme ich VSC mit OmniPascal dazu Projektgruppen zu laden, kompilieren und zu erzeugen? |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Guckst du zwei Beiträge weiter nach oben.
|
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Es gibt übrigens eine neue Version. Mehr Infos hier:
![]() |
AW: OmniPascal: Delphi oder FreePascal in Visual Studio Code
Zitat:
Oh yeah! 8-) :thumb: (Wenn es nur aufhören würde die Templates alle mit einer Einrückung von 2 Leerstellen einzufügen und stattdessen die Benutzereinstellungen respektieren würde ;-) ) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz