I just used EditorConfig for the first time on a project, and it seems like something that will be very useful, especially for team development. What is EditorConfig? Here’s the description from the website:

EditorConfig helps developers define and maintain consistent coding styles between different editors and IDEs.

EditorConfig allows you to specify the type and size of tabs used on a project, as well as things like character set and line endings. In a supported editor1, the rules specified in the .editorconfig file will execute when saving the file, making sure the formatting of the file is consistent. It even allows you to configure file extensions separately for languages that have specific requirements that may differ from your default settings.

Using EditorConfig eliminates the need to modify your editor preferences when switching between projects. For example, I’ve always preferred hard tabs, but everyone on my team at work uses soft tabs. You can just add the .editorconfig to a git repository, and everyone who works on the project can be using consistent formatting.

Here is my current .editorconfig file:

# EditorConfig (http://editorconfig.org)

# Set this as the root EditorConfig file
root = true

# Default settings for all files
charset = utf-8
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
indent_style = space
indent_size = 4

  1. My editor of choice has been Coda for the past couple years, but it does not yet have EditorConfig support. I’ve been trying out a few other editors, including TextMate and the new GitHub Atom editor. You can find a list of supported editors on the EditorConfig website.