Do I need a plugin for my editor to use .editorconfig?▾
Many editors like JetBrains IDEs, Visual Studio 2017+, and Neovim support EditorConfig natively without any plugin. VS Code requires the EditorConfig for VS Code extension, which is free and widely installed.
What is the difference between root = true and omitting it?▾
Setting root = true at the top of the file tells EditorConfig to stop looking for additional .editorconfig files in parent directories. Without it, settings from parent directories can bleed into your project unexpectedly.
Can I have different indentation for JavaScript and Python in the same project?▾
Yes. Use a [*] global section for defaults and then add [*.js] or [*.py] sections underneath with overrides. Rules in a more specific section take precedence over the global defaults.
Why does Makefile need tabs specifically?▾
The make utility parser requires recipe lines (the commands under a target) to be indented with a literal tab character. Spaces will cause a Makefile syntax error at runtime. The generator adds a [Makefile] override section that sets indent_style = tab.
Does EditorConfig enforce settings at commit time or only while editing?▾
EditorConfig only influences editor behavior while you are actively editing files. It does not run at commit time. For commit-time enforcement, pair it with a pre-commit hook using tools like editorconfig-checker or Prettier.
What does insert_final_newline do?▾
It ensures every file saved by the editor ends with a single newline character. This follows the POSIX text file convention and prevents the no newline at end of file warning that appears in git diffs and many code review tools.
Is charset = utf-8-bom ever appropriate?▾
Only for files that must be consumed by older Windows tools that require a byte order mark, such as certain legacy CSV processors. For modern projects, charset = utf-8 is always the correct choice and BOM should be avoided.
Can .editorconfig coexist with a Prettier config?▾
Yes, and they are designed to complement each other. EditorConfig handles editor-level mechanics (indentation on keypress, line endings on save), while Prettier enforces code style at format time. Set them consistently to avoid conflicts.