Bagaimana cara menonaktifkan kesalahan pembuatan JavaScript di Visual Studio 2017?

161

Saya baru saja memperbarui Visual Studio 2017 dari RC ke final. Saya tidak mendapatkan kesalahan berikut tetapi baru-baru ini saya mendapatkan kesalahan ini. Dalam membangun proyek, saya mendapatkan kesalahan berikut dan mencegah proyek web untuk memulai:

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

Kesalahan JavaScript

Bagaimana saya bisa menonaktifkan kesalahan pembangunan JavaScript di Visual Studio 2017?

Mohammad Dayyan
sumber
27
Ini bukan masalah kode saya, saya ingin menggunakan '==' bukan '===' dalam kode JavaScript saya
Mohammad Dayyan
9
Kesalahan JavaScript tidak seharusnya mencegah pembangunan proyek MVC di Visual Studio
Mohammad Dayyan
Bagikan kode Anda, atau nonaktifkan pesan kesalahan javascript - baca ini: stackoverflow.com/questions/2125455/…
Koby Douek
13
@Koby Douek: Ini bukan masalah kode saya, saya tidak ingin membuat kesalahan untuk file JavaScript di Visual Studio
Mohammad Dayyan
3
Saya khususnya tertarik untuk menonaktifkan kesalahan khusus ini. ==sama validnya dengan operator perbandingan dengan '==='. Bagi saya itu tidak mencegah saya dari membangun, itu hanya mengacaukan daftar kesalahan ketika saya memiliki kesalahan lain dalam kode server saya.
xr280xr

Jawaban:

298

Saya pikir, temukan solusinya:

  1. Buka Tools > Options
  2. Arahkan ke Text Editor > JavaScript/TypeScript > EsLint(dalam VS2017 15.8 Lintingtidak EsLint)
  3. Setel Enable ESLintkeFalse

Nonaktifkan ESlint

Visual Studio> = 15.8.5 Nonaktifkan ESlint Visual Studio 15.8.5

Mohammad Dayyan
sumber
2
Bekerja untuk saya di VS2017
Rory McCrossan
3
tip cepat: kotak teks di kiri atas dalam tangkapan layar dapat digunakan untuk mencari pengaturan / opsi apa saja dengan mudah!
Prashanth Subramanian
6
Ini tidak persis bekerja dengan cara yang sama di 15.8.0 - tersembunyi di bawah Linting>GeneralMencari eslintmasih akan memunculkannya, tetapi akan diberi label linting. Lihat @ Brad jawaban di bawah ini.
ahwm
1
Fitur ini secara otomatis mulai berfungsi setelah pembaruan ke VS 2017 15.8.1. Saya harus mematikannya lagi secara manual.
Piero Alberto
1
Terima kasih! Itu membuatku jengkel. Untuk versi 15.8.5 hanyalah sebuah kotak centang sekarang.
Sterling Diaz
39

Dalam Visual Studio 2017 (v 15.8.0):

Opsi 1: Pilihan> Kesalahan JS

  1. Buka Tools > Options
  2. Navigasi ke Text Editor > JavaScript/TypeScript > Code Validation
  3. Setel Enable JavaScript errorskefalse
  4. atau, atur Enable JavaScript errorske truedan Show errors as warningsketrue

Saya perlu me-restart Visual Studio agar ini berlaku.

Pilihan> Kesalahan JS

Opsi 2: Opsi> Linting

Ada opsi lain di bawah ini yang akan memungkinkan Anda mengedit pengaturan global linting Anda:

Pilihan> JS Linting

Opsi 3: file .eslint

Anda juga dapat membuat file dengan nama .eslintrcdi root proyek Anda.

Opsi 4: Perintah ESLint dalam file

Lihat jawaban @ user9153924


Sumber daya

Brad
sumber
15

Saya mencoba solusi Mohammad tetapi tidak berhasil. Saya berhasil melakukan hal-hal berikut:

  1. Klik kanan pada file .csproj web Anda
  2. Pada yang pertama <PropertyGroup>tambahkan entri berikut: <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>
Rafael dos Santos
sumber
4
Saya pikir Anda melewatkan beberapa langkah di sana. Apakah maksud Anda klik kanan .csproj web Anda, bongkar proyek, klik kanan lagi, edit?
xr280xr
11

Tambahkan /*eslint eqeqeq: ["error", "smart"]*/ke baris pertama kode Javascript Anda untuk menghapus kesalahan. https://eslint.org/docs/rules/eqeqeq

Mengikuti solusi Mohammad akan mematikan ESLint untuk memeriksa sintaks. Ini berfungsi di VS2015 dan harus bekerja di versi yang lebih baru.

pengguna9153924
sumber
Sempurna & tidak membuang bayi keluar dengan air mandi
ShrapNull
Terima kasih! Ini berhasil, tetapi saya cukup yakin bahwa "kesalahan" harus "off" atau 0 (nol, tanpa tanda kutip). Saya juga punya file package.json untuk bekerja berkat referensi URL.
Stan
4

Untuk Visual Studio 2019.

masukkan deskripsi gambar di sini

  1. Buka Alat> Opsi
  2. Arahkan ke Editor Teks> JavaScript / TypeScript
  3. => Linting> Umum.

Kemudian centang kotak ESLint yang tidak dicentang. Silakan Gambar di bawah ini untuk referensi.

masukkan deskripsi gambar di sini

Nilachal Sethi
sumber
3

Saya baru saja harus mengubah perilaku aturan "eqeqeq" untuk memasukkan "pintar":

Edit file .eslintrc yang ditemukan di folder root pengguna Anda yang sudah disebutkan dalam jawaban lain.

Perubahan dibuat ke bagian aturan dengan menambahkan aturan cerdas

    "rules": {

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

Disalin dari artikel web: Opsi ini memberlakukan penggunaan === dan! == kecuali untuk kasus ini:

  1. Membandingkan dua nilai literal
  2. Mengevaluasi nilai typeof
  3. Membandingkan dengan nol

Saya menemukan rinciannya di: https://eslint.org/docs/2.0.0/rules/eqeqeq

cjl
sumber
Terima kasih! Saya harus menutup dan membuka kembali Visual Studio agar perubahan diterapkan. Selain itu, menambahkan parameter "pintar" tampaknya tidak menghapus kesalahan dalam semua kasus, namun menghapus aturan sama sekali berhasil.
Zax
0

Saya mencoba solusi Mohammad tetapi tidak berhasil, saya mengikuti jawaban Rafeel dan alih-alih menambahkan contoh kode yang disarankan, saya menghapus kode di bawah dari web .csprojdan akhirnya saya dapat membangun dan menjalankan proyek saya. Ada dua tempat di mana Anda harus menghapusnya di file yang sama. Namun, saya tidak tahu bagaimana kode yang dihapus akan mempengaruhi solusi saya.

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

Semoga ini juga akan membantu seseorang untuk menyelamatkan hari .. !!!

SilentCoder
sumber