عند العمل في فريق ، يوصى بالتأكد من أن نمط الشفرة الخاص بك متناسق للفريق بأكمله. في كثير من الأحيان ليس من المهم ما هي قواعدك المحددة ، حيث يلتزم الجميع بنفس الاتفاقيات. وهذا يجعل قاعدة التعليمات البرمجية الخاصة بك أكثر نظافة وسهولة في القراءة والصيانة.

تواصل هذه الترجمة سلسلة IntelliJ IDEA:
المحرر
. Prettier. , . IDE, CI , Git Hooks.
— EditorConfig. Prettier. .editorconfig . IDE . « », .
:
[*]
end_of_line = lf
insert_final_newline = true
[*.{jsundefinedpy}]
charset = utf-8
[*.py]
indent_style = space
indent_size = 4
[Makefile]
indent_style = tab
[lib/**.js]
indent_style = space
indent_size = 2
[{package.jsonundefined.travis.yml}]
indent_style = space
indent_size = 2
, , .editorconfig . . , . , .
IDEA
, , IDE, . , . .editorconfig , , , .
. , , EditorConfig. IDE , EditorConfig.
, , . , IDEA IDE.
, , Editor Config. , .
EditorConfig IDEA
IDEA EditorConfig . , 2019.2, , IDEA , EditorConfig.
, , IDEA. ?
.editorconfig
-, .editorconfig . , . :
New → EditorConfig File
IDEA , .

Root
root = true . ?
, . , IDE, , .editorconfig, . , , . , .editorconfig, root = true. root = true.
, IDE . . , , . , , , .
, .

, IDE, EditorConfig, EditorConfig standard. IDEA , IDEA, Java, Kotlin HTML.
Java. IDEA / Java. 250 !
[*.java]
ij_java_align_consecutive_assignments = false
ij_java_align_consecutive_variable_declarations = false
ij_java_align_group_field_declarations = false
ij_java_align_multiline_annotation_parameters = false
ij_java_align_multiline_array_initializer_expression = false
ij_java_align_multiline_assignment = false
ij_java_align_multiline_binary_operation = false
ij_java_align_multiline_chained_methods = false
ij_java_align_multiline_extends_list = false
ij_java_align_multiline_for = true
ij_java_align_multiline_method_parentheses = false
ij_java_align_multiline_parameters = true
ij_java_align_multiline_parameters_in_calls = false
ij_java_align_multiline_parenthesized_expression = false
ij_java_align_multiline_resources = true
ij_java_align_multiline_ternary_operation = false
ij_java_align_multiline_throws_list = false
ij_java_align_subsequent_simple_methods = false
ij_java_align_throws_keyword = false
ij_java_annotation_parameter_wrap = off
ij_java_array_initializer_new_line_after_left_brace = false
. , ij_. , IDEA.
IDEA , 250 Java. , , .
Add properties as comments ( ). , . - , , .
, . , .
, [*.Java]
[*]
, .

, , . , , .

, .
.editorconfig . , - , , .
, [*]
, Java [* .java]
, . IDEA gutter ( ). , .

, . , . , .
, .editorconfig. . . . :
- .
- , .
- root = true
- IDE
- .editorconfig, IDE
على الرغم من أن الدعم الموسع لـ EditorConfig قوي جدًا ، إلا أنه ليس بديلاً كاملاً عن إعدادات مزامنة IDE القديمة الجيدة ، والتي يمكنها أيضًا مزامنة مكونات IDE الإضافية.
استنتاج
أصبح EditorConfig في IDEA أكثر قوة. وهو لا يدعم فقط المعلمات EditorConfig الأصلية ، ولكن أيضًا العديد من المعلمات الخاصة بـ IDEA. وبهذه الطريقة يمكنك بسهولة مشاركة تهيئة IDE موحدة بين أعضاء فريقك الذين لم يتم تعيينهم. لا مزيد من إعدادات الاستيراد / التصدير أو الإعدادات المملة لمزامنة إعدادات IDE. علاوة على ذلك ، يمكنك الآن الحصول على معلمات تكوين مختلفة لكل دليل على حدة.