Làm cách nào để tắt lỗi xây dựng JavaScript trong Visual Studio 2017?


161

Tôi vừa cập nhật Visual Studio 2017 từ RC đến bản cuối cùng. Tôi không nhận được lỗi sau nhưng gần đây tôi gặp lỗi này. Khi xây dựng dự án, tôi gặp lỗi sau và nó ngăn dự án web bắt đầu:

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

Lỗi JavaScript

Làm cách nào để vô hiệu hóa lỗi xây dựng JavaScript trong Visual Studio 2017?


27
Đó không phải là vấn đề về mã của tôi, tôi muốn sử dụng '==' thay vì '===' trong mã JavaScript của mình
Mohammad Dayyan

9
Lỗi JavaScript không nên ngăn việc xây dựng dự án MVC trong Visual Studio
Mohammad Dayyan

Chia sẻ mã của bạn hoặc vô hiệu hóa thông báo lỗi javascript - đọc phần này: stackoverflow.com/questions/2125455/
Kẻ

13
@Koby Douek: Đây không phải là vấn đề về mã của tôi, tôi không muốn xây dựng lỗi cho tệp JavaScript trong Visual Studio
Mohammad Dayyan

3
Tôi đặc biệt quan tâm đến việc vô hiệu hóa lỗi cụ thể này. ==là một toán tử so sánh hợp lệ là '==='. Đối với tôi, điều đó không ngăn cản tôi xây dựng, nó chỉ làm mờ danh sách lỗi khi tôi gặp một lỗi khác trong mã máy chủ của mình.
xr280xr

Câu trả lời:


298

Tôi nghĩ rằng, tìm giải pháp:

  1. Mở Tools > Options
  2. Điều hướng đến Text Editor > JavaScript/TypeScript > EsLint(trong VS2017 15.8 thì Lintingkhông EsLint)
  3. Đặt Enable ESLintthànhFalse

Vô hiệu hóa ESlint

Phòng thu trực quan> = 15.8.5 Vô hiệu hóa ESlint Visual Studio 15.8.5


2
Làm việc cho tôi trong VS2017
Rory McCrossan

3
mẹo nhanh: hộp văn bản ở trên cùng bên trái trong ảnh chụp màn hình có thể được sử dụng để tìm kiếm bất kỳ cài đặt / tùy chọn nào một cách dễ dàng!
Prashanth Subramanian

6
Điều này không thực sự hoạt động hoàn toàn giống như trong 15.8.0 - nó bị ẩn trong Linting>GeneralTìm kiếm eslintvẫn sẽ đưa nó lên, nhưng nó sẽ được dán nhãn linting. Xem câu trả lời của @ Brad bên dưới.
ahwm

1
Tính năng này tự động bắt đầu hoạt động sau khi cập nhật lên VS 2017 15.8.1. Tôi phải tắt nó một cách thủ công.
Piero Alberto

1
Cảm ơn! Điều đó đã làm tôi bực mình. Đối với phiên bản 15.8.5 bây giờ chỉ là một hộp kiểm.
Sterling Diaz

39

Trong Visual Studio 2017 (v 15.8.0):

Tùy chọn 1: Tùy chọn> Lỗi JS

  1. Mở Tools > Options
  2. Hướng đến Text Editor > JavaScript/TypeScript > Code Validation
  3. Đặt Enable JavaScript errorsthànhfalse
  4. hoặc thiết lập Enable JavaScript errorsđể trueShow errors as warningsđểtrue

Tôi cần phải khởi động lại Visual Studio để điều này có hiệu lực.

Tùy chọn> Lỗi JS

Tùy chọn 2: Tùy chọn> Linting

Có một tùy chọn khác bên dưới sẽ cho phép bạn chỉnh sửa cài đặt linting toàn cầu của mình:

Tùy chọn> JS Linting

Tùy chọn 3: tập tin .eslint

Bạn cũng có thể tạo một tệp có tên .eslintrctrong thư mục gốc của dự án.

Tùy chọn 4: Các lệnh ESLint trong tệp

Xem câu trả lời của @ user9153924


Tài nguyên


15

Tôi đã thử giải pháp của Mohammad nhưng không được. Tôi quản lý để làm việc sau đây:

  1. Nhấp chuột phải vào tệp .csproj trên web của bạn
  2. Trên đầu tiên <PropertyGroup>thêm mục sau: <TypeScriptCompileBlocked>true</TypeScriptCompileBlocked>

4
Tôi nghĩ rằng bạn đã bỏ lỡ một vài bước ở đó. Ý của bạn là nhấp chuột phải vào web .csproj, dỡ dự án, nhấp chuột phải vào nó một lần nữa, chỉnh sửa?
xr280xr

11

Thêm vào /*eslint eqeqeq: ["error", "smart"]*/dòng đầu tiên của mã Javascript của bạn để loại bỏ các lỗi. https://eslint.org/docs/rules/eqeqeq

Theo giải pháp của Mohammad sẽ tắt ESLint để kiểm tra cú pháp. Điều này hoạt động trong VS2015 và sẽ hoạt động trong các phiên bản sau.


Hoàn hảo & không ném em bé ra ngoài bằng nước tắm
ShrapNull

Cảm ơn bạn! Điều này đã làm việc, nhưng tôi khá chắc chắn rằng "lỗi" phải là "tắt" hoặc 0 (không, không có dấu ngoặc kép). Tôi cũng có một tệp pack.json để hoạt động nhờ tham chiếu URL.
Stan

4

Dành cho Visual Studio 2019.

nhập mô tả hình ảnh ở đây

  1. Mở công cụ> Tùy chọn
  2. Điều hướng đến Trình soạn thảo văn bản> JavaScript / TypeScript
  3. => Linting> Chung.

Sau đó bỏ chọn hộp kiểm ESLint. Xin vui lòng Hình ảnh dưới đây để tham khảo.

nhập mô tả hình ảnh ở đây


3

Tôi vừa phải thay đổi hành vi quy tắc "eqeqeq" để bao gồm "thông minh":

Chỉnh sửa tệp .eslintrc được tìm thấy trong thư mục gốc người dùng của bạn được đề cập trong các câu trả lời khác.

Thay đổi được thực hiện cho phần quy tắc bằng cách thêm quy tắc thông minh

    "rules": {

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

Sao chép từ bài viết trên web: Tùy chọn này bắt buộc sử dụng === và! == ngoại trừ các trường hợp sau:

  1. So sánh hai giá trị theo nghĩa đen
  2. Đánh giá giá trị của typeof
  3. So sánh với null

Tôi tìm thấy chi tiết cụ thể tại: https://eslint.org/docs/2.0.0/rules/eqeqeq


Cảm ơn bạn! Tôi đã phải đóng và mở lại Visual Studio để thay đổi có hiệu lực. Ngoài ra, việc thêm tham số "thông minh" dường như không xóa lỗi trong mọi trường hợp, tuy nhiên việc loại bỏ hoàn toàn quy tắc đã thực hiện thủ thuật.
zax

0

Tôi đã thử giải pháp của Mohammad nhưng không có may mắn, tôi đã làm theo câu trả lời của Rafeel và thay vì thêm mẫu mã được đề xuất của anh ấy, tôi đã xóa mã bên dưới web .csprojvà cuối cùng tôi đã có thể xây dựng và chạy dự án của mình. Có hai nơi bạn nên xóa nó trong cùng một tệp. Tuy nhiên, tôi không có bất kỳ manh mối nào về việc mã bị loại bỏ sẽ ảnh hưởng đến giải pháp của tôi như thế nà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')" />

Hy vọng điều này cũng sẽ giúp ai đó tiết kiệm trong ngày .. !!!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.