Làm cách nào để định dạng mã trong Visual Studio Code (VSCode)


990

Tương đương với Ctrl+ K+ FCtrl+ K+ Dtrên Windows trong Visual Studio để định dạng hoặc mã "làm đẹp" trong trình chỉnh sửa Visual Studio Code là gì?


47
Đối với tất cả những người đang cố gắng định dạng XML một cách tuyệt vọng (hiện tại dường như không thể thực hiện được), bạn có thể đạt được điều này bằng cách cài đặt một tiện ích mở rộng. Tôi đã tìm thấy các Công cụ XML để hoàn thành công việc tốt. Disclaimer: Tôi không phải là tác giả cũng không liên quan đến dự án này ...
informatik01

Mặc dù VSCode có các tùy chọn menu ít hơn nhiều so với VS (xu hướng mới?), Nó có thông tin và hướng dẫn mở rộng trong menu HELP, có thể đã trả lời câu hỏi này.
Roland

Đối với tất cả những người đấu tranh để có được công việc định dạng ngay cả sau khi thử các kết hợp hợp lệ trong Visual Studio Code, đừng quên chọn loại ngôn ngữ lập trình phù hợp, nó nằm ở dưới cùng bên phải trong cửa sổ mã phòng thu trực quan bên cạnh nụ cười đó. Khi bạn làm điều đó tôi thấy nó hoạt động tốt và bạn không cần bất kỳ plugin bổ sung nào để định dạng mã.
Ông

Câu trả lời:


3842

Định dạng mã có sẵn trong Visual Studio Code thông qua các phím tắt sau:

  • Trên Windows Shift+ Alt+F
  • Trên máy Mac Shift+ Option+F
  • Trên Linux Ctrl+ Shift+I

Ngoài ra, bạn có thể tìm thấy lối tắt, cũng như các phím tắt khác, thông qua 'Bảng lệnh' được cung cấp trong trình chỉnh sửa có Ctrl+ Shift+ P(hoặc Command+ Shift+ Ptrên máy Mac), sau đó tìm kiếm tài liệu định dạng .


28
Cũng lưu ý rằng Ngôn ngữ mã phải chính xác. tức là Mã định dạng sẽ không khả dụng nếu văn bản thuần túy được chọn nhưng chuyển sang JSON (ví dụ) sẽ định dạng văn bản được chọn một cách vui vẻ. (hạnh phúc như một trình soạn thảo văn bản có thể là dù sao)
Stephen Price

4
@JoSmo: Trên Ubuntu, tôi đã mở Tệp> Tùy chọn> Phím tắt. Có một mục cho {"key": "ctrl + shift + i", "lệnh": "Editor.action.format", "khi": "EditorTextF Focus"}. Lệnh "ctrl + shift + i" hoạt động với tôi.
Asheesh

18
Ngoài ra, rõ ràng tập tin phải được lưu vào đĩa trước. Tôi đã có một đoạn HTML + Javascript nơi nó không thể định dạng JS, vì vậy tôi đã dán nó vào một cửa sổ tạm thời và đặt ngôn ngữ, nhưng điều này cũng không giúp được gì cho đến khi nó được lưu.
Jonas

9
Đối với những người nói rằng nó không hoạt động trên máy Mac, điều này có vẻ như xung đột giữa phím tắt và hệ thống nhập văn bản OS X cho các ký tự có dấu phụ thuộc vào cài đặt bàn phím và ngôn ngữ được định cấu hình của bạn: github.com/Microsoft/vscode/issues / 8914 # phát hành-245947844
Chris Adams

8
Điều này không hoạt động với tôi trên VS Code phiên bản mới nhất và win 10 có giả định rằng đã cài đặt một tiện ích mở rộng nhất định không?
JayPex

479

Mã định dạng phím tắt:

Mã Visual Studio trên Windows - Shift+ Alt+F

Mã Visual Studio trên MacOS - Shift+ Option+F

Mã Visual Studio trên Ubuntu - Ctrl+ Shift+I

Bạn cũng có thể tùy chỉnh phím tắt này bằng cách sử dụng cài đặt tùy chọn nếu cần.

Định dạng mã trong khi lưu tệp:

Visual Studio Code cho phép người dùng tùy chỉnh các cài đặt mặc định.

Nếu bạn muốn tự động định dạng nội dung của mình trong khi lưu, hãy thêm đoạn mã dưới đây vào cài đặt không gian làm việc của Visual Studio Code.

Tệp menu → Tùy chọnCài đặt không gian làm việc

{
    // Controls if the editor should automatically format the line after typing
    "beautify.onSave": true,

    "editor.formatOnSave": true,

    // You can auto format any files based on the file extensions type.
    "beautify.JSfiles": [
        "js",
        "json",
        "jsbeautifyrc",
        "jshintrc",
        "ts"
    ]
}

Lưu ý: bây giờ bạn có thể tự động định dạng tệp TypeScript. Kiểm tra cập nhật của tôi.


Cũng hoạt động cho một ngôn ngữ khác với điều này: Beautify Extension
Equiman 19/8/2016

3
không chắc tại sao nó khác với CentOS, nhưng nóShift + Alt + I
a11smiles

2
beautify.onSave không hợp lệ với phần mở rộng eslint được cài đặt
Ben Petersen

Trên Shift + Alt + I
ubfox

2
@ClintEeastwood thử sử dụng prettier.singleQuote: truetrong cài đặt vs mã của bạn.
Enn

216

Bạn có thể thêm một phím bấm trong menu TệpTùy chọnPhím tắt.

{ "key": "cmd+k cmd+d", "command": "editor.action.formatDocument" }

Hoặc Visual Studio như:

{ "key": "ctrl+k ctrl+d", "command": "editor.action.formatDocument" }

23
Trong Windows, thay thế cmdbằng ctrl- đừng chỉ sao chép và dán một cách mù quáng như tôi đã làm!
Jens Ehrich

3
"Editor.action.format" đang hoạt động trở lại. Bây giờ nó định dạng toàn bộ tài liệu nếu không có gì được chọn, định dạng khác là lựa chọn.
Red Hood Hood

198
  1. Nhấp chuột phải vào tập tin
  2. Chọn Định dạng Tài liệu từ menu:
    • Các cửa sổ: Alt Shift F
    • Linux: Alt Shift I
    • hệ điều hành Mac: F

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


18
Đối với Linux, các phím tắt là Ctlr + Shift + I
Lucas

Một hộp thực đơn là gì?
Peter Mortensen

@PeterMortensen hộp mà bạn nhìn thấy menu. Trong ảnh chụp màn hình, đó là hộp màu trắng với "Định dạng tài liệu", "Cắt", "Sao chép", "Dán", v.v.
Ben Leggiero

117

Tổ hợp phím bên phải là Shift+ Alt+ F.


2
Khi bạn chỉ cần sao chép và dán mã từ clipboard vào một tab mới , thì không có gì xảy ra. Giải pháp: Lưu mã vào một tệp có phần mở rộng tệp có liên quan (ví dụ * .json). Sau đó, nó hoạt động. Tôi cho rằng lý do là người làm đẹp biết ngôn ngữ từ tiện ích mở rộng và không thực hiện tự động phát hiện dựa trên mã.
Làm đẹp

Phím tắt này hoạt động cho MAC. Trong Windows, nó định dạng mã.
C. Damoc

63

Đối với Fedora

  1. Bấm File-> Preferences-> Keyboard shortcuts.
  2. Dưới Default Keyboard Shortcuts, tìm kiếm ( Ctrl+ F) cho editor.action.format.

Của tôi đọc "key": "ctrl+shift+i"

Bạn có thể thay đổi nó là tốt. Tham khảo câu trả lời này về cách ... hoặc nếu bạn cảm thấy hơi lười biếng khi cuộn lên:


Bạn có thể thêm một liên kết phím trong "Tùy chọn-> Phím tắt"

{ "key": "cmd+k cmd+d", "command": "editor.action.format" }

Hoặc Visual Studio như:

{ "key": "ctrl+k ctrl+d", "command": "editor.action.format" }


Xin lưu ý: cmdkhóa chỉ dành cho máy Mac. Đối với Windows và Fedora (bàn phím Windows) sử dụngCtrl


CHỈNH SỬA :

Theo phiên bản Visual Code, 1.28.2đây là những gì tôi tìm thấy.

editor.action.formatkhông còn tồn tại. Bây giờ nó đã được thay thế bởi editor.action.formatDocumenteditor.action.formatSelection.

Nhập editor.action.formatvào hộp tìm kiếm để xem các phím tắt hiện có.

Để thay đổi các tổ hợp phím, hãy làm theo các bước sau:

  1. Bấm editor.action.formatDocumenthoặceditor.action.formatSelection
  2. Một biểu tượng giống như bút xuất hiện ở bên trái - nhấp vào nó.
  3. Một cửa sổ bật lên xuất hiện. Nhấn tổ hợp phím mong muốn và nhấn enter.

Với lệnh này, trong các tệp TypeScript của tôi, trích dẫn đơn trở thành trích dẫn kép. Làm thế nào để giải quyết điều đó?
DioBrando

Dường như không thể xác định vị trí này trong UI rác cài đặt mới.
Oliver Dixon

63

Trên Linux, nó là Ctrl+ Shift+ I.

Trên Windows, nó là Alt+ Shift+ F. Đã thử nghiệm với HTML / CSS / JavaScript và Visual Studio Code 1.18.0.

Đối với các ngôn ngữ khác, bạn có thể cần phải cài đặt một gói ngôn ngữ cụ thể.


61

Visual Studio Code 1.6.1 hỗ trợ " Format On Save " sẽ tự động chọn các phần mở rộng định dạng được cài đặt có liên quan và định dạng toàn bộ tài liệu trên mỗi lần lưu.

Bật "Định dạng khi lưu" bằng cách cài đặt

"editor.formatOnSave": true

Và có các phím tắt có sẵn (Visual Studio Code 1.7 trở lên):

Định dạng toàn bộ tài liệu : Shift+ Alt+F

Chỉ chọn định dạng : Ctrl+ K, Ctrl+F


Tôi đề xuất tiện ích mở rộng EsLint cho thị trường
Dariusz

44

Trên Ubuntu, nó là Ctrl+ Shift+ I.


7
Tôi đoán nó phụ thuộc vào ngôn ngữ. CTRL + SHIFT + Ilàm việc cho JavaScript nhưng không phải cho PHP chẳng hạn.
Jamie Carl

32

Chỉ cần nhấp chuột phải vào văn bản và chọn "Định dạng mã".

Visual Studio Code sử dụng js-beautifynội bộ, nhưng nó thiếu khả năng sửa đổi kiểu bạn muốn sử dụng. Tiện ích mở rộng "làm đẹp" cho phép bạn thêm cài đặt.


1
Chắc chắn, tôi đang sử dụng Windows và nó hoạt động như mô tả - nó có thể phụ thuộc vào phiên bản VScode (vui lòng cập nhật!) Và vào phần mở rộng tệp. Vui lòng kiểm tra với HTML.
Gerfried


32

Menu TệpTùy chọnCài đặt

"editor.formatOnType": true

Khi bạn nhập dấu chấm phẩy, nó sẽ được định dạng.

Ngoài ra, bạn cũng có thể sử dụng "editor.formatOnSave": true.


Thật kỳ lạ, tôi đã tìm thấy hành vi của cài đặt này có thể khác so với shift+alt+ftrong các tình huống nhất định. không biết tại sao
JzInqXc9Dg

Khi tôi bật tính năng này và tôi tạo một chức năng trong C #, tôi có thể hoàn thành toàn bộ và tiếp tục nhưng chức năng không được định dạng cho đến khi tôi thực hiện tính năng "Định dạng tài liệu". Tôi không biết tại sao cài đặt ở trên không định dạng sau khi nhập một chức năng.
Daniel Jackson


24

Vì một số lý do Alt+ Shift+ Fkhông hoạt động với tôi trên Mac Visual Studio Code 1.3.1 và thực tế lệnh "Format Document" hoàn toàn không hoạt động. Nhưng lệnh Formatter hoạt động rất tốt.

Vì vậy, bạn có thể sử dụng Command+ Shift+ Pvà nhập Trình định dạng hoặc tạo lối tắt của riêng mình trong menu TệpTùy chọnPhím tắtCommand+ K Command+ Ssau đó nhập Trình định dạng và thêm phím tắt.

Xem một ví dụ:

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


23

Mã định dạng trong Visual Studio.

Tôi đã cố gắng định dạng trong Windows 8.

Chỉ cần làm theo các ảnh chụp màn hình dưới đây.

  1. Bấm vào Xem trên thanh menu trên cùng, rồi bấm vào Bảng màu Lệnh.

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

  2. Sau đó, một hộp văn bản sẽ xuất hiện nơi chúng ta cần định dạng

    Shift+ Alt+F

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


1
Đôi khi tôi sao chép dán xml vào một tệp mới và muốn định dạng tệp mà không lưu tệp. Điều này là hoàn hảo cho các tình huống như vậy!
dùng3885927

19

Trong Visual Studio Code, Shift+ Alt+ Fđang làm những gì Ctrl+ K+ Dđang làm trong Visual Studio.


18

Phím tắt định dạng trong C # không hoạt động với tôi cho đến khi tôi cài đặt Mono cho Mac OS X, DNVMDNX .

Trước khi tôi cài đặt Mono, phím tắt định dạng tự động ( Shift+ Alt+ F) chỉ hoạt động cho các .jsontệp.


Để định dạng C # người ta cần cài đặt tiện ích mở rộng. Thông thường omamelarp nên làm việc. Tuy nhiên, có một lỗi trong omamelarp. Cho đến khi sửa lỗi, chúng tôi phải sử dụng phần mở rộng Leopotam.csharpfixformat. Nó ghi đè lên omquerarp. Sau khi cài đặt tiện ích mở rộng C # FixFormat tôi có thể định dạng lại tài liệu.
Oncel Umut TURER

18

Trên Mac, Shift+ Alt+ Fhoạt động với tôi.

Bạn luôn có thể kiểm tra các ràng buộc chính trong menu:

Tệp menu → Tùy chọnPhím tắt và bộ lọc theo từ khóa 'định dạng'.


14

Trong khi thay đổi hành vi mặc định cho Visual Studio Code yêu cầu một tiện ích mở rộng, bạn có thể ghi đè hành vi mặc định trong không gian làm việc hoặc cấp độ người dùng. Nó hoạt động với hầu hết các ngôn ngữ được hỗ trợ (tôi có thể đảm bảo HTML, JavaScript và C #).

Cấp độ không gian làm việc

Những lợi ích

  • Không yêu cầu gia hạn
  • Có thể được chia sẻ giữa các đội

Kết quả

  • .vscode/settings.json được tạo trong thư mục gốc của dự án

Làm thế nào để?

  1. Truy cập: Tệp menu → Tùy chọnCài đặt không gian làm việc

  2. Thêm và lưu "editor.formatOnType": truevào settings.json (ghi đè hành vi mặc định cho dự án bạn làm việc bằng cách tạo tệp .vscode / settings.json).

    Trông nó thế nào

Cấp độ môi trường người dùng

Những lợi ích

  • Không yêu cầu gia hạn
  • Môi trường phát triển cá nhân tweeking để cai trị tất cả (cài đặt :))

Kết quả

  • Người dùng settings.jsonđược sửa đổi (xem vị trí của hệ điều hành bên dưới)

Làm thế nào để?

  1. Truy cập: menu TệpTùy chọnCài đặt người dùng

  2. Thêm hoặc thay đổi giá trị của "editor.formatOnType": falsethành "editor.formatOnType": truetrong cài đặt người dùng.json

settings.jsonVị trí người dùng Visual Studio Code của bạn là:

Vị trí cài đặt tệp tùy thuộc vào nền tảng của bạn, tệp cài đặt người dùng được đặt ở đây:

  • Các cửa sổ: %APPDATA%\Code\User\settings.json
  • Mac: $HOME/Library/Application Support/Code/User/settings.json
  • Linux: $HOME/.config/Code/User/settings.jsonTệp cài đặt không gian làm việc nằm trong thư mục .vscode trong dự án của bạn.

Thông tin chi tiết có thể được tìm thấy ở đây .


9

Mặc định khóa này không hoạt động đối với tôi trên các tài liệu HTML, CSS và JavaScript.

Sau khi tìm kiếm, tôi tìm thấy plugin định dạng phổ biến JS-CSS-HTML với 133.796 lượt cài đặt .

Sau khi cài đặt, chỉ cần tải lại các cửa sổ và nhấn Ctrl+ Shift+ F, và nó đã hoạt động!


Vâng, nhưng chỉ có 2 trên 5 sao? Nghiêm túc?
bộ

Xin nhắc lại: câu trả lời này ban đầu được viết vào năm 2017 và thời điểm đó, chức năng VS Code có khá nhiều chức năng thông qua các plugin hoặc các bản hack khác, không có giải pháp nào khác hoạt động cho tôi vào thời điểm đó vì vậy tôi đã tự mình khám phá nó. quan tâm có bao nhiêu ngôi sao :-) Bây giờ 2020 và hỗ trợ định dạng là tuyệt vời.
mumair

Tôi không nghĩ rằng Mã VS chưa hỗ trợ định dạng CSS ra khỏi hộp. Tôi đã cài đặt plugin Prettier ( prettier.io ) xử lý JavaScript, TypeScript, Flow, JSX, JSON, CSS, SCSS, Less, HTML, Vue, Angular, GraphQL, Markdown, YAML. 5,6 triệu lượt cài đặt và 4 sao.
bộ

Tôi rất vui vì bạn thấy đẹp hơn: Hỗ trợ định dạng P ở đó nhưng không tốt bằng đẹp hơn, tôi sử dụng đẹp hơn như phụ thuộc dev trong tất cả các dự án .prettierrcvà plugin của tôi. Tôi sợ rằng một ngày nào đó đẹp hơn sẽ hợp nhất thành vs-code :)
mumair

8

Chọn văn bản, nhấp chuột phải vào lựa chọn và chọn tùy chọn "bảng lệnh":

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

Một cửa sổ mới mở ra. Tìm kiếm "định dạng" và chọn tùy chọn có định dạng theo yêu cầu.




7

Đối với những người muốn tùy chỉnh các tệp JavaScript cần định dạng, bạn có thể sử dụng bất kỳ tiện ích mở rộng nào trên thuộc JSfilestính. Điều tương tự cũng áp dụng cho HTML.

{
    "beautify.onSave": true,
    "beautify.JSfiles": ["js", "json", "jsbeautifyrc", "jshintrc", "ts"],
    "beautify.HTMLfiles": ["htm", "html"]
}

Điều này sẽ cho phép làm đẹp khi lưu cho TypeScript và bạn có thể thêm XML vào tùy chọn HTML.


1
Tôi để cái này ở đâu? Nó cũng giúp thêm rằng làm đẹp là một phần mở rộng ...
rotgers

Bạn có thể đã đề cập đến nơi để đặt mã này.
gromit190

6

Nếu bạn muốn tùy chỉnh kiểu tài liệu định dạng, bạn nên sử dụng Beautify mở rộng .

Tham khảo ảnh chụp màn hình này:

img


6

Trước tiên, bạn phải cài đặt trình cắm thích hợp (ví dụ: XML, C #, v.v.).

Định dạng sẽ không khả dụng cho đến khi bạn cài đặt plugin có liên quan và lưu tệp với tiện ích mở rộng phù hợp.


Beautify hỏi bạn nếu nó không biết nên sử dụng công cụ định dạng nào, cho phép một người định kiểu cshtml.
Cees Timmerman

6

Cách đơn giản nhất tôi sử dụng trong Visual Studio Code (Ubuntu) là:

Chọn văn bản mà bạn muốn định dạng bằng chuột.

Nhấp chuột phải và chọn "Định dạng lựa chọn" .


5

Không phải cái này. Dùng cái này:

Tệp menu → Tùy chọnCài đặt không gian làm việc , "Editor.formatOnType" : true


3
Không phải cái này cái gì? Bạn đang đề cập đến một câu trả lời khác? Nếu có, cái nào?
Peter Mortensen


2

Mã Visual Studio trên Linux:

Ctrl + [ để khối mã không liên kết và

Ctrl+ ]để làm cho một vết lõm lớ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.