Loading…

Giới thiệu Công cụ Định dạng Swift Trực tuyến

Viết Swift **biên dịch được** thì dễ. Viết Swift **đẹp, đồng nhất và sẵn sàng cho đánh giá** thì khó hơn. Công cụ định dạng Swift trực tuyến này sử dụng các quy tắc kiểu SwiftFormat để chuẩn hóa thụt lề, khoảng cách và ngắt dòng để các tệp `.swift` của bạn luôn sạch sẽ trên Xcode, Swift Playgrounds và các đường ống CI.

Tính năng Chính của Swift Formatter

  • **Dọn dẹp một cú nhấp** thụt lề, khoảng cách và dấu ngoặc trong mã Swift
  • **Kích thước thụt lề có thể cấu hình** qua thanh trượt *Kích thước Thụt lề* (1–8 khoảng trắng)
  • **Kiểm soát Ngắt dòng / Độ dài Dòng** để giữ các biểu thức dài trong phạm vi chiều rộng cột ưa thích của bạn
  • Hỗ trợ các tệp nguồn `.swift` tiêu chuẩn và các đoạn mã được dán
  • Tuyệt vời cho các dự án **iOS, macOS, watchOS, tvOS và Swift phía máy chủ**
  • Sử dụng động cơ kiểu SwiftFormat ẩn sau để tạo đầu ra Swift chuẩn
  • Định dạng bất biến – chạy nhiều lần vẫn giữ nguyên kết quả đầu ra
  • Không cần tài khoản – chỉ cần dán, định dạng và sao chép kết quả đã được làm sạch

🛠️ Cách Sử Dụng Công Cụ Định Dạng Swift for swift-formatter

1

1. Dán hoặc Tải Lên Mã Swift Của Bạn

📥 Dán trực tiếp mã Swift vào trình soạn thảo, hoặc kéo-thả tệp `.swift`. Công cụ được tối ưu cho các nguồn Swift kiểu Xcode thông thường.

2

2. Thiết Lập Thụt Lề & Độ Dài Dòng

📏 Sử dụng thanh trượt **Kích Thước Thụt Lề** để chọn số khoảng trắng cho mỗi cấp thụt lề, và cấu hình **Ngắt Dòng / Độ Dài Dòng** để kiểm soát nơi các dòng dài sẽ được ngắt (hoặc đặt thành `0` để tắt định dạng dựa trên ngắt dòng).

3

3. Nhấn "Định Dạng"

⚡ Nhấn nút **Định Dạng** để áp dụng các quy tắc kiểu SwiftFormat. Công cụ chuẩn hóa thụt lề, khoảng trắng quanh `:` và các toán tử, và ngắt các dòng dài theo cài đặt của bạn.

4

4. Xem Xét và Sao Chép Kết Quả

🔍 So sánh phiên bản gốc và phiên bản đã định dạng. Khi hài lòng với kết quả, sao chép mã Swift đã định dạng trở lại Xcode, Swift Playground, hoặc commit Git của bạn.

Thông Số Kỹ Thuật

Động Cơ & Phong Cách Định Dạng

Công cụ phản ánh các quy ước SwiftFormat phổ biến để giữ cho codebase của bạn nhất quán qua các tệp và người đóng góp.

Khía cạnhHành viGhi chú
Ngôn ngữSwiftHoạt động tốt nhất với các tệp nguồn Swift 5+.
Thụt lềCó thể cấu hình khoảng trắng mỗi cấpĐược kiểm soát bởi tùy chọn **Kích Thước Thụt Lề** (1–8).
Ngắt DòngCột ngắt tùy chọnĐược kiểm soát bởi **Ngắt Dòng / Độ Dài Dòng** (0–120; `0` = không ngắt).
Khoảng trắngChuẩn hóa quanh `:` và toán tửCải thiện khả năng đọc và tính nhất quán trong các đánh giá mã.
Đầu Ra Bất BiếnĐầu vào giống nhau → đầu ra giống nhauAn toàn để chạy nhiều lần mà không làm trôi định dạng.

Đầu Vào Được Hỗ Trợ & Giới Hạn

Tập trung vào các tệp nguồn Swift thực tế được sử dụng trong các dự án nền tảng Apple và Swift phía máy chủ.

Tham sốGiá trị / Hành viGhi chú
Phần mở rộng tệp.swiftTệp nguồn Swift tiêu chuẩn.
Loại MIMEtext/x-swiftĐược sử dụng nội bộ để phát hiện trình soạn thảo và vùng thả.
Kích thước đầu vào tối đa≈ 2 MB mã nguồnCác tệp rất lớn nên được định dạng tốt hơn qua SwiftFormat cục bộ trong CI.
Phần mở rộng đầu ra.swiftNội dung đã định dạng tốt nhất nên được lưu dưới dạng tệp nguồn Swift.

Xác thực & Lỗi

Trình định dạng mong đợi Swift hợp lệ về cú pháp. Nếu đầu vào không hoàn chỉnh hoặc chứa lỗi cú pháp nghiêm trọng, nó có thể thất bại hoặc trả về thông báo lỗi thay vì đầu ra đã định dạng.

Lựa chọn Thay thế Dòng lệnh với SwiftFormat

Muốn có cùng phong cách trong Xcode, CI hoặc hook pre-commit? Sử dụng SwiftFormat trực tiếp:

macOS (Homebrew)

Cài đặt SwiftFormat qua Homebrew

brew install swiftformat

Thêm CLI `swiftformat` vào hệ thống của bạn.

Định dạng một tệp Swift duy nhất

swiftformat MyViewController.swift

Viết lại tệp tại chỗ bằng các quy tắc SwiftFormat mặc định.

Định dạng toàn bộ dự án Xcode

swiftformat .

Định dạng đệ quy tất cả các tệp `.swift` trong thư mục hiện tại.

Cấu hình Cấp độ Dự án

Sử dụng cấu hình tùy chỉnh

swiftformat . --config .swiftformat

Áp dụng các quy tắc cụ thể của nhóm được lưu trong tệp cấu hình `.swiftformat`.

Tích hợp với Git pre-commit

swiftformat . && git commit

Chạy SwiftFormat trước mỗi lần commit để giữ nhánh chính của bạn sạch sẽ.

Sử dụng công cụ trực tuyến này để dọn dẹp nhanh một lần, sau đó phản ánh cùng phong cách trong kho của bạn bằng SwiftFormat và tệp `.swiftformat` chia sẻ.

Trường hợp Sử dụng Thực tế cho Trình định dạng Swift

Phát triển Ứng dụng iOS & macOS

Giữ cho mã UIKit, SwiftUI và Combine dễ đọc và nhất quán trên các nhánh tính năng.

  • Chuẩn hóa định dạng của view controller, view model và service trước khi review mã.
  • Dọn dẹp mã Swift nháp hoặc nguyên mẫu trước khi sao chép vào mục tiêu sản xuất.
  • Căn chỉnh thụt lề và ngắt dòng của hệ thống phân cấp view SwiftUI phức tạp.
struct ContentView: View {
  var body: some View {
    VStack {
      Text("Hello")
      Button("Tap me") {
        print("Tapped")
      }
    }
  }
}

Swift Phía Máy Chủ (Vapor, Hummingbird, v.v.)

Giúp mã xử lý API và định tuyến dễ quét và review hơn.

  • Định dạng lại các route và khai báo middleware để chuỗi phức tạp dễ theo dõi.
  • Dọn dẹp các struct mã hóa/giải mã JSON với danh sách thuộc tính dài.
  • Đảm bảo ngắt dòng nhất quán cho các lệnh SQL hoặc HTTP client dài trong mã Swift.
app.get("hello") { req async throws -> String in
    "Hello, world!"
}

Dạy & Học Swift

Cho học sinh thấy Swift chuẩn mực trông như thế nào và giảm 'nhiễu kiểu' trong bài tập.

  • Chuẩn hóa mã Swift trước khi chia sẻ ví dụ trong slide hoặc tài liệu.
  • Làm sạch bài nộp của học sinh để tập trung vào logic thay vì khoảng cách và thụt lề.
  • Minh họa cách định dạng tốt cải thiện khả năng đọc mà không thay đổi hành vi.
func fibonacci(_ n: Int) -> Int {
    if n < 2 { return n }
    return fibonacci(n - 1) + fibonacci(n - 2)
}

❓ Frequently Asked Questions

Swift Formatter này thực sự thay đổi gì?

Formatter điều chỉnh **thụt lề, khoảng trắng và ngắt dòng** để tuân theo quy ước kiểu Swift. Nó không cố ý thay đổi logic mã của bạn – chỉ cách bố trí.

📏Tôi nên chọn gì cho Ngắt dòng / Độ dài dòng?

Lựa chọn phổ biến từ **80 đến 100 ký tự**, tùy thuộc vào nhóm và chiều rộng màn hình. Dùng giá trị nhỏ hơn cho bố cục hẹp (như Xcode chia đôi) và giá trị lớn hơn nếu nhóm thoải mái với dòng rộng. Đặt thành `0` nếu không muốn ngắt dòng dựa trên độ dài.

🧹Đây có phải thay thế cho SwiftLint?

Không. Formatter tập trung vào **bố cục và kiểu** (thụt lề, ngắt dòng, khoảng cách), trong khi SwiftLint tập trung vào **quy tắc lint và vấn đề tiềm ẩn** (mã không dùng, đặt tên, độ phức tạp). Nhiều nhóm dùng cả hai cùng nhau.

🔒Có an toàn khi dán mã Swift sản xuất ở đây không?

Theo nguyên tắc, tránh dán mã nhạy cảm cao (như thuật toán độc quyền hoặc bí mật) vào bất kỳ công cụ trực tuyến nào. Với dự án bảo mật, nên chạy SwiftFormat cục bộ hoặc trong hệ thống CI với cấu hình riêng tư.

Tôi có thể chạy formatter này tự động trên mỗi commit không?

Có – dùng **SwiftFormat** trong kho lưu trữ (ví dụ qua Git pre-commit hook, Xcode Build Phase hoặc job CI) để tự động áp dụng cùng kiểu. Công cụ trực tuyến này lý tưởng để kiểm tra nhanh và đoạn mã nhỏ.

Pro Tips

Best Practice

Thống nhất với nhóm về một **Kích Thước Thụt Lề** và **Độ Dài Dòng / Ngắt Dòng** duy nhất, sau đó phản ánh các giá trị đó cả trong công cụ này và trong cấu hình `.swiftformat` của bạn.

Best Practice

Chạy trình định dạng trên các yêu cầu kéo để giữ cho việc xem xét mã tập trung vào logic và kiến trúc thay vì tranh luận về khoảng cách.

Best Practice

Sử dụng trình định dạng trên mã Swift được tạo (ví dụ: từ các công cụ tạo mã) để nó trông sạch sẽ như mã bạn viết tay.

Best Practice

Kết hợp trình định dạng này với tính năng “Thụt Lề Lại” của Xcode chỉ để điều chỉnh nhanh cục bộ; sử dụng SwiftFormat trong CI để duy trì một phong cách thực sự nhất quán.

Additional Resources

Other Tools