Bộ định dạng JavaScript
Dán một đoạn JavaScript đã rút gọn hoặc thụt lề lộn xộn, rồi nhận lại mã sạch, dễ đọc, được định dạng theo đúng các quy tắc mà trình soạn thảo dùng. Chọn tab hay khoảng trắng, dấu nháy đơn hay kép, có dấu chấm phẩy hay không, dấu phẩy cuối theo ES5 hoặc ở mọi nơi. Xử lý được cú pháp hiện đại: optional chaining, nullish coalescing, JSX, TypeScript và await ở cấp cao nhất.
Cách định dạng JavaScript
-
1
Dán mã nguồn
Bất kỳ mã JS, JSX hay TypeScript hợp lệ nào. Bộ phân tích tự nhận biết biến thể ngôn ngữ dựa trên cú pháp.
-
2
Đặt tùy chọn của bạn
Kích thước thụt lề, tab hay khoảng trắng, kiểu dấu nháy, dấu chấm phẩy, chiều rộng dòng và dấu phẩy cuối.
-
3
Định dạng
Công cụ chạy một lượt xử lý tương thích với Prettier và trả về kết quả đã định dạng.
-
4
Sao chép kết quả
Sao chép chỉ với một cú nhấp hoặc tải xuống thành tệp. Thụt lề gốc bị loại bỏ chứ không chồng lên trên.
Tùy chọn kiểu
| Tùy chọn | Giá trị | Mặc định |
|---|---|---|
| Thụt lề | tab, 2, 4 |
2 khoảng trắng |
| Kiểu dấu nháy | single, double |
kép |
| Dấu chấm phẩy | always, never |
luôn luôn |
| Chiều rộng dòng | 60 - 120 | 80 |
| Dấu phẩy cuối | none, es5, all |
es5 |
| Ngoặc của hàm mũi tên | always, avoid |
luôn luôn |
| Khoảng trắng trong ngoặc | true, false |
true |
| Dấu nháy đơn trong JSX | true, false |
false |
Vì sao định dạng lại quan trọng
Định dạng không chỉ để đẹp mắt, mà là để giảm tải nhận thức. Một cơ sở mã được định dạng nhất quán giúp người rà soát tập trung vào thay đổi logic, thay vì đi tìm một dấu ngoặc đặt sai chỗ.
- Tranh cãi vặt vãnh kết thúc ngay khi một dự án áp dụng bộ định dạng.
git diffcho thấy thay đổi thật sự, không phải các tranh luận về thụt lề. - Hook trước khi commit (với công cụ như Husky + lint-staged) tự động định dạng các tệp đã staging trước khi commit.
- Tích hợp với trình soạn thảo (VS Code, WebStorm) áp dụng cùng quy tắc khi lưu.
Những gì định dạng không làm
- Nó không lint. Các quy tắc về kiểu (
no-unused-vars,eqeqeq) thuộc phạm vi của ESLint. Bộ định dạng chỉ sắp xếp lại khoảng trắng và dấu câu, nó không từ chối mã vì vấn đề logic. - Nó không sửa lỗi cú pháp. Nếu đầu vào là JS không hợp lệ, bộ định dạng sẽ báo lỗi. Hãy dùng nó như một cách kiểm tra rằng mã của bạn ít nhất phân tích được.
- Nó không áp đặt quy ước đặt tên.
camelCaseso vớisnake_caselà quy tắc của lint, không phải của bộ định dạng.
Những lỗi thường gặp
- Cãi nhau với bộ định dạng. Nếu bạn cứ định dạng lại bằng tay sau khi nó đã chạy, cả hai đều đang lãng phí thời gian. Hãy cấu hình các tùy chọn, hoặc chấp nhận lựa chọn của dự án.
- Chạy định dạng trên tệp được sinh ra. Đầu ra của bundler, mã đã transpile,
.min.js, không cái nào được lợi. Hãy định dạng mã nguồn, đừng định dạng sản phẩm đầu ra. - Định dạng mà không phân tích cú pháp. Kiểu “in đẹp” dựa trên regex sẽ làm hỏng template literal, regex literal và JSX. Luôn dùng bộ định dạng dựa trên AST (như công cụ này).
Câu hỏi thường gặp
Có. Bộ phân tích nhận diện cú pháp TypeScript (kiểu, interface, generic, decorator) và định dạng tương ứng. JSX cũng được hỗ trợ trong tệp .tsx / .jsx.
Nó tuân theo cùng các quy tắc như mặc định của Prettier và có thể tùy chỉnh qua các tùy chọn quen thuộc (chiều rộng dòng, dấu nháy, dấu chấm phẩy, dấu phẩy cuối). Tệp được định dạng ở đây sẽ khớp với tệp do Prettier định dạng khi dùng cùng cấu hình.
Bộ định dạng cần JavaScript hợp lệ và phân tích được. Nếu gặp lỗi, khả năng cao mã có vấn đề về cú pháp (ngoặc chưa đóng, JSX không hợp lệ, gõ sai). Nếu thông báo không rõ ràng, hãy chạy mã qua một linter trước.
Có. Cả chú thích một dòng (//) lẫn chú thích khối (/* */) đều được giữ trong kết quả, đặt gần vị trí ban đầu của chúng trong mã nguồn.
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ảng tra cứu nhanh Markdown
Tài liệu Markdown thực dụng với bản xem trước thực tế và ví dụ có thể sao chép cho tiêu đề, danh sách, bảng, mã, liên kết, hình ảnh và cú pháp GFM.
Trình định dạng HTML
Định dạng HTML cục bộ trong trình duyệt với thụt lề hai hoặc bốn khoảng trắng. HTML không được tải lên hoặc xác thực.
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
- Formateur JavaScript [FR]
- JavaScript-formaterare [SV]
- ตัวจัดรูปแบบ JavaScript [TH]
- تنسيق JavaScript [AR]
- JavaScript Formatter [ID]
- JavaScript 포매터 [KO]
- JavaScript-Formatter [DE]
- Formateador de JavaScript [ES]
- JavaScript-formatter [NL]
- Formater JavaScript [PL]
- JavaScriptフォーマッター [JA]
- Formatador JavaScript [PT]
- Форматировщик JavaScript [RU]
- JavaScript Biçimlendirici [TR]
- JavaScript 格式化器 [ZH]
- JavaScript Formatter [EN]
- Formatter JavaScript [IT]