EditorConfig
EditorConfig to standardize Code Styles
We should use EditorConfig to define formatting conventions for textual files in a project. Without consistency, the code can appear untidy and be a pain to read, depending on a user's development environment. A common solution is to share editor settings as part of the project, but this assumes all committers are using the same editor.
The Benefit of using common EditorConfig
EditorConfig makes code more readable
EditorConfig makes Code Reviews Easier
EditorConfig makes development easier
# Declares that this is the top-level configuration
root = true
# Applies to all files
[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
curly_bracket_next_line = false
spaces_around_operators = true
[*.{js,py}]
charset = utf-8
# 4 space indentation
[*.py]
indent_style = space
indent_size = 4
# Tab indentation (no size specified)
[Makefile]
indent_style = tab
# Applies to all Markdown files
[*.md]
trim_trailing_whitespace = false
[*.cs]
curly_bracket_next_line = true
# Applies to all C# and Java files, overriding rules declared before
[*.{cs,java}]
indent_size = 4
[*.{js,ts}]
quote_type = single
[*.tsv]
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.json,.travis.yml}]
indent_style = space
indent_size = 2
Django Editor Config
# https://editorconfig.org/
root = true
[*]
indent_style = space
indent_size = 4
insert_final_newline = true
trim_trailing_whitespace = true
end_of_line = lf
charset = utf-8
# Docstrings and comments use max_line_length = 79
[*.py]
max_line_length = 119
# Use 2 spaces for the HTML files
[*.html]
indent_size = 2
# The JSON files contain newlines inconsistently
[*.json]
indent_size = 2
insert_final_newline = ignore
[**/admin/js/vendor/**]
indent_style = ignore
indent_size = ignore
# Minified JavaScript files shouldn't be changed
[**.min.js]
indent_style = ignore
insert_final_newline = ignore
# Makefiles always use tabs for indentation
[Makefile]
indent_style = tab
# Batch files use tabs for indentation
[*.bat]
indent_style = tab
[docs/**.txt]
max_line_length = 79
[*.yml]
indent_size = 2
Last updated
Was this helpful?