Como desativar o erro de compilação do JavaScript no Visual Studio 2017?

161

Acabei de atualizar o Visual Studio 2017 do RC para o final. Não recebi o seguinte erro, mas recentemente recebi esse erro. Ao criar o projeto, recebo o seguinte erro e impede que o projeto da Web seja iniciado:

Severity    Code    Description Project File    Line    Suppression State
Error   eqeqeq  (ESLint) Expected '===' and instead saw '=='.   VistaBest.Shop.Web  C:\***\Request.js   21

Erro de JavaScript

Como posso desativar o erro de criação de JavaScript no Visual Studio 2017?

Mohammad Dayyan
fonte
27
Não é meu problema de código, quero usar '==' em vez de '===' no meu código JavaScript #
Mohammad Dayyan
9
Erro de JavaScript não deve impedir a construção de projeto MVC no Visual Studio
Mohammad Dayyan
Quer compartilhar seu código, ou desactivar a mensagem de erro javascript - leia isto: stackoverflow.com/questions/2125455/...
Koby Douek
13
@Koby Douek: Não é problema meu código, eu não quero erro de compilação para o arquivo JavaScript no Visual Studio
Mohammad Dayyan
3
Eu estaria particularmente interessado em desativar esse erro específico. ==é um operador de comparação tão válido quanto '==='. Para mim, isso não me impede de criar, apenas desorganiza a lista de erros quando tenho outro erro no código do servidor.
Xr280xr

Respostas:

298

Eu acho, encontre a solução:

  1. Abrir Tools > Options
  2. Navegue até Text Editor > JavaScript/TypeScript > EsLint(em VS2017 15.8 é Lintingnão EsLint)
  3. Defina Enable ESLintcomoFalse

Desativar ESlint

Visual Studio> = 15.8.5 Desativar o ESlint Visual Studio 15.8.5

Mohammad Dayyan
fonte
2
Trabalhou para mim no VS2017
Rory McCrossan 01/09/2017
3
dica rápida: a caixa de texto no canto superior esquerdo da captura de tela pode ser usada para procurar qualquer configuração / opção facilmente!
Prashanth Subramanian
6
Isso não funcionou exatamente da mesma maneira no 15.8.0 - ele está oculto em Linting>GeneralSearching eslint, mas ainda será exibido , mas será rotulado como linting. Veja a resposta de @ Brad abaixo.
precisa saber é
1
Esse recurso começou a funcionar automaticamente após a atualização para o VS 2017 15.8.1. Eu tive que desligá-lo novamente manualmente.
Piero Alberto
1
Obrigado! Isso estava me irritando. Para a versão 15.8.5 é apenas uma caixa de seleção agora.
Sterling Diaz
39

No Visual Studio 2017 (v 15.8.0):

Opção 1: Opções> Erros JS

  1. Abrir Tools > Options
  2. Navegar para Text Editor > JavaScript/TypeScript > Code Validation
  3. Defina Enable JavaScript errorscomofalse
  4. ou, defina Enable JavaScript errorspara truee Show errors as warningsparatrue

Eu precisava reiniciar o Visual Studio para que isso tivesse efeito.

Opções> Erros JS

Opção 2: Opções> Linting

Há outra opção abaixo, que permite editar suas configurações globais de fiapos:

Opções> JS Linting

Opção 3: arquivo .eslint

Você também pode criar um arquivo nomeado .eslintrcna raiz do seu projeto.

Opção 4: comandos ESLint no arquivo

Consulte a resposta de @ user9153924


Recursos

Brad
fonte
15

Tentei a solução de Mohammad, mas não funcionou. Consegui trabalhar fazendo o seguinte:

  1. Clique com o botão direito do mouse no seu arquivo .csproj da web
  2. Na primeira, <PropertyGroup>adicione a seguinte entrada: <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
Rafael dos Santos
fonte
4
Eu acho que você perdeu alguns passos lá. Você quis dizer com o botão direito do mouse em seu .csproj, descarregar projeto, clique com o botão direito do mouse novamente, editar?
xr280xr 27/09
11

Adicione /*eslint eqeqeq: ["error", "smart"]*/à primeira linha do seu código Javascript para remover os erros. https://eslint.org/docs/rules/eqeqeq

A solução a seguir de Mohammad desativará o ESLint para verificação de sintaxe. Isso funciona no VS2015 e deve funcionar em versões posteriores.

user9153924
fonte
Faz perfeito e não deitar fora o bebé com a água do banho
ShrapNull
Obrigado! Isso funcionou, mas tenho certeza de que "erro" deve estar "desativado" ou 0 (zero, sem aspas). Eu também tenho um arquivo package.json para trabalhar, graças à referência da URL.
Stan
4

Para o Visual Studio 2019.

insira a descrição da imagem aqui

  1. Abra Ferramentas> Opções
  2. Navegue para Editor de texto> JavaScript / TypeScript
  3. => Linting> Geral.

Desmarque a caixa de seleção ESLint. Por favor, a imagem abaixo para referência.

insira a descrição da imagem aqui

Nilachal Sethi
fonte
3

Eu apenas tive que mudar o comportamento da regra "eqeqeq" para incluir "inteligente":

Edite o arquivo .eslintrc encontrado na pasta raiz do usuário já mencionada em outras respostas.

A alteração é feita na seção de regras adicionando a regra inteligente

    "rules": {

    "eqeqeq": [2, "smart"],

Copiado do artigo da web: Esta opção reforça o uso de === e! ==, exceto nos seguintes casos:

  1. Comparando dois valores literais
  2. Avaliando o valor do tipo de
  3. Comparando com null

Encontrei os detalhes em: https://eslint.org/docs/2.0.0/rules/eqeqeq

cjl
fonte
Obrigado! Eu tive que fechar e reabrir o Visual Studio para que a alteração tenha efeito. Além disso, a adição do parâmetro "smart" não pareceu eliminar o erro em todos os casos; no entanto, remover a regra foi o suficiente.
zax 22/02
0

Tentei a solução de Mohammad, mas sem sorte, segui a resposta Rafeel e, em vez de adicionar seu exemplo de código sugerido, removi o código abaixo web .csproje finalmente consegui criar e executar meu projeto. Havia dois lugares onde você deveria removê-lo no mesmo arquivo. Ainda assim, não tenho idéia de como o código removido afetará minha solução.

<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props')" />

Espero que isso também ajude alguém a salvar o dia .. !!!

SilentCoder
fonte