CẬP NHẬT: Theo hiểu biết mới của tôi dựa trên báo cáo lỗi không chính xác mà tôi đã gửi: https://bugs.eclipse.org/bugs/show_bug.cgi?id=325289
Tệp OpenMRSFormatter.xml thực sự phải là tệp tùy chọn chứ không phải XML tập tin.
Bạn có thể tìm thấy một tệp như vậy tại đây:
https://bugs.eclipse.org/bugs/attachment.cgi?id=178874
hoặc chuyển đổi bất kỳ tệp định dạng đã xuất XML nào bằng: cat formatter.xml | cài đặt grep | sed 's / @@'> formatter.asprefs
Cảm ơn Misha
Đây là thứ mà tôi đã thực hiện bằng cách sử dụng các lọ Eclipse 3.6. Nó chỉ dành cho Java, dòng lệnh và phải tương thích với nhiều nền tảng:
http://www.sendspace.com/file/nm4ptt
Có một tập lệnh shell sử dụng tệp OpenMRSCodeFormatter.xml được đóng gói. Đầu ra mẫu:
misha@misha-d630:~/openmrs-code-formatter$ cat ../Test.java
public class Test {
public a() {
System.out.println("! I did not format this right!");
}
}misha@misha-d630:~/openmrs-code-formatter$ ./format.sh ../Test.java
Configuration Name: OpenMRSFormatter.xml
Starting format job ...
Done.
cat ../misha@misha-d630:~/openmrs-code-formatter$ cat ../Test.java
public class Test {
public a() {
System.out.println("! I did not format this right!");
}
}misha@misha-d630:~/openmrs-code-formatter$
Điều này dựa trên bài đăng ở đây:
http://www.peterfriese.de/formatting-your-code-using-the-eclipse-code-formatter/
Vì tôi không biết liên kết sẽ tồn tại trong bao lâu nên tôi sẽ mô tả nội dung bên dưới.
Điều này dựa trên bản phân phối Eclipse 3.6 Helios. Tôi đã sử dụng một cái cho Linux x86, nhưng nó sẽ hoạt động cho bất kỳ phiên bản nào, vì tôi không sử dụng bất kỳ tệp JAR cụ thể nào (theo hiểu biết của tôi).
Nội dung của kho lưu trữ tar là:
misha@misha-d630:~$ tar tvjf openmrs-code-formatter.tar.bz2 | sort
tar: Record size = 8 blocks
drwxr-xr-x misha/misha 0 2010-09-11 19:32 openmrs-code-formatter/plugins/
drwxr-xr-x misha/misha 0 2010-09-11 19:33 openmrs-code-formatter/configuration/org.eclipse.equinox.simpleconfigurator/
drwxr-xr-x misha/misha 0 2010-09-11 19:38 openmrs-code-formatter/configuration/
-rw-r--r-- misha/misha 101957 2010-09-11 19:03 openmrs-code-formatter/plugins/org.eclipse.equinox.common_3.6.0.v20100503.jar
-rw-r--r-- misha/misha 107210 2010-09-11 19:32 openmrs-code-formatter/plugins/org.eclipse.core.commands_3.6.0.I20100512-1500.jar
-rw-r--r-- misha/misha 111098 2010-09-11 19:06 openmrs-code-formatter/plugins/org.eclipse.equinox.preferences_3.3.0.v20100503.jar
-rw-r--r-- misha/misha 1147220 2010-09-11 18:45 openmrs-code-formatter/plugins/org.eclipse.osgi_3.6.0.v20100517.jar
-rw-r--r-- misha/misha 1812 2010-09-11 19:33 openmrs-code-formatter/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info
-rw-r--r-- misha/misha 182596 2010-09-11 19:05 openmrs-code-formatter/plugins/org.eclipse.equinox.registry_3.5.0.v20100503.jar
-rw-r--r-- misha/misha 248071 2010-09-11 19:29 openmrs-code-formatter/plugins/org.eclipse.text_3.5.0.v20100601-1300.jar
-rw-r--r-- misha/misha 265 2010-09-11 19:21 openmrs-code-formatter/configuration/config.ini
-rw-r--r-- misha/misha 28554 2010-09-11 19:34 openmrs-code-formatter/OpenMRSFormatter.xml
-rw-r--r-- misha/misha 39331 2010-09-11 19:17 openmrs-code-formatter/plugins/org.eclipse.equinox.simpleconfigurator_1.0.200.v20100503.jar
-rw-r--r-- misha/misha 4504121 2010-09-11 19:27 openmrs-code-formatter/plugins/org.eclipse.jdt.core_3.6.0.v_A58.jar
-rw-r--r-- misha/misha 47023 2010-09-11 18:42 openmrs-code-formatter/plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
-rw-r--r-- misha/misha 52710 2010-09-11 19:29 openmrs-code-formatter/plugins/org.eclipse.core.filesystem_1.3.0.v20100526-0737.jar
-rw-r--r-- misha/misha 6451211 2010-09-11 19:32 openmrs-code-formatter/plugins/com.ibm.icu_4.2.1.v20100412.jar
-rw-r--r-- misha/misha 70928 2010-09-11 19:01 openmrs-code-formatter/plugins/org.eclipse.core.runtime_3.6.0.v20100505.jar
-rw-r--r-- misha/misha 769898 2010-09-11 19:29 openmrs-code-formatter/plugins/org.eclipse.core.resources_3.6.0.v20100526-0737.jar
-rw-r--r-- misha/misha 83817 2010-09-11 19:07 openmrs-code-formatter/plugins/org.eclipse.equinox.app_1.3.0.v20100512.jar
-rw-r--r-- misha/misha 86986 2010-09-11 19:31 openmrs-code-formatter/plugins/org.eclipse.core.expressions_3.4.200.v20100505.jar
-rw-r--r-- misha/misha 90837 2010-09-11 19:05 openmrs-code-formatter/plugins/org.eclipse.core.jobs_3.5.0.v20100515.jar
-rw-r--r-- misha/misha 91928 2010-09-11 19:06 openmrs-code-formatter/plugins/org.eclipse.core.contenttype_3.4.100.v20100505-1235.jar
-rwxr-xr-x misha/misha 111 2010-09-11 19:39 openmrs-code-formatter/format.sh
Các lọ có liên quan trong thư mục plugin được lấy trực tiếp từ thư mục plugin của Eclipse 3.6.
Nội dung của config.ini là:
misha@misha-d630:~$ more openmrs-code-formatter/configuration/config.ini
osgi.bundles=reference\:file\:org.eclipse.equinox.simpleconfigurator_1.0.200.v20100503.jar@1\:start
org.eclipse.equinox.simpleconfigurator.configUrl=file\:org.eclipse.equinox.simpleconfigurator/bundles.info
eclipse.application=org.eclipse.jdt.core.JavaCodeFormatter
format.sh là:
misha@misha-d630:~$ more openmrs-code-formatter/format.sh
#!/bin/bash
java -jar plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar -config OpenMRSFormatter.xml $*
và OpenMRSFormatter.xml có sẵn tại đây:
http://wiki.openmrs.org/download/attachments/3346087/OpenMRSFormatter.xml?version=1&modificationDate=1282168038000
Tôi tin rằng đó là đủ để tái sản xuất.
Một dự án thú vị dựa trên cùng một khái niệm được tìm thấy tại đây:
http://code.google.com/p/maven-java-formatter-plugin/
Cảm ơn Misha