Định dạng mã
Dán mã và nó tự dàn trang — tự nhận ngôn ngữ, không cần bấm nút.
Mã đã định dạng
Cách sử dụng
- Dán mã vào ô — nó được định dạng ngay khi bạn gõ; không có nút nào cần bấm.
- Ngôn ngữ được nhận diện từ mã. Nếu đoán sai, hãy chọn trong danh sách; thụt lề 2 hoặc 4 dấu cách và độ rộng 80, 100 hay 120 cột được áp dụng ngay.
- Sao chép kết quả hoặc tải xuống với phần mở rộng phù hợp (.js, .ts, .json, .py …).
Ví dụ
Đầu vào
function greet(user){if(!user){return "Hello, guest";}const tags=["new","active"];return `Hello, ${user.name}!`;} export default greet;
Đã định dạng
function greet(user) { if (!user) { return "Hello, guest"; } const tags = ["new", "active"]; return `Hello, ${user.name}!`; } export default greet;
Định dạng với quy tắc mặc định (2 dấu cách, 80 cột). Prettier thêm dấu chấm phẩy và dấu nháy kép; template literal và phần dự phòng cho khách vẫn không đổi.
Quy tắc, giới hạn và các vấn đề đã biết
- Việc định dạng thay đổi khoảng trắng và những chuẩn hóa của chính bộ máy (dấu nháy, dấu chấm phẩy, dấu phẩy cuối); nó không bao giờ thực thi mã, sắp xếp khóa hay đổi tên định danh. Chuỗi giữ nguyên nội dung.
- Bộ máy: Prettier cho JavaScript, TypeScript, JSON, CSS, SCSS, Less, HTML, Vue và GraphQL; Ruff (tương thích Black) cho Python. Chỉ bộ máy của ngôn ngữ hiện tại được tải về, ở lần dùng đầu tiên, và trình duyệt sẽ lưu đệm.
- Tự nhận diện là phỏng đoán. Một đoạn bắt đầu bằng thẻ có thể bị đọc là HTML dù đó là JSX; hãy chọn JavaScript hoặc TypeScript thủ công. Một object trông như JSON nhưng không phải JSON hợp lệ sẽ được xử lý như JavaScript.
- Lựa chọn thủ công có hiệu lực tuyệt đối: chọn CSS sẽ không bao giờ âm thầm định dạng như SCSS. TypeScript thử .ts rồi .tsx.
- JSON dùng bộ phân tích json của Prettier, nên các object ngắn có thể nằm trên một dòng. Để kiểm tra nghiêm ngặt, xem thứ tự khóa hoặc thu gọn, hãy dùng Bộ công cụ JSON. Khóa trùng giữ giá trị cuối cùng, như JSON.parse.
- Kiểu mặc định của Prettier là cố định: dấu nháy kép, dấu chấm phẩy, dấu phẩy cuối khi hợp lệ. Tệp .prettierrc và .editorconfig không được đọc và không có tùy chọn dấu nháy hay dấu chấm phẩy. Python dùng dấu nháy kép và tôn trọng dấu phẩy cuối đặc biệt (Ruff/Black).
- Khoảng trắng trong HTML theo htmlWhitespaceSensitivity: css, nên khoảng trắng quanh phần tử nội tuyến có thể khác so với mã nguồn. Markdown, YAML và XML không được hỗ trợ; trình soạn Markdown, công cụ chuyển đổi cấu hình và công cụ định dạng XML đảm nhận chúng.
- Đầu ra dùng LF, không có dòng mới ở cuối, và việc định dạng có tính idempotent. Trên 200.000 ký tự, kết quả cập nhật khoảng 0,6 giây sau khi bạn ngừng gõ; việc định dạng chạy trong Web Worker và văn bản không bao giờ được tải lên, đưa vào URL hay lưu lại.
Công cụ liên quan
Những việc thường cần làm tiếp sau khi mã đã dễ đọc.