Per-Project Whitespace with EditorConfig
Standards can change from project to project. Single quotes or double quotes? MooTools, Dojo, or micro-frameworks? And then the question that has started wars: spaces or tabs? I'm a tab guy myself but the team that I work on has set a two-space standard. It's not my preference but it was a team decision so I have to drink the Kool-Aid. I still want to use my typical tab whitespace on other projects but just this one project should use spaces. I thought this would be a nightmare but enter EditorConfig, a utility with plugins for several text editors which allows developers to specify settings per project.
Start by creating a .editorconfig and placing it at the root of the project which you'd like to create whitespace for:
Once the file is in place, it's up to you to set the spacing settings per file type as you wish:
# EditorConfig is awesome: http://EditorConfig.org # top-most EditorConfig file root = true # Unix-style newlines with a newline ending every file [*] end_of_line = lf insert_final_newline = true # 4 space indentation [*.py] indent_style = space indent_size = 4 # Tab indentation (no size specified) [*.js] indent_style = tab # Indentation override for all JS under lib directory [lib/**.js] indent_style = space indent_size = 2
So not only can you set spacing per project but you can set them per file too. I've found EditorConfig to be a lifesaver as I can code per usual without having to think about spaces or tabs. EditorConfig made my day!