IntelliJ IDEA技巧和窍门:3.自定义每个文件夹的代码样式

在团队中工作时,建议确保代码风格与整个团队一致。通常这并不那么重要,您的具体规则是什么,因为每个人都遵守相同的协议。这使您的代码库更加简洁,易于阅读和维护。



此翻译是IntelliJ IDEA系列的继续:



编辑器配置


. Prettier. , . IDE, CI , Git Hooks.


EditorConfig. Prettier. .editorconfig . IDE . « », .


:


# Unix-style newlines with a newline ending every file
[*]
end_of_line = lf
insert_final_newline = true

# Matches multiple files with brace expansion notation
# Set default charset
[*.{jsundefinedpy}]
charset = utf-8

# 4 space indentation
[*.py]
indent_style = space
indent_size = 4

# Tab indentation (no size specified)
[Makefile]
indent_style = tab

# Indentation override for all JS under lib directory
[lib/**.js]
indent_style = space
indent_size = 2

# Matches the exact files either package.json or .travis.yml
[{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插件。


结论


IDEA中的EditorConfig变得更加强大。它不仅支持原始的EditorConfig参数,而且还支持许多IDEA特定的参数。这样,您可以轻松地在团队成员之间共享零配置的统一IDE配置。不再需要用于同步IDE设置的导入/导出设置或繁琐的设置。而且,现在您可以为每个目录分别设置不同的配置参数。


All Articles