Arbeiten mit Typings
Worum geht es?
Typings sind Typbeschreibungen (.d.ts-Dateien und JSDoc-Kommentare), mit denen VS Code unsere DOCUMENTS-Skripte versteht, obwohl sie in reinem JavaScript geschrieben sind. VS Code nutzt dafür im Hintergrund den TypeScript-Sprachdienst. Das Ergebnis:
- IntelliSense: Autovervollständigung für
context,util,DocFile,FileResultset& Co. inklusive Parameterhilfe. - Doku direkt im Editor: Beim Hovern über eine Funktion erscheint ihre Beschreibung. Das spart den Blick in die Portalscripting-API-Doku.
- Fehler vor dem Upload finden: Tippfehler in Methodennamen, falsche Parametertypen oder vergessene
null-Prüfungen werden markiert, bevor das Skript auf dem Server landet. - Sichere Refactorings: "Umbenennen" (F2) und "Alle Verweise suchen" (Shift+F12) funktionieren projektweit.
Diese Seite zeigt, wie Typings in unserem Workspace eingerichtet sind und wie ihr sie in eigenen Skripten nutzt. Alle Beispiele stammen aus unserer Codebasis.
Projekt-Setup
Damit VS Code die Typings findet, braucht ein Workspace zwei Dinge: eine jsconfig.json im Root und den Ordner typings/ mit den .d.ts-Dateien. Beides legt die DOCUMENTS-Extension (vscode-documentsos) beim Einrichten des Projekts an.
jsconfig.json
Die jsconfig.json sagt VS Code, welche Dateien zum Projekt gehören und welche JavaScript-Version gilt. Unsere aktuelle Konfiguration:
{
"compilerOptions": {
// "checkJs": true,
"target": "es2016",
"lib": ["es2016", "scripthost"]
},
"include": [
"node_modules/@types/**/*.d.ts",
"src/**/*.js",
"typings/**/*.d.ts"
]
}
includebindet unsere Skripte (src/) und alle Typings (typings/) ein. Nur was hier steht, kennt IntelliSense.liblässt bewusstdomweg. Sonst kollidieren die Browser-KlassenFileundDocumentmit den gleichnamigen DOCUMENTS-Klassen.target: es2016schaltet Autovervollständigung für ES6-Features wieMapoderfor...offrei. Achtung: Nicht alles davon unterstützt der DOCUMENTS-Server.checkJsist auskommentiert. VS Code zeigt also IntelliSense an, meldet aber keine Typfehler. Wie man die Prüfung gezielt einschaltet, steht unten.