みなさんそれぞれ自分なりのコーディングスタイルがあると思います。タブを使う?スペース?インデント幅は4それとも2?
個人のプロジェクトなら好きなようにすればいいですが、問題は複数人で開発する場合です。エディタの設定が2スペースで、4スペースで書かれたファイルで改行するとき、オートインデントで2スペースになったりと困った経験はないでしょうか。開発者がそれぞれのエディタやIDEで開発すると、プロジェクトに自分の開発環境をあわせるのが面倒になります。
editorconfig
そこで、editorconfigです。
editorconfigを使うことで、各々のエディタの設定がそのプロジェクト用に切り替わります。
使い方
プロジェクトのルートに.editorconfigを配置するだけです。
参考までにjs用の自分のeditorconfigの設定を載せておきます。自分はタブ派なので、自分がプロジェクトをつくるときは以下のように設定しています。
root = true
[*]
indent_style = tab
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
[{package.json,*.yml}]
indent_style = space
indent_size = 2
多くのOSSのプロジェクトでも使われているので、githubを覗いて設定を参考にしてみるのがいいと思います。
プラグインのインストール
ATOMやEmacs、Visual StudioやXcodeなど多くのエディタやIDEにプラグインがあるのでそれを利用しましょう。
自分はvimを使っているのでその設定を載せておきます。とはいってもプラグインをインストールするだけです。
NeoBundle 'editorconfig/editorconfig-vim'
まとめ
Lintツールに加えて、editorconfigを使い、快適なコーディングをしていきましょう。