Tôi quan tâm đến việc tìm hiểu về các lựa chọn có sẵn của các trình định dạng mã nguồn độc lập, chất lượng cao dành cho Java.Trình định dạng mã Java độc lập/làm đẹp/máy in đẹp?
Trình định dạng phải độc lập, tức là phải hỗ trợ chế độ "hàng loạt" " là decoupled from any particular development environment. Lý tưởng nhất, nó phải là độc lập với bất kỳ hệ điều hành cụ thể nào. Vì vậy, một trình định dạng dựng sẵn cho IDE du jour ít được quan tâm ở đây (trừ khi IDE đó hỗ trợ lệnh gọi trình định dạng chế độ lô, có lẽ từ dòng lệnh). Một trình định dạng được viết trong C/C++ nguồn đóng mà chỉ chạy trên, nói, Windows không phải là lý tưởng, nhưng có phần thú vị.
Để rõ ràng, "trình định dạng" (hoặc "làm đẹp") không giống với "trình kiểm tra kiểu". Trình định dạng chấp nhận mã nguồn làm đầu vào, áp dụng các quy tắc tạo kiểu và tạo mã nguồn theo kiểu tương đương ngữ nghĩa với mã nguồn ban đầu. Sửa đổi cú pháp được giới hạn ở những thứ như sửa đổi bố cục mã như trong việc thay đổi khoảng trắng hoặc tổ chức các câu lệnh import
. Rất ít, nếu có, việc tái cấu trúc khác được thực hiện. Trình kiểm tra kiểu cũng áp dụng quy tắc tạo kiểu, nhưng nó chỉ đơn giản là báo cáo vi phạm quy tắc mà không tạo mã nguồn được sửa đổi làm đầu ra. Vì vậy, hình ảnh trông như thế này:
Formatter (sản xuất mã nguồn được sửa đổi đó phù hợp với quy tắc phong)
đọc Source Code → Áp dụng quy Styling → Viết theo kiểu Mã Nguồn
Phong cách Checker (không tạo mã nguồn được sửa đổi)
Đọc mã nguồn → Áp dụng quy tắc tạo kiểu → Viết vi phạm quy tắc
giải thích thêm
Solutions phải cấu hình cao. Tôi muốn có thể xác định phong cách của riêng tôi, không chỉ đơn giản là chọn từ một danh sách định sẵn.
Ngoài ra, tôi là không tìm kiếm general purpose pretty-printer written in Java có thể in khá nhiều thứ. Tôi muốn tạo mã Java.
Tôi cũng là không nhất thiết phải quan tâm đến một grand-unified formatter cho nhiều ngôn ngữ. Tôi cho rằng nó có thể là tốt đẹp cho một giải pháp để có hỗ trợ cho các ngôn ngữ khác ngoài Java, nhưng đó không phải là một yêu cầu.
Hơn nữa, tools that only perform code highlighting là rightout.
Tôi cũng là không quan tâm đến dịch vụ web. Tôi muốn có một công cụ mà tôi có thể chạy cục bộ.
Cuối cùng, các giải pháp không cần giới hạn đối với nguồn mở, miền công cộng, phần mềm chia sẻ, phần mềm miễn phí, thương mại hoặc bất kỳ thứ gì khác.Tất cả các hình thức cấp phép đều được chấp nhận.
wiki cộng đồng? – skaffman
Tôi đã đánh dấu một thứ gì đó là một Helios độc lập (Eclipse 3.6) chỉ có định dạng mã. Nó là <13 MB, chỉ Java. http://openmrs-mailing-list-archives.1560443.n2.nabble.com/cross-platform-cross-IDE-code-formatting-I-believe-it-is-doable-and-halfway-there-td5522493. html # a5522493 –