Eine brandneue Visual Studio Code-Erweiterung zu Ihrer Verfügung

4D unterstützt jetzt das Language Server Protocol, um externen Quellcode-Editoren die Bearbeitung von 4D Code zu ermöglichen und ihnen Standardfunktionen wie Syntax-Highlighting, Syntax-Hilfe, Go to Definition oder Type ahead zur Verfügung zu stellen. Schauen wir uns an, wie man die Vorteile in Visual Studio Code nutzen kann.

Wichtig

Wir wissen, dass die 4D Community sehr an dem in der 4D IDE enthaltenen Code-Editor hängt. Er ermöglicht Ihnen eine schnelle Entwicklung mit allem, was Sie für die Erstellung einer Geschäftsanwendung benötigen, ohne 4D verlassen zu müssen: Datenstruktur entwerfen, Bildschirme entwerfen, codieren, testen und neu beginnen.
Mit der Veröffentlichung von Projects in 4D haben wir die Tür zur Quellcodekontrolle und zur Bearbeitung von 4D Quellcode außerhalb der 4D IDE geöffnet.
Wir sehen im Forum und in den Diskussionen, dass die Meinungen auseinander gehen. Einige von Ihnen würden nie auf die Idee kommen, etwas anderes als die 4D IDE zu verwenden – die wir von Release zu Release weiter verbessern. Eine wachsende Zahl von 4D Entwicklern verwendet jedoch bereits andere Editoren wie z.B. Visual Studio Code, weil sie darin viele Vorteile sehen: die Möglichkeit, ein 4D Projekt zu öffnen, um an den 4D Quellen, aber auch an anderen Quellen (z.B. HTML oder Javascript) zu arbeiten, das weit verbreitete Tool in der Entwicklergemeinde im Allgemeinen, die Integration mit Git, etc.
Aus diesem Grund möchten wir die Veröffentlichung von 4D v19 R6 nutzen, um Ihnen eine VS Code Erweiterung „4D Analyzer“ vorzuschlagen und Ihr Feedback dazu zu sammeln. Diese Erweiterung unterstützt in diesem Stadium nur Syntax-Highlighting, aber wir planen, in den nächsten Wochen/Monaten mehr zu bieten: Type ahead und alle Vorteile, die 4D durch LSP-Unterstützung erhalten könnte.
Natürlich hat diese Initiative keine Auswirkungen auf Ihren 4D Code-Editor! Es ist eine Unterstützung der Reflexion, um sich mit Ihnen über alle Möglichkeiten auszutauschen und Ideen zu teilen.

Wir wünschen Ihnen viel Spaß bei der Verwendung!

Rendering in Visual Studio Code

Hier ist die Darstellung einer 4DM-Datei, die in VS Code geöffnet wird, wenn die neue Erweiterung installiert ist, mit Standard-Syntaxhervorhebung:

Wenn Sie Ihren Code in VS Code noch besser lesbar machen wollen, vergessen Sie nicht, dass Sie 4D so konfigurieren können, dass die 4DM Dateien ohne Token geschrieben werden.

Wie TUT es funktionieren?

Eine VS Code Erweiterung für die Syntaxhervorhebung von 4D Code war bereits verfügbar, aber sie basierte auf Regex und war auf die Syntaxhervorhebung beschränkt.

Ab v19 R6 unterstützt 4D das Language Server Protocol (LSP), eine Standardschnittstelle zwischen Code-Editoren und Sprachen.
LSP bietet verschiedene Funktionalitäten, die in Code-Editoren häufig verwendet werden, wie z.B. Syntax-Highlighting, Syntax-Hilfe, go to definition oder type ahead. Das 4D Team integriert dieses Standardprotokoll und hat eine brandneue Visual Studio Code Erweiterung entwickelt, um die Vorteile dieses Protokolls zu nutzen.
Wenn Sie eine 4DM Datei mit VS Code öffnen, startet die Erweiterung eine 4D Instanz im Headless Modus, um mit dem LSP Server zu kommunizieren. Diese 4D Instanz lädt die 4DM Datei und den Kontext, um die LSP Funktionalitäten über die Erweiterung an den VS Code Editor zu liefern.

Installieren der Visual Studio Code Erweiterung

Die Installation der Erweiterung ist sehr einfach. Öffnen Sie VS Code, wählen Sie die Registerkarte Erweiterungen und suchen Sie im Marketplace nach der Erweiterung „4D-Analyzer“.
Wenn Sie sie gefunden haben, wählen Sie sie aus und klicken Sie auf die Schaltfläche „Installieren“.

blank

Eine andere Möglichkeit ist, die 4D-Analyzer Erweiterung direkt vom Visual Studio Code Marketplace herunterzuladen!

Sobald die Installation abgeschlossen ist, öffnen Sie die Einstellungen der Erweiterung (die Schaltfläche mit dem kleinen Zahnradsymbol). Geben Sie in der Einstellung Serverpfad den Pfad der 4D Anwendung (4D oder 4D Server) ein, die von der Erweiterung verwendet werden soll.
blank
Wenn Sie auf macOS entwickeln, sollten Sie sich einer Einschränkung des Betriebssystems bewusst sein: Das System erlaubt Ihnen nicht, eine 4D Instanz (Standalone oder Server) zu öffnen, wenn Sie diese bereits mit VS Code ausgeführt haben. Der Workaround besteht darin, eine eigene ausführbare Datei in der Erweiterung einzurichten oder 4D vor VSCode zu öffnen .

Öffnen einer 4DM Datei

Sobald die Erweiterung installiert und eingerichtet ist, können Sie das Ergebnis sehen!

Je nachdem, wie Sie VS Code verwenden, können Sie einzelne 4DM-Dateien über das Menü „Datei öffnen“ oder ein ganzes Projekt über das Menü „Ordner öffnen“ und die Auswahl des Projektordners öffnen. Im letzteren Fall müssen Sie nur auf eine 4DM-Datei im VS Code-Explorer klicken, um sie im Editor zu öffnen.

Wenn Sie eine 4DM Datei im VS Code Editor öffnen, startet die Erweiterung eine ausführbare 4D Instanz in einem Headless-Modus, die die 4DM Datei verarbeitet. Die ausführbare 4D Instanz verarbeitet das gesamte 4DM Dateiprojekt, um den gesamten Projektcode-Kontext zu laden. Und wenn das VS Code-Fenster geschlossen wird, wird auch die 4D Instanz, die diesem Fenster zugeordnet ist, geschlossen.

Sie sehen, dass alles automatisch für Sie erledigt wird!

Ein erster Schritt

Nachdem Sie die VS Code-Erweiterung installiert und eingerichtet haben, werden Sie automatisch von anderen LSP-Kapazitäten profitieren, die von späteren 4D Versionen angeboten werden. Der nächste Schritt besteht darin, die Farben so einzustellen, dass sie zu Ihrem Farbschema passen, wie in diesem Blogbeitrag beschrieben.

Wir freuen uns sehr über diese neue Erweiterung. Geben Sie uns gerne Ihr Feedback im 4D Forum!

Avatar
- Product Owner - Damien Fuzeau ist seit Februar 2019 Mitglied des 4D Produktteams. Als Product Owner ist er für das Schreiben von User Stories zuständig, die er dann in funktionale Spezifikationen umsetzt. Zu seinen Aufgaben gehört es auch, dafür zu sorgen, dass die gelieferten Funktionsimplementierungen den Anforderungen der Kunden entsprechen. Damien hat an der Universität von Nantes einen Abschluss in Softwaretechnik gemacht. Er verbrachte mehr als 23 Jahre in seinem früheren Unternehmen, zunächst als Entwickler (er entdeckte 4D im Jahr 1997) und später als technischer Leiter und Softwarearchitekt. Dieses Unternehmen ist ein 4D OEM Partner und hat 4D basierte Geschäftssoftware für Tausende von Usern auf Hunderten von Servern eingesetzt. Damien ist also mit der Entwicklung und dem Einsatz von 4D in einem mehrsprachigen Kontext vertraut.