Công cụ tạo file .editorconfig
Tạo file .editorconfig để thống nhất thụt lề, ký tự xuống dòng, bảng mã và khoảng trắng giữa các trình soạn thảo, có thiết lập riêng cho Markdown, YAML, Python, Go, Makefile.
0 = không đặt
Tạo file .editorconfig là gì?
EditorConfig giữ phong cách mã nhất quán giữa các trình soạn thảo và IDE (VS Code, JetBrains, Vim, Visual Studio, Sublime…). Công cụ này tạo file .editorconfig với quy tắc thụt lề, ký tự xuống dòng, bảng mã và khoảng trắng của bạn, kèm các thiết lập phổ biến theo loại file như tab cho Makefile và Go hoặc 4 dấu cách cho Python.
Cách sử dụng Tạo file .editorconfig
- Chọn Thụt lề (dấu cách hoặc tab) và Độ rộng thụt lề hoặc Độ rộng tab.
- Đặt Ký tự xuống dòng, Bảng mã và Độ dài dòng tối đa tùy chọn.
- Bật/tắt Xóa khoảng trắng cuối dòng và Thêm dòng trống cuối tệp, rồi chọn các Thiết lập theo loại tệp bạn cần.
- Tải
.editorconfigvề và đặt vào thư mục gốc của dự án.
Ví dụ
Spaces, size 2, LF, UTF-8, trim whitespace, final newline, Markdown and Makefile overrides
# EditorConfig: https://editorconfig.org root = true [*] indent_style = space indent_size = 2 end_of_line = lf charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true [*.md] trim_trailing_whitespace = false [Makefile] indent_style = tab
Khi nào nên dùng Tạo file .editorconfig
Dùng trong mọi repository được nhiều người hoặc nhiều trình soạn thảo chỉnh sửa, đặc biệt với nhóm dùng lẫn Windows/macOS/Linux nơi ký tự xuống dòng khác nhau. EditorConfig chỉ kiểm soát khoảng trắng cơ bản; hãy dùng công cụ định dạng như Prettier, Black hoặc gofmt cho phong cách mã đầy đủ, tốt nhất là cấu hình khớp với các thiết lập này.
Tạo file .editorconfig hoạt động như thế nào
File bắt đầu bằng root = true để trình soạn thảo ngừng tìm ở thư mục cha, tiếp theo là mục [*] với indent_style, indent_size (hoặc tab cùng tab_width khi dùng tab), end_of_line, charset, trim_trailing_whitespace và insert_final_newline theo đặc tả EditorConfig. Các thiết lập riêng được thêm thành những mục glob phía sau ([*.md], [*.{yml,yaml}], [*.py], [*.go], [Makefile]), được ưu tiên hơn [*] với các file khớp.
Các Trường Hợp Sử Dụng Phổ Biến
- Chấm dứt tranh cãi tab hay dấu cách và thay đổi CRLF/LF trong pull request
- Đặt thụt lề 2 dấu cách cho dự án JavaScript
- Giữ tab trong Makefile trong khi dùng dấu cách ở chỗ khác
- Giữ nguyên ngắt dòng Markdown tạo bằng khoảng trắng cuối dòng
Câu Hỏi Thường Gặp
VS Code có hỗ trợ .editorconfig không?
Có, thông qua extension EditorConfig chính thức. Các IDE JetBrains, Visual Studio và trình soạn thảo web của GitHub hỗ trợ sẵn.
Vì sao đặt trim_trailing_whitespace = false cho Markdown?
Trong Markdown, hai dấu cách ở cuối dòng tạo ra ngắt dòng, nên xóa chúng sẽ làm thay đổi tài liệu hiển thị.
LF hay CRLF?
LF là chuẩn cho hầu hết repository, kể cả dự án Windows dùng autocrlf của Git. Chỉ dùng CRLF nếu công cụ chỉ chạy trên Windows yêu cầu.