Erreur: Fonction Typescript 1.5. Le niveau de langue actuel est 1.4

102

Je travaille dans le contexte de Visual Studio 2015 (avec Resharper) et je fais référence à un fichier de définitions TypeScript pour NodeJS. J'ai 3 autres projets VS qui utilisent node.d.tssans problèmes. Dans ce nouveau projet, cependant, j'ai maintenant 146 erreurs disant la même chose:

"Fonction Typescript 1.5. Le niveau de langue actuel est 1.4".

Pour la vie de moi, je ne peux pas comprendre comment dire à Visual Studio (ou Resharper?) D'utiliser la dernière version du langage TypeScript.

J'ai essayé: Outils> Options> Typescript> Projet> Général> ECMAScript6 (sélectionné) et cela n'a pas fonctionné.

Aussi:

npm install -g typescript

et cela n'a pas fonctionné aussi bien.

Comment dire à VS d'utiliser Typescript 1.5.3 (ce qui node.d.tdest demandé)?

brando
la source
1
Est -ce que cette réponse aide?
Sunil D.
Thx pour le lien. Cela avait l'air prometteur mais n'a pas été en mesure de réparer. J'ai deux projets VS ouverts. L'un référence node.d.ts pas de problème, l'autre le rejette. Très étrange.
brando
Pas sûr, mais peut-être est-il lié à un bogue dans VS 2015 stackoverflow.com/questions/32273429/... ?
Artiom
Vous avez peut-être raison Artiom. Pour autant que je sache, vous ne pouvez pas réellement utiliser ECMAScript 6 dans Visual Studio 2015 Community. Peut-être dans VS Code, mais pas dans la communauté VS. Au moment où vous faites référence, par exemple, "Importer", il est signalé comme ne ciblant pas le niveau de langue correct. Alors ... comment ciblez-vous le niveau de langue correct?
brando

Réponses:

194

C'est un paramètre ReSharper. Dans la barre de menus de Visual Studio, cliquez sur ResharperOptionsCode EditingTypeScriptInspections, puis remplacez le TypeScript language levelpar la valeur appropriée.

adrian h.
la source
48

J'ai découvert comment résoudre ce problème. Tout d'abord, si vous utilisez Resharper, comme d'autres l'ont mentionné, vous devez indiquer la version de dactylographié que vous utilisez:

entrez la description de l'image ici

Cependant, dans Visual Studio, vous devez accéder à Outils / Extensions et mises à jour et mettre à niveau l'extension Typescript vers la dernière version.
entrez la description de l'image ici

Pour ce faire, recherchez «dactylographié» sous l'onglet «installé». Dans la boîte jaune que j'ai mise en évidence, vous devriez voir un message indiquant que toutes les mises à jour disponibles sont disponibles sous l'onglet «Mises à jour». Allez dans l'onglet "Mises à jour" et mettez à jour votre extension dactylographiée avec la dernière version. (J'avais déjà fait la mise à jour donc aucune sélection de mise à jour ne m'est maintenant disponible pour Typescript).

MISE À JOUR:
Il est plus simple d'aller télécharger et installer «Typescript pour Visual Studio» pour obtenir la dernière version: https://www.microsoft.com/en-us/download/details.aspx?id=48593

brando
la source
9

Un peu hors sujet mais depuis que j'ai trouvé ce fil en cherchant une solution sur l'erreur "Fonctionnalité ECMAScript 6. Votre niveau de langue actuel est: ECMAScript 5" ...

Je veux ajouter une note sur le commentaire d'Anton sur ES6 et Resharper 10.

Si vous obtenez l'erreur «Fonctionnalité ECMAScript 6. Votre niveau de langue actuel est: ECMAScript 5», il est possible de modifier le niveau dans Resharper 9.1 comme indiqué dans cet article Comment utiliser la syntaxe ECMAScript 6 avec Visual Studio 2013

J'utilise la version 9.2 maintenant et je viens de le faire. Options de réaffectation> Javascript> Inspections> "changer le niveau de langue Javascript en ES6"

JimiSuède
la source
Pas hors sujet du tout - très utile. Il est important de noter que les inspections JSet les TSinspections doivent toutes deux être réglées sur les valeurs souhaitées. Il me manquait le JSparamètre d'inspection.
atconway
Veuillez consulter mon commentaire sur un paramètre de version supplémentaire pour la fonctionnalité "ECMAScript 6. Votre niveau de langue actuel est: Erreur ECMAScript 5".
Stephen Baker
J'obtenais l'erreur " Fonctionnalité ECMAScript 2015. Votre niveau de code actuel est: ECMAScript 5. " C'était la bonne solution pour moi. (Noté ici pour, espérons-le, aider les autres Google à trouver la réponse plus rapidement!)
Brian Lacy
-1

Assurez-vous de définir la version appropriée dans votre projet XML. Voir le nœud ci-dessous:

<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
  <TypeScriptTarget>ES6</TypeScriptTarget>
  <TypeScriptJSXEmit>None</TypeScriptJSXEmit>
  <TypeScriptCompileOnSaveEnabled>True</TypeScriptCompileOnSaveEnabled>
  <TypeScriptNoImplicitAny>False</TypeScriptNoImplicitAny>
  <TypeScriptModuleKind>CommonJS</TypeScriptModuleKind>
  <TypeScriptRemoveComments>False</TypeScriptRemoveComments>
  <TypeScriptOutFile />
  <TypeScriptOutDir />
  <TypeScriptGeneratesDeclarations>False</TypeScriptGeneratesDeclarations>
  <TypeScriptNoEmitOnError>True</TypeScriptNoEmitOnError>
  <TypeScriptSourceMap>True</TypeScriptSourceMap>
  <TypeScriptMapRoot />
  <TypeScriptSourceRoot>~/app/</TypeScriptSourceRoot>
  <TypeScriptExperimentalDecorators>True</TypeScriptExperimentalDecorators>
</PropertyGroup>
Stephen Baker
la source