google-java-format
هو برنامج يقوم بإعادة تنسيق كود مصدر Java ليتوافق مع Google Java Style.
قم بتنزيل التنسيق وتشغيله باستخدام:
java -jar /path/to/google-java-format-${GJF_VERSION?}-all-deps.jar <options> [files...]
يمكن للمنسق العمل على ملفات كاملة، على خطوط محدودة ( --lines
)، على إزاحات محددة ( --offset
)، أو المرور إلى الوضع القياسي (الافتراضي) أو تغييره في مكانه ( --replace
).
لإعادة تنسيق الخطوط التي تم تغييرها في تصحيح معين، استخدم google-java-format-diff.py
.
ملاحظة: لا توجد إمكانية للتكوين فيما يتعلق بخوارزمية التنسيق الخاصة بالتنسيق. يعد هذا قرار تصميم متعمدًا لتوحيد تنسيق التعليمات البرمجية لدينا في تنسيق واحد.
يتوفر مكون إضافي IntelliJ بتنسيق google-java من مستودع المكونات الإضافية. لتثبيته، انتقل إلى إعدادات IDE الخاص بك وحدد فئة Plugins
. انقر فوق علامة التبويب Marketplace
، وابحث عن المكون الإضافي google-java-format
، ثم انقر فوق الزر Install
.
سيتم تعطيل البرنامج المساعد بشكل افتراضي. للتمكين، افتح إعدادات المشروع، ثم انقر فوق "إعدادات تنسيق google-java" وحدد مربع الاختيار "تمكين تنسيق google-java".
لتمكينه افتراضيًا في المشاريع الجديدة، افتح الإعدادات الافتراضية للمشاريع الجديدة وقم بتكوينها ضمن "إعدادات أخرى/إعدادات google-java-format".
عند تمكينه، فإنه سيحل محل إجراءات Reformat Code
العادية Optimize Imports
.
يستخدم المكون الإضافي google-java-format بعض الفئات الداخلية التي لا تتوفر بدون تكوين إضافي. لاستخدام البرنامج المساعد، تحتاج إلى إضافة بعض الخيارات إلى وقت تشغيل Java الخاص بـ IDE الخاص بك. للقيام بذلك، انتقل إلى Help→Edit Custom VM Options...
والصق هذه السطور:
--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
بمجرد الانتهاء من ذلك، قم بإعادة تشغيل IDE.
يمكن تنزيل أحدث إصدار من البرنامج المساعد google-java-format
Eclipse من صفحة الإصدارات. قم بإسقاطه في مجلد Eclipse المنسدلة لتنشيط المكون الإضافي.
يضيف المكون الإضافي تطبيق google-java-format
الذي يمكن تهيئته في Window > Preferences > Java > Code Style > Formatter > Formatter Implementation
.
يمكن استخدام المنسق في البرنامج الذي يقوم بإنشاء Java لإخراج كود Java أكثر وضوحًا. ما عليك سوى تضمين المكتبة في maven/gradle/etc. إعدادات.
يستخدم google-java-format
واجهات برمجة تطبيقات javac الداخلية لتحليل مصدر Java. علامات JVM التالية مطلوبة عند التشغيل على JDK 16 والأحدث، بسبب JEP 396: قم بتغليف عناصر JDK الداخلية بشكل افتراضي:
--add-exports=jdk.compiler/com.sun.tools.javac.api=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.parser=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED
--add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
< dependency >
< groupId >com.google.googlejavaformat</ groupId >
< artifactId >google-java-format</ artifactId >
< version >${google-java-format.version}</ version >
</ dependency >
dependencies {
implementation ' com.google.googlejavaformat:google-java-format:$googleJavaFormatVersion '
}
يمكنك بعد ذلك استخدام المنسق من خلال أساليب formatSource
. على سبيل المثال
String formattedSource = new Formatter (). formatSource ( sourceString );
أو
CharSource source = ...
CharSink output = ...
new Formatter (). formatSource ( source , output );
يجب أن تكون نقطة البداية الخاصة بك هي طرق مثيل com.google.googlejavaformat.java.Formatter
.
mvn install
يرجى الاطلاع على دليل المساهمين للحصول على التفاصيل.
Copyright 2015 Google Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not
use this file except in compliance with the License. You may obtain a copy of
the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations under
the License.