Ошибка: функция машинописного текста 1.5. Текущий уровень владения языком 1,4

102

Я работаю в контексте Visual Studio 2015 (с Resharper) и ссылаюсь на файл определений TypeScript для NodeJS. У меня есть 3 других проекта VS, которые используются node.d.tsбез проблем. Однако в этом новом проекте у меня есть 146 ошибок, говорящих об одном и том же:

«Машинопись 1.5. Текущий уровень языка - 1.4».

На всю жизнь я не могу понять, как сказать Visual Studio (или Resharper?) Использовать последнюю версию языка TypeScript.

Я пробовал: Инструменты> Параметры> Машинопись> Проект> Общие> ECMAScript6 (выбран), и это не сработало.

Также:

npm install -g typescript

и это тоже не сработало.

Как мне сказать VS использовать Typescript 1.5.3 (который node.d.tdзапрашивает)?

Брандо
источник
1
Имеет ли этот ответ помощь?
Сунил Д.
Спасибо за ссылку. Выглядело многообещающе, но исправить не удалось. У меня открыто два проекта VS. Один ссылается на node.d.ts без проблем, другой отклоняет его. Очень странно.
brando
Не уверен, но может быть связано с ошибкой в ​​VS 2015 stackoverflow.com/questions/32273429/… ?
Артем
Возможно, ты прав, Артем. Насколько я могу судить, вы не можете использовать ECMAScript 6 в сообществе Visual Studio 2015. Может быть, в VS Code, но не в VS Community. В тот момент, когда вы ссылаетесь, например, на «Импорт», он помечается как не предназначенный для правильного языкового уровня. Итак .... как вы нацеливаетесь на правильный языковой уровень?
brando

Ответы:

194

Это настройка ReSharper. В строке меню Visual Studio нажмите ResharperOptionsCode EditingTypeScriptInspections, затем измените TypeScript language levelзначение на соответствующее.

Адриан Ч.
источник
48

Узнал, как это исправить. Во-первых, если вы используете Resharper, как упоминали другие, вам необходимо указать версию используемого машинописного текста:

введите описание изображения здесь

Однако в Visual Studio вам нужно перейти в Инструменты / Расширения и Обновления и обновить расширение Typescript до последней версии.
введите описание изображения здесь

Сделайте это, выполнив поиск по запросу «машинописный текст» на вкладке «установлено». В выделенном мною желтом поле вы должны увидеть сообщение о том, что все доступные обновления доступны на вкладке «Обновления». Перейдите на вкладку «Обновления» и обновите расширение машинописного текста до последней версии. (Я уже сделал обновление, поэтому для Typescript мне теперь недоступен выбор обновлений).

ОБНОВЛЕНИЕ:
Проще всего загрузить и установить «Typescript для Visual Studio», чтобы получить последнюю версию: https://www.microsoft.com/en-us/download/details.aspx?id=48593

Брандо
источник
9

Немного не по теме, но поскольку я нашел эту ветку, когда искал решение по ошибке «Функция ECMAScript 6. Ваш текущий уровень языка: ECMAScript 5» ...

Я хочу добавить примечание к комментарию Антона о ES6 и Resharper 10.

Если вы получаете сообщение об ошибке «Функция ECMAScript 6. Ваш текущий уровень языка: ECMAScript 5», можно изменить уровень в Resharper 9.1, как указано в этом сообщении. Как использовать синтаксис ECMAScript 6 с Visual Studio 2013

Я сейчас использую 9.2 и только что сделал это. Параметры Resharper> Javascript> Инспекции> "изменить уровень языка Javascript на ES6"

ДжимиШвеция
источник
Совсем не не по теме - очень полезно. Важно отметить , что как JSи TSинспекции должны и быть установлены в их требуемые значения. Мне не хватало JSнастроек проверки.
atconway 01
См. Мой комментарий к настройке дополнительной версии для функции «ECMAScript 6. Ваш текущий уровень языка: ошибка ECMAScript 5».
Стивен Бейкер
Я получал сообщение об ошибке « Функция ECMAScript 2015. Ваш текущий уровень кода: ECMAScript 5. » Это было правильное решение для меня. (Отмечено здесь, чтобы, надеюсь, помочь другим быстрее
Брайан Лейси
-1

Убедитесь, что вы установили правильную версию в XML вашего проекта. См. Узел ниже:

<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>
Стивен Бейкер
источник