Tắt định dạng tự động cho tệp json trong Visual Studio Code


84

Tôi đã kiểm tra tùy chọn của mình nhiều lần và đảm bảo rằng tất cả các tùy chọn liên quan đến định dạng khi lưu được đặt thành sai. Tuy nhiên, mỗi khi tôi lưu tệp .json, tôi thấy tệp của mình bị định dạng.


1
Bạn đã cài đặt bất kỳ tiện ích mở rộng nào chưa?
seairth

@seairth - Tôi đã cài đặt Prettify-json. Tôi đã thử tắt nó nhưng không hiệu quả.

2
Thử gỡ cài đặt hoàn toàn tiện ích mở rộng, khởi động lại VSCode, sau đó xem hành vi có biến mất hay không.
seairth

Đã thử điều đó rồi. :( Dưới đây là các thiết lập của tôi: dropbox.com/s/oxqryk2ab35nno3/default-settings.json?dl=0 dropbox.com/s/p0wywuknhc89yo8/user-settings.json?dl=0

1
Tôi không chắc chắn những gì để đề xuất từ ​​đây. Tôi không thể sao chép nó trên bản sao của mình (v1.2.1). Nhìn qua nguồn VSCode, bản cài đặt cổ phiếu chỉ nên định dạng JSON khi thực hiện một "định dạng mã" rõ ràng (ví dụ: Shift + Alt + F trên Windows). Lệnh đã đăng ký thực tế là "editor.action.format", vì vậy có thể bạn có một phần mở rộng khác đang thực hiện lệnh đó khi lưu. Một cách để kiểm tra có thể là thử một ngôn ngữ đã cài đặt khác và xem nó có hoạt động giống như vậy không.
seairth

Câu trả lời:


138

OK, kiểm tra xem bạn đã cài đặt tiện ích mở rộng này chưa: "Trình định dạng JS-CSS-HTML".

Bây giờ nếu bạn có, hãy nhấn CTRL+ SHIFT+ P, nhập "Formatter" và bạn sẽ thấy một tùy chọn có nội dung Định dạng Config.

Sau khi chọn tùy chọn đó, một tệp có tên formatter.json sẽ mở ra và tất cả những gì bạn làm là chỉnh sửa thuộc tính (có tên là onSave) để từ đúng thành sai.

Khởi động lại với mã và voilà !! Nó đã ngừng định dạng tự động. (vâng !!!!)


Cảm ơn rất nhiều! Đã cứu tôi! Điều này sẽ mang lại nhiều lợi nhuận hơn, vì có rất nhiều bài đăng trên internet hỏi cùng một câu hỏi và vscode không có con trỏ trong Cài đặt đến formatter.json.
Christof Kälin

44

Trong Visual Studio Code, để dừng tự động định dạng chỉ cho các tệp json của bạn, hãy thêm phần sau vào settings.jsontệp bằng cách mở Cài đặt Người dùng - Tùy chọn.

{   
    "[json]": {
        "editor.formatOnSave": false   
    }
}

Nên, có. Trong 1.42.1, điều này không có hiệu lực. Tôi đã phải đặt điều này thành true cho tất cả các định dạng khác một cách rõ ràng mà tôi muốn tự động định dạng, ngoại trừ [json] :( Ngay khi editor.formatOnSave đúng với tất cả (không nằm trong khối [...]), tôi không thể tắt nó cho định dạng json.
Satria

19

Tôi đang sử dụng phiên bản VS Code dưới đây

Version: 1.28.2 (user setup)
Commit: 7f3ce96ff4729c91352ae6def877e59c561f4850
Date: 2018-10-17T00:23:51.859Z
Electron: 2.0.9
Chrome: 61.0.3163.100
Node.js: 8.9.3
V8: 6.1.534.41
Architecture: x64

Và tắt nó bằng các bước sau:

  1. CTRL+SHIFT+P
  2. Kiểu Settings
  3. Lựa chọn Preferences: Open User Settings

Bây giờ hãy làm theo các hướng dẫn bằng hình ảnh sau:

Nhấp vào Chỉnh sửa trong settings.json Thay đổi các giá trị cài đặt người dùng được hiển thị

  1. Chọn Lưu tất cả
  2. Khởi động lại mã VS

2
Nếu giải pháp này không giúp ích thì hãy thử vô hiệu hóa vscode-JS-CSS-HTML-formatter, nó có ích trong trường hợp của tôi. Nguồn: github.com/Microsoft/vscode/issues/16055
Stepan Zakharov

Văn bản thay thế trên hình ảnh của bạn tốt hơn là không có gì, nhưng hướng dẫn trong hình ảnh không thể tiếp cận được. Vui lòng xem xét đưa thông tin hướng dẫn bằng văn bản vào câu trả lời của bạn trong tương lai.
TylerH

8

tìm Settings.json trong "project / .vscode / settings.json"

{
    "editor.formatOnSave": false
}

4

Đáng để lưu ý

Tôi thích định dạng json được bật theo mặc định nhưng chỉ muốn vô hiệu hóa nó khi chỉnh sửa các tệp nhất định (tức là tôi không muốn một số tệp json tệp lớn được mở rộng sau khi định dạng).

Để làm như vậy, tôi đã thực hiện thay đổi và lưu mà không cần định dạng .

Bạn có thể đi vào phím tắt so với mã của bạn và xem những gì Save without formattingđược đặt thành. Trong trường hợp của tôi (người dùng mac), nó được CMD+Ktheo sau bởi S.


2

Ngoài các câu trả lời ở đây, có những cài đặt khác "editor.formatOnSave"có thể có tác dụng tương tự mà bạn cũng có thể muốn tắt - ví dụ: tôi đã bật những cài đặt sau trong Tùy chọn người dùng của mình (settings.json):

"editor.codeActionsOnSave": {
  "source.organizeImports": true
},

Đây là thiết lập khiến tôi đau đầu. Cám ơn vì đã chia sẻ!
Kenneth Lynne

2

Trong VS Code theo mặc định, Lưu mà không cần Định dạng được thực hiện bởi

BƯỚC 1: Nhấn CTRL+ Ksau đó
BƯỚC 2: Nhấn CTRL+ Shift+S


1

định dạng của tôi được đặt thành CMD k + s theo mặc định để Mã VS lưu mà không cần định dạng. bạn có thể thử nó

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.