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)?


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 Resharper→ Options→ Code Editing→ TypeScript→ Inspections, a następnie zmień TypeScript language levelna odpowiednią wartość.


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


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”


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>
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.