Skip to main content

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"
  ]
}
  • include bindet unsere Skripte (src/) und alle Typings (typings/) ein. Nur was hier steht, kennt IntelliSense.
  • lib lässt bewusst dom weg. Sonst kollidieren die Browser-Klassen File und Document mit den gleichnamigen DOCUMENTS-Klassen.
  • target: es2016 schaltet Autovervollständigung für ES6-Features wie Map oder for...of frei. Achtung: Nicht alles davon unterstützt der DOCUMENTS-Server.
  • checkJs ist 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

portalScripting.d.ts

Die komplette PortalScripting-API: context, util, DocFile, FileResultset, SystemUser, Folder usw.

Extension

scriptExtensions.d.ts

Erweiterungen im Namespace otris.*, z.B. otris.tools.ClientHeaderCode

Extension

gadgetApi.d.ts

Gadget-API im Namespace otris.gadget.*

Extension

documentsClientSdk.d.ts

Client-SDK documents.sdk.* für Code, der im Browser läuft

Extension

fileTypes.d.ts

Unsere Mappentypen, Felder, Register und Ordnernamen, erzeugt aus dem DOCUMENTS-Server

Generiert aus dem Server

otrUpgrade*.d.ts, otrAssert.d.ts, util.otrLogger.d.ts, otrPackageManager.d.ts

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.ts neu aus den Mappentypen des Servers. Nach jeder Änderung an Mappentypen oder Feldern ausführen.