Comment désactiver l'erreur de génération JavaScript dans Visual Studio 2017?

161

Je viens de mettre à jour Visual Studio 2017 de RC à final. Je n'ai pas eu l'erreur suivante, mais récemment, j'ai eu cette erreur. Lors de la construction du projet, j'obtiens l'erreur suivante et cela empêche le projet Web de démarrer:

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

Erreur JavaScript

Comment puis-je désactiver l'erreur de construction JavaScript dans Visual Studio 2017?

Mohammad Dayyan
la source
27
Ce n'est pas mon problème de code, je veux utiliser '==' au lieu de '===' dans mon code JavaScript
Mohammad Dayyan
9
Une erreur JavaScript ne devrait pas empêcher la création d'un projet MVC dans Visual Studio
Mohammad Dayyan
Soit partager votre code, soit désactiver le message d'erreur javascript - lisez ceci: stackoverflow.com/questions/2125455/…
Koby Douek
13
@Koby Douek: Ce n'est pas mon problème de code, je ne veux pas générer d'erreur pour le fichier JavaScript dans Visual Studio
Mohammad Dayyan
3
Je serais particulièrement intéressé par la désactivation de cette erreur spécifique. ==est un opérateur de comparaison aussi valide que '==='. Pour moi, cela ne m'empêche pas de construire, cela encombre simplement la liste des erreurs lorsque j'ai une autre erreur dans le code de mon serveur.
xr280xr

Réponses:

298

Je pense, trouve la solution:

  1. Ouvert Tools > Options
  2. Accédez à Text Editor > JavaScript/TypeScript > EsLint(dans VS2017 15.8, ce n'est Lintingpas le cas EsLint)
  3. Régler Enable ESLintsurFalse

Désactiver ESlint

Visual Studio> = 15.8.5 Désactiver ESlint Visual Studio 15.8.5

Mohammad Dayyan
la source
2
A travaillé pour moi dans VS2017
Rory McCrossan
3
astuce rapide: la zone de texte en haut à gauche de la capture d'écran peut être utilisée pour rechercher facilement n'importe quel paramètre / option!
Prashanth Subramanian
6
Cela ne fonctionnait pas exactement de la même manière dans 15.8.0 - il est caché sous Linting>GeneralRechercher le eslintfera toujours apparaître, mais il sera étiqueté linting. Voir la réponse de @ Brad ci-dessous.
ahwm
1
Cette fonctionnalité a automatiquement commencé à fonctionner après la mise à jour vers VS 2017 15.8.1. J'ai dû l'éteindre à nouveau manuellement.
Piero Alberto
1
Merci! Cela me faisait chier. Pour la version 15.8.5, c'est juste une case à cocher maintenant.
Sterling Diaz
39

Dans Visual Studio 2017 (v 15.8.0):

Option 1: Options> Erreurs JS

  1. Ouvert Tools > Options
  2. Aller vers Text Editor > JavaScript/TypeScript > Code Validation
  3. Régler Enable JavaScript errorssurfalse
  4. ou, réglé Enable JavaScript errorssur trueet Show errors as warningssurtrue

J'avais besoin de redémarrer Visual Studio pour que cela prenne effet.

Options> Erreurs JS

Option 2: Options> Pelage

Il existe une autre option ci-dessous qui vous permettra de modifier vos paramètres globaux de peluchage:

Options> JS Linting

Option 3: fichier .eslint

Vous pouvez également créer un fichier nommé .eslintrcà la racine de votre projet.

Option 4: commandes ESLint dans le fichier

Voir la réponse de @ user9153924


Ressources

Brad
la source
15

J'ai essayé la solution de Mohammad mais cela n'a pas fonctionné. J'ai réussi à travailler comme suit:

  1. Cliquez avec le bouton droit sur votre fichier Web .csproj
  2. Sur le premier, <PropertyGroup>ajoutez l'entrée suivante: <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
Rafael dos Santos
la source
4
Je pense que vous avez manqué quelques étapes là-bas. Vouliez-vous dire faire un clic droit sur votre site Web .csproj, décharger le projet, cliquer à nouveau avec le bouton droit de la souris, modifier?
xr280xr
11

Ajoutez /*eslint eqeqeq: ["error", "smart"]*/à la première ligne de votre code Javascript pour supprimer les erreurs. https://eslint.org/docs/rules/eqeqeq

Suivre la solution de Mohammad désactivera ESLint pour la vérification de la syntaxe. Cela fonctionne dans VS2015 et devrait fonctionner dans les versions ultérieures.

user9153924
la source
Parfait et ne jette pas le bébé avec l'eau du bain
ShrapNull
Je vous remercie! Cela a fonctionné, mais je suis presque sûr que "erreur" devrait être "off" ou 0 (zéro, sans guillemets). J'ai également eu un fichier package.json pour fonctionner grâce à la référence URL.
Stan
4

Pour Visual Studio 2019.

entrez la description de l'image ici

  1. Ouvrez Outils> Options
  2. Accédez à l'éditeur de texte> JavaScript / TypeScript
  3. => Peluches> Général.

Puis décoché la case ESLint. S'il vous plaît l'image ci-dessous pour référence.

entrez la description de l'image ici

Nilachal Sethi
la source
3

Je viens de changer le comportement de la règle "eqeqeq" pour inclure "smart":

Modifiez le fichier .eslintrc trouvé dans votre dossier racine utilisateur déjà mentionné dans d'autres réponses.

La modification est apportée à la section des règles en ajoutant la règle intelligente

    "rules": {

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

Copié de l'article Web: Cette option impose l'utilisation de === et! == sauf dans les cas suivants:

  1. Comparaison de deux valeurs littérales
  2. Évaluer la valeur de typeof
  3. Comparaison avec null

J'ai trouvé les détails sur: https://eslint.org/docs/2.0.0/rules/eqeqeq

cjl
la source
Je vous remercie! J'ai dû fermer et rouvrir Visual Studio pour que la modification prenne effet. De plus, l'ajout du paramètre "smart" ne semblait pas effacer l'erreur dans tous les cas, mais la suppression totale de la règle a fait l'affaire.
zax le
0

J'ai essayé la solution de Mohammad mais sans chance, j'ai suivi la réponse de Rafeel et au lieu d'ajouter son exemple de code suggéré, j'ai supprimé le code ci-dessous web .csprojet j'ai finalement pu construire et exécuter mon projet. Il y avait deux endroits où vous devriez supprimer cela dans le même fichier. Pourtant, je n'ai aucune idée de la façon dont le code supprimé affectera ma solution.

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

J'espère que cela aidera également quelqu'un à sauver la situation .. !!!

SilentCoder
la source