Fehler: Typoskript-Funktion 1.5. Das aktuelle Sprachniveau beträgt 1.4

102

Ich arbeite im Kontext von Visual Studio 2015 (mit Resharper) und verweise auf eine TypeScript-Definitionsdatei für NodeJS. Ich habe 3 andere VS-Projekte, die node.d.tsohne Probleme verwenden. In diesem neuen Projekt habe ich jetzt jedoch 146 Fehler, die dasselbe sagen:

"Typescript Feature 1.5. Aktuelle Sprachstufe ist 1.4".

Für mein Leben kann ich nicht herausfinden, wie ich Visual Studio (oder Resharper?) Anweisen kann, die neueste TypeScript-Sprachversion zu verwenden.

Ich habe versucht: Extras> Optionen> Typoskript> Projekt> Allgemein> ECMAScript6 (ausgewählt) und es hat nicht funktioniert.

Ebenfalls:

npm install -g typescript

und es hat auch nicht funktioniert.

Wie kann ich VS anweisen, Typescript 1.5.3 zu verwenden (was node.d.tdverlangt wird)?

brando
quelle
1
Hilft diese Antwort ?
Sunil D.
Danke für den Link. Sah vielversprechend aus, konnte aber nicht beheben. Ich habe zwei offene VS-Projekte. Einer verweist auf node.d.ts kein Problem, der andere lehnt es ab. Sehr eigenartig.
Brando
Nicht sicher, aber möglicherweise im Zusammenhang mit einem Fehler in VS 2015 stackoverflow.com/questions/32273429/… ?
Artiom
Sie können Recht Artiom sein. Soweit ich das beurteilen kann, können Sie ECMAScript 6 in der Visual Studio 2015-Community nicht verwenden. Vielleicht in VS Code, aber nicht in der VS Community. In dem Moment, in dem Sie beispielsweise auf "Importieren" verweisen, wird es als nicht auf das richtige Sprachniveau ausgerichtet markiert. Also ... wie zielen Sie auf das richtige Sprachniveau ab?
Brando

Antworten:

194

Es ist eine ReSharper-Einstellung. Klicken Sie in der Menüleiste in Visual Studio auf ResharperOptionsCode EditingTypeScriptInspectionsund ändern Sie den TypeScript language levelWert in den entsprechenden Wert.

adrian h.
quelle
48

Ich habe herausgefunden, wie ich das beheben kann. Wenn Sie Resharper verwenden, wie andere bereits erwähnt haben, müssen Sie zunächst die Version des verwendeten Typoskripts angeben:

Geben Sie hier die Bildbeschreibung ein

In Visual Studio müssen Sie jedoch zu Tools / Erweiterungen und Updates gehen und die Typescript-Erweiterung auf die neueste Version aktualisieren.
Geben Sie hier die Bildbeschreibung ein

Suchen Sie dazu auf der Registerkarte "Installiert" nach "Typoskript". In dem gelben Feld, das ich hervorgehoben habe, sollte eine Meldung angezeigt werden, dass alle verfügbaren Updates auf der Registerkarte "Updates" verfügbar sind. Gehen Sie zur Registerkarte "Updates" und aktualisieren Sie Ihre Typoskript-Erweiterung auf die neueste Version. (Ich hatte das Update bereits vorgenommen, sodass mir jetzt keine Update-Auswahl für Typescript zur Verfügung steht.)

UPDATE:
Am einfachsten können Sie "Typescript for Visual Studio" herunterladen und installieren, um die neueste Version zu erhalten: https://www.microsoft.com/en-us/download/details.aspx?id=48593

brando
quelle
9

Ein bisschen abseits des Themas, aber da ich diesen Thread gefunden habe, als ich nach einer Lösung für den Fehler "ECMAScript 6-Funktion" gesucht habe. Ihr aktuelles Sprachniveau ist: ECMAScript 5 "...

Ich möchte einen Hinweis zu Antons Kommentar zu ES6 und Resharper 10 hinzufügen.

Wenn Sie die Fehlermeldung "ECMAScript 6-Funktion. Ihre aktuelle Sprachstufe ist: ECMAScript 5" erhalten, können Sie die Stufe in Resharper 9.1 wie in diesem Beitrag beschrieben ändern. Verwenden der ECMAScript 6-Syntax mit Visual Studio 2013

Ich laufe jetzt 9.2 und habe das gerade gemacht. Resharper-Optionen> Javascript> Inspektionen> "Javascript-Sprachniveau auf ES6 ändern"

JimiSweden
quelle
Überhaupt kein Thema - sehr hilfreich. Es ist wichtig zu beachten , dass sowohl die JSund TSInspektionen müssen beide auf ihre gewünschten Werte eingestellt werden. Mir fehlte die JSInspektionseinstellung.
Atconway
Bitte beachten Sie meinen Kommentar zu einer zusätzlichen Versionseinstellung für die Funktion "ECMAScript 6". Ihr aktuelles Sprachniveau lautet: Fehler ECMAScript 5.
Stephen Baker
Ich habe die Fehlermeldung " ECMAScript 2015" erhalten. Ihre aktuelle Codeebene lautet: ECMAScript 5. "Dies war die richtige Lösung für mich. (Hier notiert, um hoffentlich anderen Google zu helfen, schneller zur Antwort zu gelangen!)
Brian Lacy
-1

Stellen Sie sicher, dass Sie die richtige Version in Ihrem Projekt-XML festlegen. Siehe den Knoten unten:

<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
quelle