VSCode báo giá đơn đến kép tự động thay thế


109

Khi tôi thực hiện một Format Documentlệnh trên tệp Vue Component.vue VSCode thay thế tất cả chuỗi được trích dẫn đơn bằng chuỗi được trích dẫn kép.

Trong trường hợp cụ thể của tôi, quy tắc này xung đột với cấu hình electron-vue lint yêu cầu trích dẫn đơn.

Tôi chưa cài đặt các tiện ích mở rộng đẹp hơn (không có prettier.singleQuotetrong cài đặt của tôi)

Làm thế nào để tùy chỉnh VSCode để tránh điều này?


Câu trả lời:


137

Tôi chưa prettiercài đặt tiện ích mở rộng, nhưng sau khi đọc câu trả lời có thể trùng lặp, tôi đã thêm từ đầu vào Cài đặt người dùng của mình ( UserSetting.json, Ctrl +, phím tắt):

"prettier.singleQuote": true

Một phần cảnh báo màu xanh lá cây ( Unknown configuration setting) các dấu nháy đơn không được thay thế nữa.

Tôi nghi ngờ rằng phần mở rộng đẹp hơn không hiển thị nhưng được nhúng bên trong phần mở rộng Vetur .


2
Điều này không hiệu quả với tôi. Tôi đã phải sử dụng vetur.format.defaultFormatterOptionsthay thế. Xem https://vuejs.github.io/vetur/formatting.html#settings .
user1620220

Sau khi mở tìm kiếm nhanh, gõ "> cài đặt người dùng" và nhấp vào "Tùy chọn: Mở Cài đặt người dùng". Trong hộp tìm kiếm tùy chọn của bạn, hãy nhập "Prettier.singleQuote" và nhấp vào hộp kiểm để có một trích dẫn đơn đẹp hơn.
Kody

4
Điều này không hiệu quả với tôi, quote_type = singletrong [*.myDesiredFileExtension]phần trong .editorconfigtệp, là giải pháp.
Cô đơn

82

Vâng, giống như anh chàng (@ user2982122) đã đề cập nhưng thay vì Tệp, hãy chuyển đến -> Tùy chọn -> Cài đặt, sau đó tìm Báo giá , chọn Prettier và chọn cả hai hộp

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


1
Bạn có phải tải lại các cài đặt này để chúng có hiệu lực không? Tôi đã kiểm tra cả hai, nhưng khi tôi lưu tệp .jsx của mình, dấu ngoặc kép không chuyển thành dấu nháy đơn.
J Woodchuck,

Đó là lạ, tôi đang sử dụng phiên bản này: Phát hành 1,14 build 1.14.0-17740
Mekhatria Mustapha

58

Đối với các dự án sử dụng .editorconfigtệp theo mặc định. Trình định dạng sẽ bỏ qua các quy tắc trong cài đặt và sử dụng các quy tắc trong .editorconfig, sau đó bạn có thể:

  • Xóa .editorconfigtệp và sử dụng cài đặt VSCode của bạn.
  • Thêm quote_type = singlevào .editorconfigtệp liên quan đến loại tệp của bạn. Bạn cũng có thể đặt quote_typegiá trị thành doublehoặc auto.

1
Tôi đã làm điều này và nó không hoạt động bất kể tôi đã cài đặt editorconfig trên toàn cầu hay tôi cố gắng kiện editorconfig về Mã VS. :(
acarlstein

Cảm ơn, ứng dụng Angular của tôi sử dụng .editorconfigtheo mặc định (không biết điều đó) và giải pháp của bạn đã khắc phục sự cố của tôi
benshabatnoam

vui lòng xem xét: bạn không thể xóa .editorconfignếu đó là một dự án được phiên bản thông thường
Lonely

36

Có vẻ như đó là một lỗi mở cho vấn đề này: Lỗi Prettier

Không có giải pháp nào ở trên phù hợp với tôi. Điều duy nhất hoạt động là thêm dòng mã này vào package.json:

"prettier": {
    "singleQuote": true
  },


15

vui lòng xem xét .editorconfigghi đè mọi thứ, sử dụng:

[*]
quote_type = single

Đây là giải pháp làm việc duy nhất. Cảm ơn bạn đời!
Donald Shahini

Bạn được chào đón @DonaldShahini;)
Cô đơn

12

Giải pháp đúng:

Tôi thêm tệp .prettierrc.js vào dự án gốc chính của mình và viết

module.exports = {
    singleQuote: true
  };

Tôi đã thử điều này nhưng nó báo lỗi: "ESLint: Không tải được cấu hình" defaults / configrations / eslint "để mở rộng từ." Tốt nhất là thêm điều này vào package.json. Giải pháp
Avjol Sakaj

bạn đã đặt tệp .prettierrc.js của mình vào thư mục gốc của dự án?
Omar Hasan

8

Đối với người mới như tôi:

Từ menu Thanh điều hướng ở trên cùng: Chọn Tệp -> Tùy chọn -> Cài đặt. Trong hộp văn bản tìm kiếm, nhập Trích dẫn Trong danh sách được lọc xuất hiện bên dưới, hãy tìm biểu tượng bánh răng và bên cạnh biểu tượng đó - "Đẹp hơn". Nhấp vào hộp kiểm để bật "Prettier: Single Quote"


7

Cài đặt tiện ích mở rộng đẹp hơn và dán mã bên dưới vào settings.jsontệp VSCode của bạn

 "prettier.useEditorConfig": false,
 "prettier.singleQuote": true

điều này sẽ bỏ qua .editorconfigcài đặt tệp của bạn .


6

Theo ghi nhận của @attdona, phần mở rộng Vetur bao gồm đẹp hơn.

Mặc dù bạn có thể thay đổi cài đặt đẹp hơn, theo câu trả lời được chấp nhận, bạn cũng có thể thay đổi định dạng cho các vùng cụ thể của thành phần vue.

Ví dụ: ở đây, tôi đã đặt Vetur sử dụng trình định dạng vscode-typecript vì nó sử dụng dấu ngoặc kép theo mặc định:

cài đặt vetur vscode



6

Tôi đã gặp vấn đề tương tự trong vscode. Chỉ cần tạo tệp .prettierrc trong thư mục gốc của bạn và thêm json sau. Đối với các dấu ngoặc kép, hãy thêm:

{
  "singleQuote": true
}

Đối với dấu ngoặc kép, hãy thêm:

  {
      "singleQuote": false
  }

6

Hãy thử một trong những giải pháp này

  1. Trong tệp vscode settings.json thêm mục này "prettier.singleQuote": true
  2. Trong vscode nếu bạn có .editorconfigtệp, hãy thêm dòng này dưới biểu tượng [*] gốcquote_type = single
  3. Trong vscode nếu bạn có .prettierrctệp, hãy thêm dòng này
{
    "singleQuote": true,
    "vetur.format.defaultFormatterOptions": {
        "prettier": {
            "singleQuote": true
        }
    }
}

1
Lựa chọn thứ hai làm việc, tiếc là câu trả lời khác trong trang này không làm việc
Mo.

5

Có giải pháp duy nhất phù hợp với tôi: và chỉ dành cho Dự án Angular:

Chỉ cần vào tệp ".editorconfig" của dự án và dán 'quote_type = single'. Hy vọng nó cũng sẽ làm việc cho bạn.


4

Tôi đã thêm tệp được gọi .prettierrcvào thư mục dự án của mình. Nội dung tệp:

{
    "singleQuote": true,
    "vetur.format.defaultFormatterOptions": {
        "prettier": {
            "singleQuote": true
        }
    }
}

2

Bạn có thể sử dụng điều này trong settings.json

"javascript.preferences.quoteStyle": "single"


1

Nó hoạt động để tôi kiểm tra trích dẫn đơn lẻ trong Prettier cũng như tslint.autoFixOnSave là đúng

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

nhập mô tả hình ảnh ở đâ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.