Khi sử dụng Format Code
lệnh trong Visual Studio Code, nó không tôn trọng các thiết lập thụt lề của tôi ( "editor.tabSize": 2
). Nó đang sử dụng một kích thước tab 4 thay thế. Có ý kiến giải thích tại sao điều này lại xảy ra không?
Cảm ơn!
Khi sử dụng Format Code
lệnh trong Visual Studio Code, nó không tôn trọng các thiết lập thụt lề của tôi ( "editor.tabSize": 2
). Nó đang sử dụng một kích thước tab 4 thay thế. Có ý kiến giải thích tại sao điều này lại xảy ra không?
Cảm ơn!
Câu trả lời:
Số lượng không gian để sử dụng để định dạng được lấy từ một vị trí khác nhau. Tôi đang sử dụng phiên bản 1.0 và đây là những gì tôi đã thực hiện để khắc phục nó (Tôi giả sử bạn sử dụng khoảng trắng thay vì các tab):
Ở dưới cùng của trình chỉnh sửa ở bên tay phải, nhấp vào "Spaces: #":
Sau đó, một menu sẽ xuất hiện trên đầu trang. Chọn "Không gian sử dụng thụt lề":
Cuối cùng, bạn có thể chọn theo số lượng khoảng trống bạn muốn tệp của mình được thụt lề.
Lần tới khi bạn định dạng tệp, bạn sẽ có thể nhận được khoảng cách bạn đã định cấu hình.
JS-CSS-HTML
plugin. Trong trường hợp đó Bấm F1
và chọn định dạng và đặt thụt lề của bạn ở đó. Nó dường như ghi đè tất cả các tùy chọn thảo luận ở trên.
Visual Studio Code phát hiện thụt lề hiện tại trên mỗi mặc định và sử dụng điều này - bỏ qua .editorconfig
Đặt "Editor.detectInentation" thành false
(Tệp -> Tùy chọn -> Cài đặt)
Nếu câu trả lời của @ Maleki không hiệu quả với bạn, hãy kiểm tra và xem bạn có .editorconfig
tệp trong thư mục dự án của bạn không.
Ví dụ, Angular CLI tạo một dự án mới giống như thế này
# Editor configuration, see http://editorconfig.org
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
insert_final_newline = true
trim_trailing_whitespace = true
[*.md]
max_line_length = off
trim_trailing_whitespace = false
Thay đổi indent_size
ở đây là bắt buộc vì có vẻ như nó sẽ ghi đè mọi thứ trong .vscode
không gian làm việc hoặc cài đặt người dùng của bạn .
.editorconfig
tập tin trong thư mục nhà của tôi. Bằng cách nào đó, nó làm cho VSCode bỏ qua mọi cài đặt dành riêng cho Không gian làm việc. Rất phiền phức.
Nếu bạn đang sử dụng một plugin (trong trường hợp của tôi là Vetur, cho vue.js), chúng có thể đặt cài đặt định dạng tab của riêng họ.
Mở cài đặt của bạn, tìm kiếm "định dạng" và xem qua các cài đặt plugin có liên quan có thể ghi đè định dạng tab toàn cầu. Điều này làm việc cho tôi; khi tôi cập nhật cài đặt tab Vetur để phù hợp với sở thích của mình (tab 4 kích thước trong trường hợp của tôi), định dạng tài liệu .vue bắt đầu hoạt động chính xác:
SCSS Formatter
plugin sử dụng các cài đặt riêng của nó chẳng hạn, vì vậy bạn phải dùng Settings > Extensions > SCSS Formatter > Use Tabs
để buộc nó sử dụng các tab chẳng hạn.
Đối với bản thân tôi, vấn đề này là do sử dụng prettier
plugin VSCode mà không có tệp cấu hình đẹp hơn trong không gian làm việc.
Vô hiệu hóa các plugin đã khắc phục vấn đề. Nó cũng có thể đã được sửa bằng cách dựa vào cấu hình đẹp hơn.
Nhiều khả năng bạn đã cài đặt một số tiện ích mở rộng định dạng, ví dụ: Trình định dạng JS-CSS-HTML .
Nếu đó là trường hợp, sau đó chỉ cần mở Bảng màu, nhập "Định dạng" và chọn Formatter Config
. Sau đó chỉnh sửa giá trị của"indent_size"
như bạn muốn.
PS Đừng quên khởi động lại Visual Studio Code sau khi chỉnh sửa :)
Nếu bạn đến đây từ google vì tab không được thụt lề, điều này cũng có thể là do "Tab Moves Focus" được bật. Nó nằm ở dưới cùng bên phải, và nếu bạn có một màn hình đủ lớn, bạn có thể bỏ lỡ nó mặc dù nó được làm nổi bật.
Nhấp vào khu vực màu xanh lá cây hoặc Ctrl + M để làm cho nó dừng lại. Tôi không chắc nó có thể bị vô hiệu hóa hoàn toàn, sau đó một lần nữa tôi không biết tại sao một trình soạn thảo mã lại muốn gây rối với thứ gì đó như thụt lề.
Tôi đã gặp một vấn đề tương tự - bất kể tôi đã làm gì, tôi không thể đặt tabize ở mức 2, mặc dù nó nằm trong cài đặt người dùng của tôi - cuối cùng là do tiện ích mở rộng EditorConfig . Nó tìm kiếm một .editorconfig
tệp trong thư mục làm việc hiện tại của bạn và, nếu nó không tìm thấy một (hoặc tệp mà nó tìm thấy không chỉ địnhroot=true
), nó sẽ tiếp tục xem các thư mục mẹ cho đến khi tìm thấy một thư mục.
Hóa ra tôi đã có một .editorconfig
thư mục mẹ của thư mục Tôi đã đặt tất cả các dự án mã mới của mình vào và nó đã chỉ định một kích cỡ tab 4. Xóa tệp đó đã khắc phục sự cố của tôi.
Tôi đôi khi có vấn đề tương tự. VSCode sẽ đột nhiên mất trí và hoàn toàn bỏ qua bất kỳ cài đặt thụt đầu dòng nào tôi nói với nó, mặc dù nó được thụt vào cùng một tệp chỉ tốt cả ngày.
Tôi đã editor.tabSize
đặt thành 2 (cũng nhưeditor.formatOnSave
đặt thành đúng). Khi VSCode làm rối một tập tin, tôi sử dụng các tùy chọn ở dưới cùng của trình chỉnh sửa để thay đổi loại và kích thước thụt đầu dòng, hy vọng một cái gì đó sẽ hoạt động, nhưng VSCode nhấn mạnh vào việc sử dụng kích thước thụt là 4.
Cách khắc phục? Khởi động lại VSCode. Nó sẽ trở lại với trạng thái thụt lề hiển thị một cái gì đó sai (trong trường hợp của tôi, 4). Đối với tôi, tôi đã phải thay đổi cài đặt và sau đó lưu lại để thực sự thay đổi, nhưng đó có lẽ là do tôieditor.formatOnSave
cài đặt .
Tôi đã không tìm ra lý do tại sao nó xảy ra, nhưng đối với tôi, đó thường là khi tôi chỉnh sửa một đối tượng lồng nhau trong một tệp JS. Nó sẽ đột nhiên thụt vào rất lạ trong đối tượng, mặc dù tôi đã làm việc trong tập tin đó một thời gian và nó được thụt lề rất tốt.
Tôi nghĩ rằng vscode đang sử dụng autopep8 để định dạng .py
theo mặc định.
"PEP 8 - Hướng dẫn về Phong cách cho Mã Python | Python.org"
Theo trang web này, những điều sau đây có thể giải thích tại sao vscode luôn sử dụng 4 khoảng trắng.
Sử dụng 4 khoảng trống cho mỗi cấp độ thụt.