Wie deaktiviere ich einen JavaScript-Erstellungsfehler in Visual Studio 2017?

161

Ich habe gerade Visual Studio 2017 von RC auf final aktualisiert. Ich habe den folgenden Fehler nicht erhalten, aber kürzlich habe ich diesen Fehler erhalten. Beim Erstellen des Projekts wird der folgende Fehler angezeigt, der das Starten des Webprojekts verhindert:

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

JavaScript-Fehler

Wie kann ich den JavaScript-Erstellungsfehler in Visual Studio 2017 deaktivieren?

Mohammad Dayyan
quelle
27
Es ist nicht mein Codeproblem, ich möchte '==' anstelle von '===' in meinem JavaScript-Code verwenden
Mohammad Dayyan
9
Ein JavaScript-Fehler sollte das
Erstellen eines
Teilen Sie entweder Ihren Code oder deaktivieren Sie die Javascript-Fehlermeldung - lesen Sie diese: stackoverflow.com/questions/2125455/…
Koby Douek
13
@ Coby Douek: Es ist nicht mein Code-Problem, ich möchte keinen Fehler für JavaScript-Datei in Visual Studio
erstellen
3
Ich wäre besonders daran interessiert, diesen speziellen Fehler zu deaktivieren. ==ist ein ebenso gültiger Vergleichsoperator wie '==='. Für mich hindert es mich nicht am Erstellen, es überfrachtet nur die Fehlerliste, wenn ich einen anderen Fehler in meinem Servercode habe.
xr280xr

Antworten:

298

Ich denke, finde die Lösung:

  1. Öffnen Tools > Options
  2. Navigieren Sie zu Text Editor > JavaScript/TypeScript > EsLint(in VS2017 15.8 ist dies Lintingnicht der Fall EsLint)
  3. Set Enable ESLintzuFalse

Deaktivieren Sie ESlint

Visual Studio> = 15.8.5 Deaktivieren Sie ESlint Visual Studio 15.8.5

Mohammad Dayyan
quelle
2
Arbeitete für mich in VS2017
Rory McCrossan
3
Kurztipp: Das Textfeld oben links im Screenshot kann verwendet werden, um einfach nach Einstellungen / Optionen zu suchen!
Prashanth Subramanian
6
Dies hat in 15.8.0 nicht ganz genauso funktioniert - es ist unter Linting>GeneralSuchen nach versteckt und eslintwird immer noch angezeigt , aber es wird als Flusen bezeichnet. Siehe die Antwort von @ Brad unten.
Ahwm
1
Diese Funktion wurde nach dem Update auf VS 2017 15.8.1 automatisch aktiviert. Ich musste es manuell wieder ausschalten.
Piero Alberto
1
Vielen Dank! Das hat mich wütend gemacht. Für Version 15.8.5 ist jetzt nur ein Kontrollkästchen.
Sterling Diaz
39

In Visual Studio 2017 (Version 15.8.0):

Option 1: Optionen> JS-Fehler

  1. Öffnen Tools > Options
  2. Navigieren Sie zu Text Editor > JavaScript/TypeScript > Code Validation
  3. Set Enable JavaScript errorszufalse
  4. oder, eingestellt Enable JavaScript errorsauf trueund Show errors as warningszutrue

Ich musste Visual Studio neu starten, damit dies wirksam wurde.

Optionen> JS-Fehler

Option 2: Optionen> Flusen

Im Folgenden finden Sie eine weitere Option, mit der Sie Ihre globalen Fluseneinstellungen bearbeiten können:

Optionen> JS-Flusen

Option 3: .eslint-Datei

Sie können auch eine Datei mit dem Namen .eslintrcim Stammverzeichnis Ihres Projekts erstellen .

Option 4: ESLint-Befehle in der Datei

Siehe die Antwort von @ user9153924


Ressourcen

Brad
quelle
15

Ich habe Mohammeds Lösung ausprobiert, aber es hat nicht funktioniert. Ich habe es geschafft, Folgendes zu tun:

  1. Klicken Sie mit der rechten Maustaste auf Ihre .csproj-Webdatei
  2. Fügen Sie beim ersten <PropertyGroup>Eintrag den folgenden Eintrag hinzu: <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
Rafael dos Santos
quelle
4
Ich denke, Sie haben dort ein paar Schritte verpasst. Meinten Sie, klicken Sie mit der rechten Maustaste auf Ihr Web .csproj, entladen Sie das Projekt, klicken Sie erneut mit der rechten Maustaste darauf, bearbeiten Sie es?
xr280xr
11

Fügen Sie /*eslint eqeqeq: ["error", "smart"]*/in die erste Zeile Ihres Javascript-Codes ein, um die Fehler zu entfernen. https://eslint.org/docs/rules/eqeqeq

Wenn Sie Mohammeds Lösung folgen, wird ESLint für die Syntaxprüfung deaktiviert. Dies funktioniert in VS2015 und sollte in späteren Versionen funktionieren.

user9153924
quelle
Perfekt und wirft das Baby nicht mit dem Badewasser raus
ShrapNull
Danke dir! Dies hat funktioniert, aber ich bin mir ziemlich sicher, dass "Fehler" "Aus" oder 0 sein sollte (Null, keine Anführungszeichen). Dank der URL-Referenz habe ich auch eine package.json-Datei zum Laufen gebracht.
Stan
4

Für Visual Studio 2019.

Geben Sie hier die Bildbeschreibung ein

  1. Öffnen Sie Extras> Optionen
  2. Navigieren Sie zu Texteditor> JavaScript / TypeScript
  3. => Flusen> Allgemein.

Deaktivieren Sie dann das Kontrollkästchen ESLint. Bitte das unten stehende Bild als Referenz.

Geben Sie hier die Bildbeschreibung ein

Nilachal Sethi
quelle
3

Ich musste nur das Regelverhalten "eqeqeq" ändern , um "smart" einzuschließen :

Bearbeiten Sie die .eslintrc-Datei in Ihrem Benutzer-Stammordner, die bereits in anderen Antworten erwähnt wurde.

Die Änderung wird im Regelbereich durch Hinzufügen der Smart-Regel vorgenommen

    "rules": {

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

Aus dem Webartikel kopiert : Diese Option erzwingt die Verwendung von === und! == mit Ausnahme der folgenden Fälle:

  1. Vergleich zweier Literalwerte
  2. Bewertung des Wertes von typeof
  3. Vergleich mit null

Ich fand die Einzelheiten unter: https://eslint.org/docs/2.0.0/rules/eqeqeq

cjl
quelle
Danke dir! Ich musste Visual Studio schließen und erneut öffnen, damit die Änderung wirksam wurde. Das Hinzufügen des Parameters "smart" schien den Fehler nicht in allen Fällen zu beheben, aber das Entfernen der Regel insgesamt hat den Trick getan.
Zax
0

Ich habe Mohammeds Lösung ausprobiert, aber ohne Glück folgte ich der Antwort von Rafeel und anstatt sein vorgeschlagenes Codebeispiel hinzuzufügen, entfernte ich den folgenden Code aus web .csprojund konnte schließlich mein Projekt erstellen und ausführen. Es gab zwei Stellen, an denen Sie diese in derselben Datei entfernen sollten. Trotzdem habe ich keine Ahnung, wie sich der entfernte Code auf meine Lösung auswirkt.

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

Hoffe das hilft auch jemandem den Tag zu retten .. !!!

SilentCoder
quelle