Einrichten der Syntaxhervorhebung von Code mit der Visual Studio Code-Erweiterung

Vor kurzem haben wir über unsere neue Visual Studio Code Erweiterung berichtet, die es VS Code ermöglicht, mit 4D für das Code Management zu kommunizieren. Die Syntaxhervorhebung war die erste Funktion des Language Server Protocol in 4D v19 R6. Schauen wir uns an, wie Sie die Darstellung Ihres Quellcodes anpassen können.

Sie können die Syntaxhervorhebung an Ihre eigene Stilvorlage oder an die 4D Standardstilvorlage anpassen, wie unten gezeigt:

Werfen wir einen Blick auf weitere technische Informationen.

semantische tokens

In allen Programmiersprachen setzt sich der Code aus semantischen Token zusammen. Ein semantisches Token ist ein Teil des Codes mit einer eindeutigen Bedeutung, wie Klassen, Methoden, Variablen usw. Wie andere Sprachen auch, ist der 4D Code in semantische Token und Modifikatoren unterteilt.

VS Code ermöglicht es Ihnen, semantische Token in seinem Code-Editor zu überprüfen. Um sie anzuzeigen, öffnen Sie die Befehlspalette von VS Code, suchen Sie „Inspect Editor Tokens and Scopes“ und wählen Sie sie aus.

blank

Eine Palette zeigt die Eigenschaften des Codeteils hinter dem Cursor an, einschließlich des semantischen Tokens und seines Modifikators, falls vorhanden. Wählen Sie einfach einen anderen Teil des Codes aus, um die zugehörigen Eigenschaften direkt zu sehen.

blank

Hier ist die Zuordnungstabelle zwischen 4D Sprache und LSP semantischen Token:

LSP semantisches Token 4D-Sprache
Methode Methoden
methode.defaultLibrary Befehle
methode.plugin Plugin-Methoden
eigenschaft Objekt-Attribute
Funktion Objekt-Mitgliedsfunktionen
Parameter Methodenparameter, Parameter von Objektfunktionen
variabel.prozessübergreifend prozessübergreifende Variablen
variabel.prozess Prozessvariablen
variabel.lokal lokale Variablen
Schlüsselwort Schlüsselwörter
Tabelle Tabellen
Feld Felder
Kommentar Kommentare
Typ Typen
Konstante Konstanten
Zeichenkette Zeichenketten
Fehler Fehler

Wie werden die Schriftarten eingestellt?

Sie werden vielleicht sagen: „Ok, VS Code erkennt 4D Code automatisch, aber was noch?“. Dies ist der letzte Schritt: die Einstellung der Schriftart für jedes semantische Token.
Um sie anzupassen, müssen Sie die von VS Code verwendete Einstellungsdatei bearbeiten. Öffnen Sie dazu die VS Code Befehlspalette, suchen Sie nach „Settings.json“ und bearbeiten Sie sie.
Zur Information, die VS Code Settings.json Datei befindet sich hier:

/Benutzer/{Benutzername}/Library/Application Support/Code/Benutzer/settings.json auf macOS
C:\Benutzer\{Benutzername}\AppData\Roaming\Code\User\settings.json unter Windows

blank

blank

Hier sind die JSON-Einstellungen, die hinzugefügt werden müssen, um den 4D-Code mit den Stylesheets „light 4D“ und „dark 4D“ anzuzeigen (suchen Sie in der settings.json nach der Zeile „4D-Analyzer.server.path“, und fügen Sie den gesamten folgenden Block in die Zeile darüber oder darunter ein):

"editor.semanticHighlighting.enabled": true,
    "editor.semanticTokenColorCustomizations": {
        "[Default Light+]":{
            "enabled": true,
            "rules": {
                "*:4d": {"foreground": "#000000", "bold": false, "italic": false, "underline": false, "strikethrough": false},
                "method:4d": {"foreground": "#000088", "bold": true, "italic": true},
                "method.defaultLibrary:4d": {"foreground": "#068c00", "italic": false},
                "method.plugin:4d": {"foreground": "#000000"},
                "property:4d": {"foreground": "#a0806b"},
                "function:4d": {"foreground": "#5f8e5e", "italic": true},
                "parameter:4d": {"foreground": "#000b76", "bold": true},
                "variable.interprocess:4d": {"foreground": "#ff0088"},
                "variable.process:4d": {"foreground": "#0000ff"},
                "variable.local:4d": {"foreground": "#0031ff"},
                "keyword:4d": {"foreground": "#034d00", "bold": true},
                "table:4d": {"foreground": "#532300"},
                "field:4d": {"foreground": "#323232"},
                "comment:4d": {"foreground": "#535353"},
                "type:4d": {"foreground": "#068c00", "bold": true},
                "constant:4d": {"foreground": "#4d004d", "underline": true},
                "string:4d": {"foreground": "#000000"},
                "error:4d": {"foreground": "#ff0000", "bold": true, "italic": true}
            }
        },
        "[Default Dark+]":{
            "enabled": true,
            "rules": {
                "*:4d": {"foreground": "#FFFFFF", "bold": false, "italic": false, "underline": false, "strikethrough": false},
                "method:4d": {"foreground": "#1B79F3", "bold": true, "italic": true},
                "method.defaultLibrary:4d": {"foreground": "#59BB00", "italic": false},
                "method.plugin:4d": {"foreground": "#BFBFBF"},
                "property:4d": {"foreground": "#A0806B"},
                "function:4d": {"foreground": "#4EC36E", "italic": true},
                "parameter:4d": {"foreground": "#0C70FF", "bold": true},
                "variable.interprocess:4d": {"foreground": "#FF0088"},
                "variable.process:4d": {"foreground": "#53B0EB"},
                "variable.local:4d": {"foreground": "#18B3F1"},
                "keyword:4d": {"foreground": "#575757", "bold": true},
                "table:4d": {"foreground": "#CF5600"},
                "field:4d": {"foreground": "#9C6765"},
                "comment:4d": {"foreground": "#8F8F8F"},
                "type:4d": {"foreground": "#59BB00", "bold": true},
                "constant:4d": {"foreground": "#FA647F", "underline": true},
                "string:4d": {"foreground": "#FFFFFF"},
                "error:4d": {"foreground": "#ff0000", "bold": true, "italic": true}
            }
        }
    },

Beachten Sie, dass das „:4d“ nach jedem semantischen Token-Typ nicht zwingend erforderlich ist, aber es ermöglicht Ihnen, diese Syntaxhervorhebung nur für die 4D-Sprache festzulegen. Dadurch bleibt die Syntaxhervorhebung für alle anderen Sprachen unberührt.
Wenn Sie die Einstellungen speichern, können Sie den Effekt direkt im Code-Editor sehen!

Diese Anpassung ist von Vorteil, wenn VS Code mit einem 4D Projekt verwendet wird, das ein Webpart enthält. Alle Sprachen behalten ihre eigene Syntaxhervorhebung: HTML, CSS, Javascript, und jetzt… 4D!

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.