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.
Der Ordner typings
|
Datei |
Inhalt |
Woher |
|---|---|---|
|
|
Die komplette PortalScripting-API: |
Extension |
|
|
Erweiterungen im Namespace |
Extension |
|
|
Gadget-API im Namespace |
Extension |
|
|
Client-SDK |
Extension |
|
|
Unsere Mappentypen, Felder, Register und Ordnernamen, erzeugt aus dem DOCUMENTS-Server |
Generiert aus dem Server |
|
|
Typings der otris-Bibliotheken (mit deutscher Doku) |
Mit den Bibliotheken ausgeliefert |
Wichtig: Die Dateien in typings/ werden nicht von Hand bearbeitet, denn die Extension überschreibt sie beim nächsten Aktualisieren. Eigene Typen gehören in JSDoc-Kommentare im Skript oder in einen eigenen Ordner types/ (siehe "Bibliotheken und eigene .d.ts-Dateien").
Aktualisiert werden die Typings über die Befehlspalette (Cmd/Strg+Shift+P) oder per Rechtsklick auf den Ordner typings/ im Explorer:
- documentsOS: Install Typings installiert die Standard-Typings der API (Rechtsklick auf das Projekt-Root).
- documentsOS: Get Typings lädt die API-Typings passend zur Serverversion.
- documentsOS: Get File Type Typings erzeugt
fileTypes.d.tsneu aus den Mappentypen des Servers. Nach jeder Änderung an Mappentypen oder Feldern ausführen.