Welche TypeScript-Version verwendet Visual Studio Code? Wie aktualisiere ich es?

111

Wie kann ich feststellen, welche Version von TypeScript in Visual Studio Code verwendet wird? Insbesondere hatte ich TypeScript 1.8.10 und VSCode 1.4.0 verwendet. Ich habe VSCode zuerst auf die neueste Version aktualisiert, nämlich 1.5.3. Bei der Überprüfung über die Befehlszeile stellte ich jedoch fest, dass meine TypeScript-Version immer noch 1.8.10 war. Also habe ich TypeScript über die Kommandozeile aktualisiert und es ist jetzt 2.0.3.

Gibt es eine Möglichkeit, sicher festzustellen, ob Visual Studio Code Version 2.0.3 verwendet?

Gibt es eine Methode zum Aktualisieren von Visual Studio Code, mit der TypeScript automatisch auf die neueste veröffentlichte Version aktualisiert wird, oder muss das TypeScript-Update unabhängig durchgeführt werden?

Richard Fuhr
quelle
tsc --version ??
Hackerman
Ich glaube, es ist eine Projektdateieinstellung. Wenn Sie die Projektdatei (wie eine .csproj-Datei) mit dem Editor öffnen, können Sie das Typoskript-Versionselement entfernen, wodurch das Projekt gezwungen werden sollte, die neueste auf dem PC installierte Version zu verwenden.
Igor
@ Hackerman Nein, das zeigt dir nur die globale TSC-Version.
Fabian Lauer

Antworten:

191

Kann TypeScript automatisch aktualisiert werden?

VS Code wird mit einer aktuellen stabilen Version von TypeScript geliefert.

- aus VS Code-Dokumenten

Dies bedeutet, dass die von VS Code verwendete TypeScript-Version nicht automatisch aktualisiert werden kann. Sie können jedoch die von VS Code verwendete TypeScript-Version überschreiben, indem Sie entweder die Benutzereinstellungen oder die Arbeitsbereichseinstellungen ändern.


Welche TypeScript-Version verwendet VS Code?

Wenn Sie eine TypeScript-Datei öffnen, sollte VS Code die TypeScript-Version in der Statusleiste unten rechts auf dem Bildschirm anzeigen:

VS-Code-Statusleiste TypeScript-Version


Ändern der globalen TypeScript-Version

  1. Installieren Sie beispielsweise die gewünschte TypeScript-Version global npm install -g [email protected]
  2. Öffnen Sie die VS Code-Benutzereinstellungen ( F1> Open User Settings).
  3. Aktualisieren / Einfügen "typescript.tsdk": "{your_global_npm_path}/typescript/lib"Sie können {your_global_npm_path} herausfinden, indem Sie npm root -g eingeben

Jetzt verwenden alle Projekte, die Sie mit VS Code öffnen, diese TypeScript-Version, es sei denn, es gibt natürlich eine Arbeitsbereichseinstellung, die dies überschreibt.


Ändern der lokalen TypeScript-Version

  1. Öffnen Sie das Projekt in VS Code
  2. Installieren Sie beispielsweise die gewünschte TypeScript-Version lokal npm install --save-dev [email protected]

    Das --save-devaktualisiert die Ihres Projekts und package.jsonfügt die TypeScript-Version hinzu, die Sie als installiert haben devDependency.

  3. Öffnen Sie die VS Code Workspace-Einstellungen ( F1> Open Workspace Settings).

  4. Aktualisieren / Einfügen "typescript.tsdk": "./node_modules/typescript/lib"

    Jetzt verwendet nur das Projekt, in dem Sie diese TypeScript-Version installiert haben, diese TypeScript-Version. Die globale Installation wird von VS Code in diesem Projekt ignoriert.

  5. Nachdem Sie den typescript.tsdkEintrag hinzugefügt haben, müssen Sie auch die VS-Code-Benutzeroberfläche verwenden, um die neue Version auszuwählen:

    • Klicken Sie auf die Version, die in der Fußzeile des VS-Codes angezeigt wird:

      vs Code Fußzeile

    • Wählen Sie es in der Benutzeroberfläche aus:

      Wählen Sie die Version in der Benutzeroberfläche aus


Siehe auch:

Fabian Lauer
quelle
3
Zu Ihrer Information: Ich bin unter Windows und musste den vollständigen Pfad zu meinem globalen Knotenmodulordner eingeben C:\\Users\\myname\\AppData\\Roaming\\npm\\node_modules\\typescript\\lib. Sie können Ihre npm root -gin der Befehlszeile überprüfen . Andernfalls sollte dies wahrscheinlich als Antwort @Richard Fuhr
Cody
Durch Hinzufügen dieser Einstellung wurden alle Studio-Sprachfunktionen durch Visual Studio-Code vollständig deaktiviert. Dies ist nicht die Antwort, die Sie suchen.
BentOnCoding
3
@BentOnCoding Dies deaktiviert nichts. Suchen Sie im tsdkPfad nach Tippfehlern und stellen Sie sicher, dass TypeScript in Ihrem Repo installiert ist. Auch 11 andere Leute fanden das richtig genug, um zu stimmen ;-)
Fabian Lauer
VS Code scheint jetzt automatisch TypeScript-Versionsaktualisierungen zu erhalten, sodass die Antwort hier möglicherweise nicht mehr aktuell ist.
Mickey Segal
1
Diese Einstellung kann stattdessen auf eine Arbeitsbereichseinstellung angewendet werden, sodass ein Projekt, das speziell auf eine bestimmte Version abzielt, so konfiguriert werden kann, dass dies auch so bleibt. Auch HINWEIS Sie die MSI ausrichten können installierten Versionen sie sind nicht kompatibel. Siehe die Website: code.visualstudio.com/docs/typescript/typescript-compiling
Itanex
19

Visual Studio Code wird mit einer eigenen stabilen Version von TypeScript geliefert. Sie können jedoch zu einer neueren Version wechseln, wie in den Dokumenten beschrieben

VS Code wird mit einer aktuellen stabilen Version von TypeScript geliefert. Wenn Sie eine neuere Version von Typoskript verwenden möchten, können Sie die definieren typescript.tsdk Einstellung ( Datei > Einstellungen > Benutzer / Arbeitsbereich - Einstellungen ) , der auf ein Verzeichnis , die Mitschrift enthält tsserver.js Datei.
...
Zum Beispiel:

{
   "typescript.tsdk": "node_modules/typescript/lib"
}
DAXaholic
quelle
Meine tsc --version ist 2.0.3, kann aber die Datei tsserver.js auf meinem Mac nicht finden, kann also die Einstellung in VSCode
Richard Fuhr
Durch Hinzufügen dieser Einstellung wurden alle Studio-Sprachfunktionen durch Visual Studio-Code vollständig deaktiviert. Dies ist nicht die Antwort, die Sie suchen.
BentOnCoding
Ich denke, dass dies hier klarer
Gregor Schmitz
17

Gibt es eine Möglichkeit, sicher festzustellen, ob Visual Studio Code Version 2.0.3 verwendet?

Öffnen Sie eine TypeScript-Datei in Visual Studio Code und unten rechts sehen Sie die Version von TypeScript, die verwendet wird:

Geben Sie hier die Bildbeschreibung ein

Gibt es eine Methode zum Aktualisieren von Visual Studio Code, mit der TypeScript automatisch auf die neueste veröffentlichte Version aktualisiert wird, oder muss das TypeScript-Update unabhängig durchgeführt werden?

Ich habe Visual Studio Code explizit den Ordner mitgeteilt, in dem Ihr TypeScript npm-Modul installiert ist. Ich bin unter Windows. Nachdem Sie den Befehl npm ausgeführt haben, um TypeScript ( npm install -g typescript) zu installieren , wird er in diesem Ordner installiert:

C:\Users\username\AppData\Roaming\npm\node_modules\typescript\

Sie müssen Visual Studio Code daher anweisen, den libOrdner Ihrer TypeScript npm-Installation zu verwenden. Sie tun dies durch:

  1. Öffnen Sie die VS-Code-Einstellungen (Datei -> Einstellungen -> Einstellungen).

  2. Suche nach typescript.tsdkEinstellungen Geben Sie hier die Bildbeschreibung ein

  3. Finden Sie heraus, wo npm TypeScript installiert hat mit : npm list -g typescript. In meinem Fall kehrte es zurückC:\Users\username\AppData\Roaming\npm

  4. Überschreiben Sie den Wert der typescript.tsdkEinstellung auf: C:\\Users\\username\\AppData\\Roaming\\npm\\node_modules\\typescript\\lib Beachten Sie die Verwendung von doppelten Schrägstrichen, um eine ordnungsgemäß maskierte Zeichenfolge mit Schrägstrichen zu erhalten.

  5. Stellen Sie sicher, dass VS Code die npm-Version von TypeScript für Intellisense verwendet, indem Sie eine TypeScript-Datei öffnen, auf die TypeScript-Versionsnummer unten rechts klicken und im Aufgabenfenster sehen, dass VS Code TypeScript aus dem in Schritt 4 angegebenen Verzeichnis lädt:

Geben Sie hier die Bildbeschreibung ein

  1. Stellen Sie sicher, dass VS Code zum Kompilieren die richtige Version von TypeScript verwendet, indem Sie in diesen Ordner wechseln und den Namen der Datei ändern:

C: \ Benutzer \ Benutzername \ AppData \ Roaming \ npm \ tsc.cmd (zu so etwas wie tsc1.cmd)

Versuchen Sie nun, VS-Code zu erstellen (Aufgaben -> Aufgaben ausführen -> tsc: build - tsconfig.json), und Sie sollten diese Fehlermeldung im VS-Code-Terminalfenster erhalten:

'tsc' is not recognized as an internal or external command, operable program or batch file.
The terminal process terminated with exit code: 1
  1. Ändern Sie die Datei wieder in tsc.cmd, und Sie sollten nun in der Lage sein, Intellisense in VS Code für das global installierte TypeScript-Knotenpaket zu erstellen und zu verwenden
Gomisha
quelle
2
Warum war dies keine Bearbeitung der Antwort, die bereits 99% dieser Informationen enthielt?
SgtPooki
Ich denke, wir werden es nie erfahren
Denny
4

In der unteren Leiste sollte eine Versionsnummer angezeigt werden:

Geben Sie hier die Bildbeschreibung ein

Wenn Sie auf die Nummer (2.4.0 oben) klicken, wird Ihnen eine Option zur Auswahl der Version angezeigt, die Sie verwenden möchten:

Geben Sie hier die Bildbeschreibung ein

Wenn Sie die gewünschte Version nicht sehen, bedeutet dies, dass sie wahrscheinlich nicht installiert ist und Sie sie installieren müssen.

npm install -g typescript@2.7.2

Ersetzen Sie 2.7.2durch die Version, die Sie installieren möchten.

mattnedrich
quelle
1

Obwohl ich die Datei tsserver.js nicht finden konnte, als ich Spotlight auf meinem Mac verwendete, versuchte ich es erneut mit mdfind und fand den Speicherort "/ usr / local / lib / node_modules / typescript / lib /".

Daher habe ich diesen Pfad beim Bearbeiten meiner Arbeitsbereichseinstellungen in settings.json verwendet

Jetzt verwende ich meine neueste Version von TypeScript und VSCode teilt mir mit, dass ich meine neueste Version verwende.

Richard Fuhr
quelle
0

Ich hatte ein ähnliches Problem und jetzt gelang es mir, eine aktuelle Version von TypeScript zu haben, indem ich die Umgebungsvariablen auf meinem System änderte. In meinem Fall benötigen wir eine TypeScript-Version höher als 2. Ich konnte jedoch nur Version 1.8.3 verwenden. Als erstes ging ich zu meinen Systemumgebungsvariablen und überprüfte die Pfadvariable. Dort fand ich einen Verweis auf TypeScript Version 1.8.3.

C: \ Programme (x86) \ Microsoft SDKs \ TypeScript \ 1.8.3 \

Als ich das übergeordnete Verzeichnis überprüfte, war dies auch die höchste in diesem Verzeichnis installierte Version. Ich hätte durch die globale Installation der neuesten Version gedacht, dass ich das auch hier sehen würde, aber es ist nicht da. Die hier gezeigte Version wurde mit Visual Studio installiert (kein Visual Studio-Code).

Also ging ich zu Visual Studio und aktualisierte die TypeScript-Bibliothek über Optionen> Erweiterungen und Updates auf die neueste Version. Dort habe ich nach der neuesten Version von TypeScript gesucht und installiert.

Dadurch wurde eine neue Version im zuvor genannten übergeordneten Verzeichnis verfügbar. Ich habe dann die Pfadvariable geändert in:

C: \ Programme (x86) \ Microsoft SDKs \ TypeScript \ 2.2 \

Wenn ich jetzt VS Code öffne und tsc -v eingebe, sehe ich, dass ich die neueste Version verwende. Keine Mismatch-Nachricht mehr usw. Ich hoffe, das hilft euch ein bisschen.

Thomas Van Herpe
quelle
0

Das Typescript-Paket verfügt über einen Compiler und einen Sprachdienst. VScode wird mit einem Typescript-Sprachdienst geliefert, nicht mit dem Compiler. Sie können den Sprachdienst unten rechts sehen, wie die anderen Antworten zeigen, aber Sie können nicht sehen, welche Compilerversion verwendet wurde.

Sie können verschiedene Versionen für den Compiler und den Sprachdienst haben.

Lombas
quelle
0

Um die in Ihrem Arbeitsbereich installierte Typescript-Version automatisch zu verwenden node_modules, ohne sie jedes Mal konfigurieren zu müssen, wenn Sie einen neuen Arbeitsbereich einrichten, können Sie die Standardeinstellung für Typescript in JSON für Benutzereinstellungen ( nicht Arbeitsbereich ) so festlegen , dass ein relativer Pfad verwendet wird:

{
    // ... other User settings
    "typescript.tsdk": "./node_modules/typescript/lib"
}

Wenn Sie jetzt den Befehl "Select Typescript Version ..." ausführen, ist die "VS Code's Version" immer dieselbe wie die "Workspace Version":

Befehl 'Typescript Version auswählen ...'

Der einzige mögliche Nachteil besteht darin, dass Typescript immer in dem Arbeitsbereich installiert sein muss, in dem Sie arbeiten. Wenn Sie jedoch irgendwo Typescript schreiben, halte ich dies für eine vernünftige Erwartung.

Julien
quelle