Làm cách nào để thay đổi thụt lề trong Visual Studio Code?


341

Đối với mỗi tệp bản thảo, mã studio trực quan sử dụng một thụt lề tự động gồm 8 khoảng trắng. Đây là một chút quá nhiều cho sở thích của tôi nhưng tôi không thể tìm thấy nơi để thay đổi nó.

Có thể nó có sẵn dưới dạng cài đặt nhưng dưới một tên khác vì tôi không thể tìm thấy bất cứ điều gì liên quan đến thụt lề.

CẬP NHẬT

Tôi hiện đang sử dụng trình định dạng mã Prettier và giải quyết tất cả các vấn đề định dạng bằng cách tự động định dạng khi lưu (nếu không có lỗi cú pháp)

Câu trả lời:


109

Bạn có thể thay đổi điều này ở Usercấp độ toàn cầu hoặc Workspacecấp độ.

Mở cài đặt: Sử dụng các phím tắt ctrl + ,hoặc nhấp chuột File> Preferences> Settingsnhư hình dưới đây.

Cài đặt trên menu Mã VS

Sau đó, thực hiện 2 thay đổi sau: (nhập tabSizevào thanh tìm kiếm)

  1. Bỏ chọn hộp kiểm của Detect Indentation
  2. Thay đổi kích thước tab thành 2/4 (Mặc dù tôi thực sự nghĩ rằng 2 là chính xác cho JS :))

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


1
Xin vui lòng, sử dụng 4 không gian để thụt lề.
Bohdan Kuts

3
@BohdanKuts ha ha, đây sẽ là cuộc tranh cãi bất tận
Xin

Đúng :) Tôi đã thực hiện một số tìm kiếm cho điều đó và tìm thấy lý do tại sao nó trở thành 2 khoảng trắng. Và với tôi lý do có vẻ đã lỗi thời nên tôi sẽ khuyên bạn nên sử dụng 4 không gian cho chắc chắn.
Bohdan Kuts

Điều này là chủ quan và không có lợi thế thực sự, tôi giữ 2 khoảng trắng cho một số loại tệp như js, html và css và 3 khoảng trắng cho mã, chỉ để dễ đọc. Trong HTML và XML với 4 khoảng trắng, bạn sẽ cần phải cuộn sang bên phải rất sớm.
Pablo Pazos

574

Trong thanh công cụ ở góc dưới bên phải, bạn sẽ thấy một mục giống như sau: nhập mô tả hình ảnh ở đây Sau khi nhấp vào nó, bạn sẽ có tùy chọn thụt lề bằng cách sử dụng dấu cách hoặc tab. Sau khi chọn loại thụt lề, bạn sẽ có tùy chọn thay đổi mức độ thụt lề lớn như thế nào. Trong trường hợp ví dụ trên, thụt lề được đặt thành 4 ký tự khoảng trắng cho mỗi lần thụt lề. Nếu tab được chọn làm ký tự thụt lề của bạn thì bạn sẽ thấy Kích thước tab thay vì Spaces

Nếu bạn muốn áp dụng điều này cho tất cả các tệp chứ không phải trên cơ sở tệp riêng lẻ, hãy ghi đè Editor: Tab SizeEditor: Insert Spacescài đặt trong Cài đặt người dùng hoặc Cài đặt không gian làm việc tùy theo nhu cầu của bạn

Chỉnh sửa 1

Để truy cập cài đặt người dùng hoặc không gian làm việc của bạn, hãy đi tới Tùy chọn -> Cài đặt . Xác minh rằng bạn đang ở trên tab Người dùng hoặc Không gian làm việc tùy thuộc vào nhu cầu của bạn và sử dụng thanh tìm kiếm để xác định vị trí cài đặt. Bạn cũng có thể muốn tắt Editor: Detect Indentationvì cài đặt này sẽ ghi đè lên những gì bạn đã đặt Editor: Insert SpacesEditor: Tab Sizekhi được bật


Liên kết hình ảnh bị hỏng.

34
Thay đổi editor.tabSpaceskhông không thay đổi khoảng cách trong tất cả các file. Nó chỉ thay đổi nó cho các tập tin được tạo trong tương lai. Vẫn không có giải pháp để sửa tất cả các tệp trong một hành động.
Jacob Stamm

3
ồ tâm trí nổ tung. đôi khi mọi thứ chỉ ẩn trong tầm nhìn rõ ràng
pingo

4
Đây là siêu không trực quan. Tôi đã thiết lập thụt lề để sử dụng không gian. Tại sao tôi cần nhấp vào tùy chọn khoảng trắng để đến menu thứ hai, ẩn để đặt số lượng khoảng trắng? Mỗi trình soạn thảo khác mà tôi đã sử dụng là một cú nhấp chuột vào chi tiết thụt vào thanh trạng thái và có một số tùy chọn khoảng trắng. Trong VS Code, tôi cần tìm kiếm điều này trên Stack Overflow vì menu tôi muốn bị ẩn đằng sau một tùy chọn mà tôi không cố gắng thay đổi.
ian.pvd

1
nó dường như luôn quay trở lại mặc định 4 khoảng trống mỗi lần tôi tạo một tệp mới?!?!
oldboy

141

Để thay đổi thụt lề dựa trên ngôn ngữ lập trình :

  1. Mở Bảng lệnh ( CtrlShiftP| macOS P:)
  2. Tùy chọn: Định cấu hình cài đặt ngôn ngữ cụ thể ... (id lệnh workbench.action.configureLanguageBasedSettings:)
  3. Chọn ngôn ngữ lập trình (ví dụ TypeScript)
  4. Thêm mã này:

    "[typescript]": {
        "editor.tabSize": 2
    }
    

Xem thêm: Tài liệu mã VS


Làm thế nào (ở đâu) một người sử dụng id lệnh? Tôi không thấy "Định cấu hình cài đặt ngôn ngữ cụ thể" trong Tùy chọn tệp.
Alan Baljeu

@AlanBaljeu bạn có thể sử dụng id lệnh cho phím tắt, tiện ích mở rộng, v.v. Vì vậy, bạn có thể truy cập Tệp > Tùy chọn > Phím tắt , dán ID vào đầu vào và gán ví dụ Ctrl + K Ctrl + L cho lệnh.
Martin Schneider

55

Bạn cũng có thể muốn đặt editor.detectIndentation sai, ngoài câu trả lời của Elliot-J.

VSCode sẽ ghi đè lên editor.tabSizeeditor.insertSpacescài đặt của bạn trên mỗi tệp nếu phát hiện thấy tệp có tab khác hoặc mẫu thụt lề. Bạn có thể gặp phải vấn đề này nếu bạn thêm các tệp hiện có vào dự án của mình hoặc nếu bạn thêm các tệp bằng cách sử dụng trình tạo mã như Angular Cli. Cài đặt ở trên ngăn VSCode thực hiện việc này.


44

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

VSCode trên Windows - Shift + Alt + F

VSCode trên MacOS - Shift + Tùy chọn + F

VSCode 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.

chọn cột bằng bàn phím Ctrl + Shift + Alt + Arrow


1
Shift + Alt + Fđã thay đổi tất cả các thụt lề trong tệp của tôi từ 8 khoảng trắng thành 4 khoảng trắng mặc định của tôi. Chỉ là những gì tôi đang tìm kiếm :)
Harry12345

24

Trong trường hợp của tôi " EditorConfig cho VS Code " đang ghi đè cài đặt VSCode. Nếu bạn đã cài đặt nó, hãy kiểm tra tệp .editorconfig trong thư mục gốc của dự án.

Đây là một ví dụ cấu hình. "Indent_size" đặt số lượng khoảng trắng cho một tab.

# editorconfig.org
root = true

[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

[*.md]
trim_trailing_whitespace = false

7

Giải thích đơn giản với hình ảnh cho những người đã googled "Thay đổi thụt lề trong Mã VS"

Bước 1: Nhấp vào Tùy chọn> Cài đặt

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

Bước 2: Cài đặt bạn đang tìm kiếm là "Phát hiện thụt lề", bắt đầu nhập vào đó. Nhấp vào "Trình chỉnh sửa: Kích thước tab"

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

Bước 3: Cuộn xuống "Trình chỉnh sửa: Kích thước tab" và nhập 2 (hoặc bất cứ thứ gì bạn cần).

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



Thay đổi được lưu tự động

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

Ví dụ về những thay đổi của tôi

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


6

Để đặt tất cả các tệp hiện có và các tệp mới thành nhận dạng không gian thành 2, chỉ cần đặt nó trong settingsns.json của bạn (trong thư mục gốc của json):

"[typescript]": {
        "editor.defaultFormatter": "vscode.typescript-language-features",
        "editor.tabSize": 2,
        "editor.insertSpaces": true,
        "editor.detectIndentation":false
 }

bạn có thể thêm loại ngôn ngữ của cấu hình:

"[javascript]": {
    "editor.tabSize": 2,
    "editor.insertSpaces": true,
    "editor.detectIndentation":false
} 

Ngày nay tôi sử dụng prettier.js và plugin js vì nó quan tâm đến khoảng cách và các thứ tự sắp xếp lại dài khác cũng như hầu hết mọi thứ khác.
HMR

1
Cảm ơn, câu trả lời tuyệt vời, cách tốt nhất cho tôi.
Swetabja Hazra

5

Cách biến 4 khoảng trắng thụt lề trong tất cả các tệp trong Mã VS thành 2 khoảng trắng

  • Mở tìm kiếm tập tin
  • Bật biểu thức chính quy
  • Nhập: ( {2})(?: {2})(\b|(?!=[,'";\.:\*\\\/\{\}\[\]\(\)]))trong trường tìm kiếm
  • Nhập: $1trong trường thay thế

Cách biến 2 dấu cách thụt lề trong tất cả các tệp trong Mã VS thành 4 khoảng trắng

  • Mở tìm kiếm tập tin
  • Bật biểu thức chính quy
  • Nhập: ( {2})(\b|(?!=[,'";\.:\\*\\\/{\}\[\]\(\)]))trong trường tìm kiếm
  • Nhập: $1$1trong trường thay thế

LƯU Ý: Bạn phải bật PERL Regex trước. Đây là cách thực hiện:

  • Mở cài đặt và đi đến tệp JSON
  • thêm phần sau vào tệp JSON "search.usePCRE2": true

Hy vọng ai đó nhìn thấy điều này.


1
Cụ thể đối với Mã VS, cũng có một phần mở rộng để chuyển đổi 4 thành 2 khoảng trắng.
tanius

4

Vấn đề: Câu trả lời được chấp nhận không thực sự khắc phục sự thụt lề trong tài liệu hiện tại.

Giải pháp: Chạy Format Documentđể xử lý lại tài liệu theo cài đặt hiện tại (mới).

Vấn đề: Các tài liệu HTML trong các dự án của tôi thuộc loại "Django HTML" chứ không phải "HTML" và không có định dạng có sẵn.

Giải pháp: Chuyển chúng thành cú pháp "HTML", định dạng chúng, sau đó chuyển về "Django HTML."

Vấn đề: Trình định dạng HTML không biết cách xử lý các thẻ mẫu Django và hoàn tác phần lồng nhau được áp dụng cẩn thận của tôi.

Giải pháp: Cài đặt tiện ích mở rộng thụt lề 4-2 , thực hiện thụt lề một cách nghiêm ngặt, không liên quan đến cú pháp ngôn ngữ hiện tại (đó là điều tôi muốn trong trường hợp này).


2

Tôi muốn thay đổi thụt lề tệp HTML hiện tại của tôi từ 4 khoảng trắng thành 2 khoảng trắng.

Tôi đã nhấp vào nút 'Spaces: 4' trên thanh trạng thái và thay đổi chúng thành hai trong hộp thoại tiếp theo.

Tôi sử dụng phần mở rộng 'vim'. Tôi không làm thế nào để thụt lại mà không có vim

Để thụt lại tệp hiện tại của tôi, tôi đã sử dụng:

gg

=

G

0

Thêm vào: có, bạn có thể sử dụng giao diện người dùng phía dưới bên phải để định cấu hình cài đặt không gian. Nhưng nếu bạn có mã hiện tại không được định dạng theo khoảng cách mới, thì bạn có thể nhấp chuột phải vào bất kỳ đâu trong tệp và nhấp vào Định dạng Tài liệu . Mất một lúc để tìm hiểu điều này cho đến khi tôi vấp phải vấn đề này .

Định dạng menu Tài liệu

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.