Błąd: funkcja maszynopisu 1.5. Obecny poziom języka to 1.4

102

Pracuję w kontekście programu Visual Studio 2015 (z Resharper) i odwołuję się do pliku definicji TypeScript dla NodeJS. Mam 3 inne projekty VS, które używam node.d.tsbez problemów. Jednak w tym nowym projekcie mam teraz 146 błędów mówiących to samo:

„Cecha maszynopisu 1.5. Obecny poziom języka to 1,4”.

Przez całe życie nie mogę dowiedzieć się, jak powiedzieć programowi Visual Studio (lub Resharper?), Aby używał najnowszej wersji języka TypeScript.

Próbowałem: Narzędzia> Opcje> Maszynopis> Projekt> Ogólne> ECMAScript6 (wybrane) i nie zadziałało.

Również:

npm install -g typescript

i to też nie działało.

Jak powiedzieć VS, aby używał Typescript 1.5.3 (który node.d.tdprosi o)?

brando
źródło
1
Czy ta odpowiedź pomaga?
Sunil D.
Dzięki za link. Wyglądał obiecująco, ale nie był w stanie tego naprawić. Mam otwarte dwa projekty VS. Jeden odwołuje się do node.d.ts bez problemu, a drugi go odrzuca. Bardzo dziwny.
brando
Nie jestem pewien, ale może jest to związane z błędem w stackoverflow w VS 2015.com/questions/32273429/… ?
Artiom
Możesz mieć rację Artiom. O ile wiem, w rzeczywistości nie można używać ECMAScript 6 w społeczności programu Visual Studio 2015. Może w VS Code, ale nie w społeczności VS. W momencie, gdy odwołujesz się, na przykład „Importuj”, jest on oznaczany jako nieodpowiedni dla języka. Więc… jak wybrać odpowiedni poziom języka?
brando

Odpowiedzi:

194

To ustawienie ReSharper. Na pasku menu w programie Visual Studio kliknij ResharperOptionsCode EditingTypeScriptInspections, a następnie zmień TypeScript language levelna odpowiednią wartość.

adrian h.
źródło
48

Dowiedziałem się, jak to naprawić. Po pierwsze, jeśli używasz Resharper, jak wspominali inni, musisz wskazać wersję używanego maszynopisu:

wprowadź opis obrazu tutaj

Jednak w programie Visual Studio musisz przejść do narzędzi / rozszerzeń i aktualizacji i uaktualnić rozszerzenie Typescript do najnowszej wersji.
wprowadź opis obrazu tutaj

W tym celu wyszukaj „maszynopis” w zakładce „zainstalowane”. W żółtym polu, które zaznaczyłem, powinien pojawić się komunikat informujący, że wszelkie dostępne aktualizacje są dostępne na karcie „Aktualizacje”. Przejdź do zakładki „Aktualizacje” i zaktualizuj swoje rozszerzenie do najnowszej wersji. (Dokonałem już aktualizacji, więc nie ma teraz możliwości wyboru aktualizacji dla maszynopisu).

AKTUALIZACJA: Najłatwiej
jest pobrać i zainstalować „Typescript for Visual Studio”, aby uzyskać najnowszą wersję: https://www.microsoft.com/en-us/download/details.aspx?id=48593

brando
źródło
9

Trochę poza tematem, ale ponieważ znalazłem ten wątek podczas szukania rozwiązania błędu „Funkcja ECMAScript 6. Twój obecny poziom języka to: ECMAScript 5” ...

Chcę dodać notatkę do komentarza Antonsa na temat ES6 i Resharper 10.

Jeśli pojawi się błąd „Funkcja ECMAScript 6. Twój obecny poziom języka to: ECMAScript 5”, można zmienić poziom w Resharper 9.1 zgodnie z tym poście. Jak używać składni ECMAScript 6 w programie Visual Studio 2013

Używam teraz wersji 9.2 i właśnie to zrobiłem. Opcje Resharper> Javascript> Inspekcje> „zmień poziom języka Javascript na ES6”

JimiSweden
źródło
Zupełnie nie na temat - bardzo pomocne. Ważne jest, aby pamiętać, że zarówno JSi TSinspekcje muszą zarówno być ustawiony do pożądanych wartości. Brakowało mi JSustawienia inspekcji.
atconway
Proszę zobaczyć mój komentarz dotyczący dodatkowego ustawienia wersji dla funkcji „ECMAScript 6. Twój obecny poziom języka to: ECMAScript 5”.
Stephen Baker
Otrzymuję błąd „ Funkcja ECMAScript 2015. Twój obecny poziom kodu to: ECMAScript 5. ” To było dla mnie właściwe rozwiązanie. (Zauważyliśmy, że mam nadzieję, że pomogę innym w szybszym
Brian Lacy,
-1

Upewnij się, że ustawiłeś odpowiednią wersję w pliku XML projektu. Zobacz węzeł poniżej:

<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
źródło