はむはむエンジニアぶろぐ

このブログのコンセプトは"ハッキングの為なら愛する家族を傷つけることをいとわない" 自分にとってエンジニアリングは "手段ではなく生きる目的" である

【EditorConfig】拡張子やプロジェクトごとでスタイルを定義できる

f:id:secret_hamuhamu:20150910021728p:plain
EditorConfig使ってますか?
EditorConfigは、vimで言うところの ftplugin みたいなもので、拡張子やプロジェクトごとにインデントのサイズや文字コードなどを定義できます。

今までは、ftpluginとかで頑張っていました。
ですが、プロジェクトによっては文字コードが UTF-8 だったり EUC-JP だったりということがあって ftplugin では辛いです。
共同開発している場合は、開発者間でコーディングスタイルが違うことによるコードのカオス化があったりします。

これらの問題を EditorConfig が解決してくれます。

EditorConfigの使い方

まずは、お使いのエディッタに合わせてプラグインをインストールする必要があります。
ネイティブにプラグインがインストールされているエディタもあるので、公式をご参照ください。
EditorConfig

.editorconfig というファイルを作成し配置します。
とりあえず、アプリケーションのルートディレクトリに配置するので良いと思う。
こまめにディレクトリ単位でも制御できます。

ひとまず、私のサンプルコードを貼ります。

root = true

[*]
charset = utf-8
end_of_line = lf
trim_trailing_whitespace = true
indent_style = space

[*.php]
indent_size = 4

[*.{pl,pm}]
indent_size = 4

[*.R]
indent_size = 2

[*.js]
indent_size = 2

[*.html]
indent_size = 2

[*.css]
indent_size = 4

[*.md]
trim_trailing_whitespace = false

[*.{yml,yaml}]
indent_size = 2

解説

解説と言っても、あまり解説することはない。
EditorConfigはすごくわかりやすいので直感的に触れますね。

indent_styleとかindent_sizeとか雰囲気わかるでしょっていうのは割愛。

設定 意味
root trueならルートのEditorConfigとなり、親階層の.editorconfigを探しに行かない
trim_trailing_whitespace trueなら行末の空白文字を削除(ファイル保存時に空白が削除される)
insert_final_newline trueなら末尾に空行を追加(Vim 7.4.785+ 以上であれば使えるみたい)

おすすめの本

Vimテクニックバイブル ?作業効率をカイゼンする150の技

Vimテクニックバイブル ?作業効率をカイゼンする150の技

Vim script テクニックバイブル ~Vim使いの魔法の杖

Vim script テクニックバイブル ~Vim使いの魔法の杖

アジャイルサムライ−達人開発者への道−

アジャイルサムライ−達人開発者への道−

  • 作者: Jonathan Rasmusson,西村直人,角谷信太郎,近藤修平,角掛拓未
  • 出版社/メーカー: オーム社
  • 発売日: 2011/07/16
  • メディア: 単行本(ソフトカバー)
  • 購入: 42人 クリック: 1,991回
  • この商品を含むブログ (254件) を見る

アジャイルソフトウェア開発の奥義 第2版 オブジェクト指向開発の神髄と匠の技

アジャイルソフトウェア開発の奥義 第2版 オブジェクト指向開発の神髄と匠の技

  • 作者: ロバート・C・マーチン,瀬谷啓介
  • 出版社/メーカー: ソフトバンククリエイティブ
  • 発売日: 2008/07/01
  • メディア: 大型本
  • 購入: 18人 クリック: 586回
  • この商品を含むブログ (71件) を見る

f:id:secret_hamuhamu:20150910021728p:plain