Erro: recurso de texto datilografado 1.5. O nível de idioma atual é 1,4

102

Estou trabalhando no contexto do Visual Studio 2015 (com Resharper) e estou fazendo referência a um arquivo de definições TypeScript para NodeJS. Tenho 3 outros projetos do VS que estão usando node.d.tssem problemas. Neste novo projeto, no entanto, agora tenho 146 erros dizendo a mesma coisa:

"Recurso de texto datilografado 1.5. O nível de idioma atual é 1,4".

Pela minha vida, não consigo descobrir como dizer ao Visual Studio (ou Resharper?) Para usar a versão mais recente da linguagem TypeScript.

Eu tentei: Ferramentas> Opções> Texto digitado> Projeto> Geral> ECMAScript6 (selecionado) e não funcionou.

Além disso:

npm install -g typescript

e não funcionou tão bem.

Como digo ao VS para usar o Typescript 1.5.3 (que node.d.tdestá pedindo)?

Brando
fonte
1
Esta resposta ajuda?
Sunil D.
Obrigado pelo link. Parecia promissor, mas não foi capaz de consertar. Tenho dois projetos VS abertos. Um faz referência a node.d.não há problema, o outro o rejeita. Muito estranho.
brando
Não tenho certeza, mas pode estar relacionado ao bug no VS 2015 stackoverflow.com/questions/32273429/… ?
Artiom
Você pode estar certo Artiom. Pelo que eu posso dizer, você não pode realmente usar o ECMAScript 6 na Comunidade do Visual Studio 2015. Talvez no VS Code, mas não na VS Community. No momento em que você faz referência, por exemplo, "Importar", isso é sinalizado como não tendo como alvo o nível de idioma correto. Então ... como você direciona o nível de idioma correto?
brando

Respostas:

194

É uma configuração ReSharper. Na barra de menus do Visual Studio, clique em ResharperOptionsCode EditingTypeScriptInspectionse altere o TypeScript language levelpara o valor relevante.

adrian h.
fonte
48

Eu descobri como consertar isso. Primeiro, se você estiver usando o Resharper, como outros mencionaram, você precisa indicar a versão do texto digitado que está usando:

insira a descrição da imagem aqui

No entanto, no Visual Studio, você precisa ir para Ferramentas / Extensões e Atualizações e atualizar a extensão Typescript para a versão mais recente.
insira a descrição da imagem aqui

Faça isso procurando por "typescript" na guia "instalado". Na caixa amarela que destaquei, você verá uma mensagem dizendo que todas as atualizações disponíveis estão disponíveis na guia "Atualizações". Vá para a guia "Atualizações" e atualize sua extensão de texto digitado para a versão mais recente. (Eu já tinha feito a atualização, então nenhuma seleção de atualização está disponível para mim para o Typescript).

ATUALIZAÇÃO:
é mais simples baixar e instalar o "Typescript for Visual Studio" para obter a versão mais recente: https://www.microsoft.com/en-us/download/details.aspx?id=48593

Brando
fonte
9

Um pouco fora do assunto, mas como encontrei este tópico ao procurar uma solução para o erro "Recurso ECMAScript 6. Seu nível de linguagem atual é: ECMAScript 5" ...

Eu quero adicionar uma nota sobre o comentário do Antons sobre o ES6 e o ​​Resharper 10.

Se você receber o erro "Recurso ECMAScript 6. Seu nível de linguagem atual é: ECMAScript 5", é possível alterar o nível no Resharper 9.1 conforme declarado nesta postagem. Como usar a sintaxe ECMAScript 6 com Visual Studio 2013

Estou executando o 9.2 agora e acabei de fazer isso. Opções de resharper> Javascript> Inspeções> "alterar nível de linguagem Javascript para ES6"

JimiSweden
fonte
Nada fora do assunto - muito útil. É importante notar que ambos os JSe TSinspeções precisa tanto ser definido para os valores desejados. Eu estava perdendo a JSconfiguração de inspeção.
atconway 01 de
Consulte meu comentário sobre uma configuração de versão adicional para o "recurso ECMAScript 6. Seu nível de idioma atual é: erro ECMAScript 5".
Stephen Baker,
Estava recebendo o erro " Recurso ECMAScript 2015. Seu nível de código atual é: ECMAScript 5. " Essa foi a solução correta para mim. (Anotado aqui para, com sorte, ajudar outros no Google a encontrar a resposta mais rapidamente!)
Brian Lacy
-1

Certifique-se de definir a versão adequada no XML do seu projeto. Veja o nó abaixo:

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