Quelle version de TypeScript est utilisé par Visual Studio Code? Comment le mettre à jour?

111

Comment puis-je savoir quelle version de TypeScript est utilisée dans Visual Studio Code? En particulier, j'utilisais TypeScript 1.8.10 et VSCode 1.4.0. J'ai d'abord mis à jour VSCode avec la dernière version, qui était la 1.5.3. Mais en vérifiant à partir de la ligne de commande, j'ai vu que ma version TypeScript était toujours la 1.8.10. J'ai donc mis à jour TypeScript à partir de la ligne de commande, et c'est maintenant 2.0.3.

Existe-t-il un moyen de savoir avec certitude si Visual Studio Code utilise la version 2.0.3?

Existe-t-il une méthode de mise à jour de Visual Studio Code qui mettra automatiquement à jour TypeScript vers la dernière version publiée, ou la mise à jour de TypeScript doit-elle être effectuée indépendamment?

Richard Fuhr
la source
tsc --version ??
Hackerman
Je crois que c'est un paramètre de fichier de projet. Si vous ouvrez le fichier de projet (comme un fichier .csproj) avec le bloc-notes, vous pouvez supprimer l'élément de version dactylographié qui devrait forcer le projet à utiliser la dernière version installée sur le PC.
Igor
@Hackerman Non, cela vous montre simplement la version globale de TSC.
Fabian Lauer

Réponses:

191

TypeScript peut-il être mis à jour automatiquement?

VS Code est livré avec une version stable récente de TypeScript.

- à partir de la documentation VS Code

Cela signifie qu'il n'y a aucun moyen de mettre à niveau automatiquement la version TypeScript utilisée par VS Code. Vous pouvez toutefois remplacer la version de TypeScript que VS Code utilise en modifiant les paramètres utilisateur ou les paramètres de l'espace de travail.


Quelle version TypeScript utilise VS Code?

Lorsque vous ouvrez un fichier TypeScript, VS Code doit afficher la version TypeScript dans la barre d'état en bas à droite de l'écran:

Barre d'état VS Code Version TypeScript


Modification de la version globale de TypeScript

  1. Installez la version TypeScript souhaitée globalement, par exemple npm install -g [email protected]
  2. Ouvrir les paramètres utilisateur du code VS ( F1> Open User Settings)
  3. Mettre à jour / insérer "typescript.tsdk": "{your_global_npm_path}/typescript/lib"vous pouvez trouver {your_global_npm_path} en tapant npm root -g

Désormais, tous les projets que vous ouvrez avec VS Code utiliseront cette version TypeScript, à moins bien sûr qu'il n'y ait un paramètre d'espace de travail qui remplace cela.


Modification de la version locale de TypeScript

  1. Ouvrez le projet dans VS Code
  2. Installez la version TypeScript souhaitée localement, par exemple npm install --save-dev [email protected]

    Le --save-devmettra à jour votre projet package.json, en ajoutant la version TypeScript que vous avez installée en tant que fichier devDependency.

  3. Ouvrir les paramètres de l'espace de travail VS Code ( F1> Open Workspace Settings)

  4. Mettre à jour / insérer "typescript.tsdk": "./node_modules/typescript/lib"

    Désormais, seul le projet dans lequel vous avez installé cette version de TypeScript utilisera cette version de TypeScript, l'installation globale sera ignorée par VS Code dans ce projet.

  5. Après avoir ajouté l' typescript.tsdkentrée, il est également nécessaire d'utiliser l'interface utilisateur VS Code pour sélectionner la nouvelle version:

    • Cliquez sur la version affichée dans le pied de page VS Code:

      vs pied de page de code

    • Sélectionnez-le dans l'interface utilisateur:

      sélectionnez la version ts dans l'interface utilisateur


Voir également:

Fabian Lauer
la source
3
Pour info, je suis sous Windows, j'ai dû mettre le chemin complet vers mon dossier de modules de nœud global - C:\\Users\\myname\\AppData\\Roaming\\npm\\node_modules\\typescript\\lib. Vous pouvez vérifier le vôtre avec npm root -gdans la ligne de commande. Sinon, cela devrait probablement être marqué comme la réponse @Richard Fuhr
Cody
L'ajout de ce paramètre a obligé Visual Studio Code à désactiver complètement toutes les fonctionnalités du langage dactylographié. Ce n'est pas la réponse que vous recherchez.
BentOnCoding
3
@BentOnCoding Cela ne désactivera rien. Vérifiez les fautes de frappe dans le tsdkchemin et assurez-vous que TypeScript est installé dans votre dépôt. De plus, 11 autres personnes ont trouvé cela suffisamment correct pour voter ;-)
Fabian Lauer
VS Code semble maintenant recevoir automatiquement les mises à jour de la version de TypeScript, donc la réponse ici peut ne plus être à jour.
Mickey Segal le
1
Ce paramètre peut être appliqué à un paramètre d'espace de travail à la place afin qu'un projet qui cible spécifiquement une version spécifique puisse être configuré pour le rester. En outre, REMARQUE vous ne pouvez pas cibler le MSI versions ils sont il installé pas compatibles. Voir le site: code.visualstudio.com/docs/typescript/typescript-compiling
Itanex du
20

Visual Studio Code est livré avec sa propre version stable de TypeScript, mais vous pouvez passer à une version plus récente comme décrit dans leur documentation

VS Code est livré avec une version stable récente de TypeScript. Si vous souhaitez utiliser une version plus récente de TypeScript, vous pouvez définir le paramètre typescript.tsdk ( Fichier > Préférences > Paramètres utilisateur / espace de travail ) pointant vers un répertoire contenant le fichier TypeScript tsserver.js .
...
Par exemple:

{
   "typescript.tsdk": "node_modules/typescript/lib"
}
DAXaholic
la source
Ma tsc --version est 2.0.3 mais je ne trouve pas le fichier tsserver.js sur mon Mac, donc je ne peux pas changer le réglage dans VSCode
Richard Fuhr
L'ajout de ce paramètre a obligé Visual Studio Code à désactiver complètement toutes les fonctionnalités du langage dactylographié. Ce n'est pas la réponse que vous recherchez.
BentOnCoding
Je pense que cela est décrit plus clairement ici gist.github.com/tonysneed/bb6d442103a057578a9498f106e45ac5
Gregor Schmitz
17

Existe-t-il un moyen de savoir avec certitude si Visual Studio Code utilise la version 2.0.3?

Ouvrez un fichier TypeScript dans Visual Studio Code et en bas à droite, vous verrez la version de TypeScript qu'il utilise:

entrez la description de l'image ici

Existe-t-il une méthode de mise à jour de Visual Studio Code qui mettra automatiquement à jour TypeScript vers la dernière version publiée, ou la mise à jour de TypeScript doit-elle être effectuée indépendamment?

La façon dont je l'ai fait est d'indiquer explicitement à Visual Studio Code le dossier dans lequel votre module TypeScript npm est installé. Je suis sous Windows, donc après avoir exécuté la commande npm pour installer TypeScript ( npm install -g typescript), il l'installera dans ce dossier:

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

Vous devez donc indiquer à Visual Studio Code d'utiliser le libdossier de votre installation de TypeScript npm. Vous faites cela en:

  1. Ouvrez les paramètres de VS Code (Fichier -> Préférences -> Paramètres)

  2. Rechercher un typescript.tsdkparamètre entrez la description de l'image ici

  3. Trouvez où NPM installé avec tapuscrit: npm list -g typescript. Dans mon cas, il est revenuC:\Users\username\AppData\Roaming\npm

  4. Remplacez la valeur du typescript.tsdkparamètre sur: C:\\Users\\username\\AppData\\Roaming\\npm\\node_modules\\typescript\\lib Notez l'utilisation de doubles barres obliques inverses pour avoir une chaîne correctement échappée avec des barres obliques inverses.

  5. Confirmez que VS Code utilise la version npm de TypeScript pour intellisense en ouvrant un fichier TypeScript, en cliquant sur le numéro de version TypeScript en bas à droite et en voyant dans la fenêtre de tâche que VS Code charge TypeScript à partir du répertoire spécifié à l'étape 4:

entrez la description de l'image ici

  1. Confirmez que VS Code utilise la version correcte de TypeScript pour la compilation en accédant à ce dossier et en modifiant le nom du fichier:

C: \ Users \ username \ AppData \ Roaming \ npm \ tsc.cmd (à quelque chose comme tsc1.cmd)

Maintenant, essayez de construire dans VS Code (Tasks -> Run Tasks -> tsc: build - tsconfig.json) et vous devriez obtenir ce message d'erreur dans la fenêtre du terminal VS Code:

'tsc' is not recognized as an internal or external command, operable program or batch file.
The terminal process terminated with exit code: 1
  1. Remplacez le fichier par tsc.cmd et vous devriez maintenant être en mesure de créer et d'avoir Intellisense dans VS Code pour le package de nœuds TypeScript installé globalement
gomisha
la source
2
Pourquoi n'était-ce pas une modification de la réponse qui contenait déjà 99% de ces informations?
SgtPooki
Je suppose que nous ne saurons jamais
Denny
4

Vous devriez voir un numéro de version répertorié dans la barre inférieure:

entrez la description de l'image ici

Si vous cliquez sur le numéro (2.4.0 ci-dessus), une option vous sera présentée pour choisir la version que vous souhaitez utiliser:

entrez la description de l'image ici

Si vous ne voyez pas la version souhaitée, cela signifie qu'elle n'est probablement pas installée et que vous devez l'installer.

npm install -g typescript@2.7.2

Remplacez 2.7.2par la version que vous souhaitez installer.

Mattnedrich
la source
1

Bien que je n'ai pas pu trouver le fichier tsserver.js lorsque j'ai utilisé Spotlight sur mon Mac, j'ai réessayé en utilisant mdfind, et j'ai trouvé que son emplacement était "/ usr / local / lib / node_modules / typescript / lib /"

J'ai donc utilisé ce chemin lors de la modification des paramètres de mon espace de travail dans settings.json

J'utilise maintenant ma version la plus récente de TypeScript et VSCode m'indique que j'utilise ma version la plus récente.

Richard Fuhr
la source
0

J'ai eu un problème similaire et maintenant j'ai réussi à avoir une version à jour de TypeScript en modifiant les variables d'environnement sur mon système. Dans mon cas, nous avons besoin d'une version TypeScript supérieure à 2. Mais je n'ai pu utiliser que la version 1.8.3. La première chose est que je suis allé dans mes variables d'environnement système et j'ai vérifié la variable de chemin. J'y ai trouvé une référence à la version 1.8.3 de TypeScript.

C: \ Program Files (x86) \ Microsoft SDKs \ TypeScript \ 1.8.3 \

Lorsque j'ai vérifié le répertoire parent, c'était également la version la plus élevée installée dans ce répertoire. J'aurais pensé en installant globalement la dernière version, que je verrais cela ici aussi mais ce n'est pas là. La version que vous voyez ici est celle qui a été installée avec Visual Studio (pas le code Visual Studio).

Je suis donc allé dans Visual Studio et j'ai mis à jour la bibliothèque TypeScript avec la dernière version via Options> Extensions et mises à jour. Là, j'ai recherché la dernière version de TypeScript et l'ai installée.

Cela a rendu une nouvelle version disponible dans le répertoire parent mentionné précédemment. J'ai ensuite changé la variable de chemin en:

C: \ Program Files (x86) \ Microsoft SDKs \ TypeScript \ 2.2 \

Quand j'ouvre maintenant VS Code et que je tape tsc -v, je vois que j'utilise la dernière version. Plus de message de discordance, etc. J'espère que cela vous aidera un peu les gars.

Thomas Van Herpe
la source
0

Le package Typescript a un compilateur et un service de langage. VScode est fourni avec un service de langage Typescript, pas avec le compilateur. Vous pouvez voir le service de langage en bas à droite, comme le montrent les autres réponses, mais vous ne pouvez pas voir quelle version du compilateur est utilisée.

Vous pouvez avoir différentes versions pour le compilateur et le service de langage.

Lombas
la source
0

Pour utiliser automatiquement la version Typescript installée dans votre espace de travail node_modules, sans avoir à la configurer à chaque fois que vous configurez un nouvel espace de travail, vous pouvez définir le paramètre Typescript par défaut dans le JSON Paramètres utilisateur (et non l'espace de travail ) pour utiliser un chemin relatif:

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

Désormais, lorsque vous exécutez la commande "Select Typescript Version ...", la "VS Code's Version" sera toujours la même que la "Workspace Version":

Commande "Sélectionner la version du typeScript ..."

Le seul inconvénient potentiel est que cela signifie que vous avez toujours besoin de Typescript installé dans l'espace de travail dans lequel vous travaillez. Cependant, si vous écrivez Typescript n'importe où, je pense que c'est une attente raisonnable.

Julien
la source