0

Tích hợp Spotless Formatter (Google Style) vào Dự Án Gradle (AI Writing)

📝 Hướng Dẫn Kỹ Thuật:

Sử dụng Spotless Formatter kết hợp với Google Java Format là phương pháp tốt nhất để tự động định dạng và duy trì code nhất quán trong dự án của bạn, đồng thời đồng bộ hóa hoàn toàn với IntelliJ IDEA.

Phần 1: Cấu hình Spotless trong Gradle

Bước 1: Thêm Plugin Spotless

Mở tệp build.gradle (hoặc build.gradle.kts) và thêm plugin Spotless vào phần plugins.

// build.gradle (Sử dụng Groovy DSL)

plugins {
    id 'java'
    id 'checkstyle' // Giữ lại nếu bạn đang dùng Checkstyle
    
    // Thêm plugin Spotless
    id 'com.diffplug.spotless' version '6.25.0' // Kiểm tra phiên bản ổn định mới nhất
}

Bước 2: Cấu hình Định dạng Java (Sử dụng Google Style)

Thêm khối spotless vào tệp build.gradle để thiết lập các quy tắc định dạng Java theo chuẩn của Google.

// build.gradle (Sử dụng Groovy DSL)

spotless {
    // Thiết lập cho mã nguồn Java
    java {
        // 1. Chỉ định thư mục chứa các tệp Java mà Spotless sẽ kiểm tra
        target 'src/*/java/**/*.java' 

        // 2. SỬ DỤNG: Google Java Format
        // Đây là công cụ định dạng theo chuẩn nghiêm ngặt của Google
        googleJavaFormat('1.17.0')
            // Tùy chọn: dùng luật AOSP (Android Open Source Project) nếu cần
            // .aosp()
            
        // 3. Tự động loại bỏ các lệnh import không dùng đến
        removeUnusedImports() 

        // 4. Tùy chọn: Đặt lại thứ tự Import. (Nếu dùng googleJavaFormat, phần này là tùy chọn)
        importOrder('java', 'javax', 'org', 'com', '#') 

        // 5. Xóa các khoảng trắng thừa ở cuối dòng
        trimTrailingWhitespace()
        
        // 6. Thêm một dòng trống ở cuối tệp
        endWithNewline()
    }
}

Bước 3: Ràng buộc Spotless với Task Kiểm tra

Để đảm bảo việc kiểm tra định dạng luôn là một phần của quy trình kiểm tra chất lượng, chúng ta buộc task check phải chạy Spotless trước.

// build.gradle (Thêm vào cuối tệp)

// Buộc task 'check' (task kiểm tra tổng thể) phải phụ thuộc vào task 'spotlessCheck'
tasks.named('check') {
    dependsOn 'spotlessCheck' 
}

Phần 2: Tích hợp Google Java Format vào IntelliJ IDEA

Để đảm bảo code được định dạng đúng luật ngay khi lập trình, bạn nên cài đặt plugin Google Java Format cho IDE.

Bước 1: Cài đặt Plugin Google Java Format

  1. Mở Settings/Preferences:
    • Windows/Linux: File > Settings (Ctrl+Alt+S).
    • macOS: IntelliJ IDEA > Preferences (⌘,).
  2. Vào Marketplace: Chọn Plugins.
  3. Tìm và Cài đặt: Tìm kiếm "Google Java Format", nhấn Install (Cài đặt), và khởi động lại IntelliJ IDEA.

Bước 2: Cấu hình Plugin Sử dụng Google Style

  1. Quay lại Settings/Preferences.
  2. Truy cập Cấu hình Plugin: Trong thanh tìm kiếm, gõ "Google Java Format".
  3. Kích hoạt và Cấu hình:
    • Tích chọn: Enable Google Java Format (Bật Google Java Format).
    • Tích chọn (Rất quan trọng): Import Google Java Format settings for code style (Nhập cài đặt Google Java Format cho kiểu mã). Việc này đảm bảo IDE sử dụng đúng các luật định dạng của Google.

Phần 3: Quy trình Làm việc và Các Lệnh Chính

1. Các Lệnh Chạy Spotless

Spotless cung cấp hai lệnh chính mà các lập trình viên sẽ sử dụng thường xuyên:

Lệnh Mục đích
./gradlew spotlessApply Tự động Sửa Lỗi Định dạng. Chạy và ghi đè lên các tệp mã nguồn để sửa tất cả các lỗi định dạng. Nên chạy trước khi commit.
./gradlew spotlessCheck Chỉ Kiểm tra Lỗi. Kiểm tra xem có tệp nào bị sai định dạng hay không. Nếu có, lệnh sẽ thất bại. Dùng trên CI/CD.

2. Tóm tắt Quy trình Đồng bộ (Workflow)

Sự kết hợp giữa Spotless và IntelliJ đảm bảo code của bạn luôn sạch sẽ:

  1. Lập trình: Bạn viết code. IntelliJ tự động áp dụng Google Java Format.
  2. Làm sạch: Chạy ./gradlew spotlessApply để tự động sửa các lỗi còn sót lại (ví dụ: sắp xếp import tĩnh).
  3. Kiểm tra tổng thể: Chạy ./gradlew check để xác nhận Unit Test, Checkstyle và Spotless đều thành công.
  4. Commit: Gửi code sạch sẽ lên kho lưu trữ.

All Rights Reserved

Viblo
Let's register a Viblo Account to get more interesting posts.