Código VS com es6

104

Estou recebendo o erro de linting em meu código 'import' is only available in ES6 (use 'esversion: 6').

Tudo o que está relacionado com es6 está gerando um erro. Não tenho certeza do que devo configurar para fazê-lo funcionar.

erichardson30
fonte

Respostas:

216

Adicione um arquivo chamado .jshintrcao seu projeto e, dentro desse arquivo, digite o seguinte:

{
    "esversion": 6
}

Como você pode ver aqui:

insira a descrição da imagem aqui

A documentação completa das jshintopções pode ser encontrada aqui: http://jshint.com/docs/options

Nasreddine
fonte
4
jshint.com/docs/options/#esversion para quem procura a documentação.
Jeremy Larter
5
Isso deve ser adicionado automaticamente.
Xaqron
parece que às vezes você precisa adicionar esta linha "moz": true
kinsley kajiva
6
Isso não funcionou para mim (vscode versão 1.37.1, OS X). Vá para as preferências de extensão -> selecione Editar em settings.json Para adicionar o JSON: "jshint.options": { "esversion": 6 } Não se esqueça da vírgula na linha anterior!
sijpkes
1
O único lugar para acrescentar isso é ~/settings.jsonna minha experiência. As configurações de nível de projeto não afetarão. É um absurdo que não seja o padrão. É realmente difícil descobrir como consertar isso e, enquanto isso, a experiência do usuário com javascript no VS Code é hostil. Super irritante. Deve suportar ES6 + por padrão. Por que não?
rjurney
94

Edit: Eu adicionei uma maneira de habilitar es6 se você usar ESLint em vez de JSHint, bem como atualizar as capturas de tela desde que o VSCode mudou desde minha resposta original.

Método JSHint:

Se estiver usando JSHint, você pode adicionar o seguinte às suas configurações:

"jshint.options":{
    "esversion":6
}

Método ESLint:

Se estiver usando ESLint, você pode adicionar o seguinte às suas configurações:

"eslint.options": {
    "env":{
        "es6":true
    },
    "parserOptions": {
        "ecmaVersion": 6 // or 7,8,9
    }
}

Documentação de configuração ESLint

Como atualizar as configurações

  1. No VS Code, vá para settings

Configurações de código VS

  1. Quando as configurações forem exibidas, você verá as seções de configurações:

Guias de configurações do usuário e do espaço de trabalho

Observe que há duas seções onde você pode personalizar suas configurações, Configurações do usuário e Configurações do espaço de trabalho

Configurações do usuário É onde você deve aplicar as configurações globais que desejar para qualquer projeto em que trabalhará.

Configurações do espaço de trabalho É onde você pode fazer alterações nas configurações que devem ser aplicadas apenas ao seu projeto atual.

No meu caso, como sei que apenas alguns dos meus projetos podem usar ES6, preciso ter a dica de erro para me avisar se estou usando ES6 em meus projetos não ES6 ... então, defino isso apenas para as configurações do meu espaço de trabalho

Mas, se você sabe que qualquer coisa que codificar no VS Code será um ES6, projete, salve uma etapa e adicione-a às configurações do usuário .

  1. Clique em Usuário / Espaço de trabalho, dependendo de sua preferência. Pesquise JSHint ou ESLint (o que você usar). Clique em qualquer um dos links Editar em settings.json , não importa qual.

Editar em settings.json

  1. Adicione as configurações pertinentes, dependendo se você usa JSHint ou ESLint:

JSHint

Adicionando a configuração JSHint

ESLint

Adicionando a configuração ESLint

Ian
fonte
6
Esta foi uma ótima resposta e +1 por não ter que criar um arquivo adicional dentro dos diretórios do projeto ... As capturas de tela também foram muito úteis, muito obrigado!
twknab de
Além disso, isso é melhor, pois pode ser feito automaticamente para novos projetos, em vez de criar novos arquivos ou apenas mantê-los em um único espaço de trabalho.
Jan Sila
2
Não funciona para mim por algum motivo. Eu tentei nas configurações do usuário e do espaço de trabalho
LondonGuy
1
Muito obrigado por uma explicação detalhada, realmente foi muito útil.
Ketan Ramteke
22

Você pode adicionar "esversion": 6jshint.options nas configurações do usuário.

{
  "jshint.options": {
    "esversion": 6
  }
}
UX Nomaan
fonte
4

Apenas para completar as excelentes sugestões já enviadas, você também pode definir isso em uma base de arquivo, adicionando esta linha de escape (e semelhante para outras configurações de jshint) no topo do seu arquivo.

// jshint esversion:6

Na verdade, você pode adicioná-lo em qualquer lugar, mas ele só afeta o código subsequente, permitindo que você ligue e desligue as configurações se estiver desesperado para fazer algo estranho.

David Woods
fonte
0

Certifique-se de fazer as configurações acima com o json, mas também remover / desabilitar a jshintextensão do espaço de trabalho se estiver usando eslinte vice-versa.,

vam
fonte
-3

Desative sua extensão jshint assim:

https://i.stack.imgur.com/mYnM2.png

Mohammad Naderi
fonte