Trình tạo EditorConfig
Tệp .editorconfig đặt ở gốc thư mục repository sẽ cho mọi IDE hiện đại biết dự án này định dạng tệp tin của mình như thế nào, giải quyết tranh luận tab với khoảng trắng cho từng tệp. Python: 4 khoảng trắng. JavaScript: 2. Makefile: bắt buộc dùng tab. Trình tạo này tạo tệp .editorconfig từ các tùy chọn định dạng của bạn (kiểu và kích thước thụt lề, kết thúc dòng, bảng mã ký tự, độ dài dòng tối đa, dòng mới cuối cùng và cắt bỏ khoảng trắng cuối dòng) và luôn kèm hai tùy chỉnh phổ biến: [*.md] giữ khoảng trắng cuối dòng cho các dấu ngắt dòng trong Markdown, còn [Makefile] dùng tab theo yêu cầu của make.
Cách tạo tệp .editorconfig
-
1
Cấu hình giá trị mặc định toàn cục
Bảng mã ký tự (mặc định utf-8), kết thúc dòng (lf hoặc crlf), kiểu và kích thước thụt lề, độ dài dòng tối đa, chèn dòng mới cuối tệp và cắt bỏ khoảng trắng cuối dòng.
-
2
Kiểm tra tùy chỉnh có sẵn
Trình tạo luôn thêm `[*.md]` với `trim_trailing_whitespace = false` (Markdown cần khoảng trắng cuối dòng để xuống dòng) và `[Makefile]` với `indent_style = tab` do chính make yêu cầu.
-
3
Sao chép tệp
Dùng nút sao chép để lấy tệp `.editorconfig` vừa tạo rồi đặt vào thư mục gốc của repository.
-
4
Mở rộng sau này
Cần quy tắc theo từng ngôn ngữ? Hãy thêm các mục của riêng bạn, ví dụ `[*.py]` với `indent_size = 4`.
.editorconfig làm gì?
Tệp có tên .editorconfig đặt tại gốc dự án (hoặc trong bất kỳ thư mục nào) sẽ khai báo các quy ước định dạng. Các trình soạn thảo hỗ trợ EditorConfig (tất cả IDE lớn và hầu hết trình soạn thảo văn bản hiện đại) sẽ áp dụng các quy tắc này khi mở tệp.
Mẫu kết quả đầu ra
Với cài đặt mặc định (khoảng trắng, kích thước 4, LF, utf-8), trình tạo tạo ra:
root = true
[*]
indent_style = space
indent_size = 4
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
max_line_length = 120
[*.md]
trim_trailing_whitespace = false
[Makefile]
indent_style = tab
Các chỉ thị chính
| Chỉ thị | Giá trị được chấp nhận | Ghi chú |
|---|---|---|
| root | true / false | Đặt true tại gốc dự án để việc tra cứu dừng lại tại đó |
| charset | utf-8, utf-8-bom, latin1, utf-16-be, utf-16-le | Mặc định là utf-8 |
| end_of_line | lf, crlf, cr | lf cho đa nền tảng; crlf cho các kho chỉ dành riêng cho Windows |
| indent_style | space, tab | |
| indent_size | số nguyên | Số khoảng trắng; bị bỏ qua khi dùng tab |
| tab_width | số nguyên | Chiều rộng hiển thị của tab (mặc định bằng indent_size) |
| insert_final_newline | true / false | Đảm bảo các tệp tuân thủ tiêu chuẩn POSIX |
| trim_trailing_whitespace | true / false | Tắt cho Markdown (khoảng trắng ở cuối dòng có nghĩa là ngắt dòng) |
Quy ước từng ngôn ngữ trong nháy mắt
| Ngôn ngữ / tệp | Quy ước |
|---|---|
| JS, TS, JSON | 2 khoảng trắng |
| HTML, CSS, YAML | 2 khoảng trắng |
| Python | 4 khoảng trắng (PEP 8) |
| PHP | 4 khoảng trắng (PSR-12) |
| Ruby | 2 khoảng trắng |
| Go | Tab (gofmt bắt buộc) |
| Rust | 4 khoảng trắng (rustfmt bắt buộc) |
| Java | 4 khoảng trắng |
| Makefile | Tab (bản thân make yêu cầu) |
| Markdown | Giữ khoảng trắng ở cuối dòng (dùng cho <br>) |
| Batch / CMD (.bat) | Kết thúc dòng crlf |
Cạm bẫy: khoảng trắng ở cuối dòng trong Markdown
Trong Markdown, hai khoảng trắng ở cuối dòng có nghĩa là “chèn <br> vào đây”. Nếu .editorconfig cắt bỏ khoảng trắng cuối dòng ở tất cả các tệp, các lần ngắt dòng đó sẽ biến mất. Hãy ghi đè bằng trim_trailing_whitespace = false cho [*.md].
IDE của bạn có hỗ trợ không?
Hỗ trợ nguyên bản: VS Code, các nền tảng thuộc gia đình JetBrains và IntelliJ, Sublime Text, Vim (qua plugin), Emacs (qua plugin), Atom, Notepad++, Xcode. Nếu một trình soạn thảo không hỗ trợ EditorConfig ngay từ đầu, thì thường có plugin hỗ trợ. Tệp này cũng có thể được máy đọc được, do đó các công cụ kiểm tra lỗi và định dạng có thể sử dụng nó một cách chính xác.
Câu hỏi thường gặp
Đặt tại gốc dự án với root = true. Bạn có thể thêm các tệp .editorconfig khác trong thư mục con để ghi đè các đường dẫn cụ thể; quá trình tra cứu đi ngược lên trên cây thư mục và dừng lại ở tệp root = true đầu tiên tìm thấy.
Không. EditorConfig xử lý các yếu tố cơ bản về khoảng trắng và cách kết thúc dòng trong mọi trình soạn thảo. Các công cụ kiểm tra văn bản chuyên biệt hơn và phù hợp với từng ngôn ngữ lại xử lý các quy tắc phong cách phức tạp hơn (dấu ngoặc kép, dấu phẩy kép, dấu phẩy nối cuối câu). Hai công cụ này bổ sung cho nhau.
Hãy thiết lập end_of_line = crlf nếu bộ công cụ của Windows trong kho thực sự yêu cầu điều này. Lựa chọn tốt hơn là gửi bản end_of_line = lf và thêm các bản .gitattributes và * text=auto; như vậy, Git sẽ tự động chuẩn hóa đầu dòng khi gửi bản, trong khi các bản lấy ra sẽ phù hợp với hệ điều hành tương ứng.
Không. Các lựa chọn của bạn chỉ được dùng để tạo tệp; không có dữ liệu nào được lưu trên máy chủ của chúng tôi hay giữ lại sau khi bạn rời khỏi trang.
Công cụ liên quan
Bảng tham chiếu ASCII
Bảng ASCII đầy đủ từ 0 đến 127 với giá trị thập phân, thập lục phân, bát phân, nhị phân và ký hiệu tham chiếu ký tự số HTML, gồm NUL, LF và DEL.
Tham chiếu ký tự HTML
Danh sách có thể tìm kiếm các thực thể HTML, mã tên và mã số tương ứng của chúng, cùng chức năng sao chép chỉ với một cú nhấp cho các ký tự đặc biệt và biểu tượng.
Bảng tham khảo phím tắt
Tìm phím tắt mặc định theo tài liệu của VS Code, Chrome và Bash dùng GNU Readline trên macOS, Windows và Linux.
Bộ chuyển đổi Base64 sang Hex
Chuyển chuỗi Base64 chuẩn thành các byte nền tảng được viết dưới dạng hexadecimal liên tục in hoa. Giải mã nghiêm ngặt, lý tưởng cho token, khóa và chữ ký JWT.
Trình xem hex của tệp nhị phân
Chọn một tệp và kiểm tra phần dữ liệu giới hạn từ bất kỳ offset byte hợp lệ nào dưới dạng hex dump cục bộ với cột offset, hex và ASCII.
Công cụ xác thực số điện thoại
Kiểm tra cấu trúc số theo quốc gia và xem khu vực, loại số cùng các định dạng E.164, quốc tế, quốc gia và RFC 3966.
Công cụ này có phiên bản bằng các ngôn ngữ khác
- Generador de EditorConfig [ES]
- เครื่องมือสร้าง EditorConfig [TH]
- EditorConfig-generator [NL]
- 编辑器配置生成器 [ZH]
- EditorConfig 생성기 [KO]
- Générateur EditorConfig [FR]
- EditorConfig-generator [SV]
- Generator EditorConfig [ID]
- Gerador de EditorConfig [PT]
- EditorConfig-Generator [DE]
- EditorConfig Oluşturucu [TR]
- Generator EditorConfig [PL]
- EditorConfig Generator [EN]
- EditorConfig ジェネレーター [JA]
- مولد EditorConfig [AR]
- Generatore EditorConfig [IT]
- Генератор EditorConfig [RU]