editorconfigを使おう!
プログラム開発を複数人で行うにあたって、ファイルフォーマットというものが重要になってくる。個人で開発する分には気にする必要もないけれど、各人によってインデントが8だったり、2だったり、インデント種類がタブだったり、スペースだったりとばらつくと色々問題がある。
そんな場合に役立つものがeditorconfigだ。editorconfigにインデントスタイルにまつわる設定やファイル文字コードを設定しておくと、editorconfigが有効な環境では設定に剃って、改行やインデントを揃えてくれる。
なお、有名なテキストエディタ(vim,VSC,sublime,emacs,netbeans、その他色々)では大体プラグラインが実装されているので、プラグインをインストールする事で使用できる。
詳しい設定内容については表にまとめてみた。
設定項目
プロパティ | 説明 | 値 |
---|---|---|
root | 最上位の.editorconfigファイル。 ルートファイルパスに到達するか、root=trueの設定を検出するまで上位の階層を探索する。 |
true, false |
indent_style | インデントの種類を設定。 | space, tab |
indent_size | インデントのサイズを指定。 空白2つ分ならば、indent_size=2 にする。 |
数値(0〜) |
tab_width | タブのサイズ 。 | 数値 |
end_of_line | 改行のフォーマット(Unix、DOS、Mac)。 | lf, crlf, cr |
charset | 文字コードを指定。 | latin1 utf-8 utf-16be utf-16le utf-8-bom |
trim_trailing_whitespace | 行末のスペースを削除するかどうか設定。 trueで行末スペースを削除し、falseでは削除しない。 |
true, false |
insert_final_newline | ファイル保存の際、ファイル末尾に改行コードを挿入する設定。 trueで末尾に改行を追加する。 |
true, false |
max_line_length | 一行の文字数(一部のエディタのみ対応) | 数値(1〜) |
対象ファイルの指定
ワイルドカードのパターン
パターン | 意味 |
---|---|
* | パス区切り記号以外の任意の文字列に該当。 |
** | 任意の文字列に該当(パス区切り記号含む)。 |
? | 任意の文字列1文字に該当。 |
[name] | nameに該当するファイル。 |
[!name] | nameに該当しないファイル。 |
{s1,s2,s3} | s1、s2、s3のいずれかに該当する。 |
{num1...num2} | num1 |
例
[*.md]
... 拡張子がmdのファイル。
[config/**.js]
... 指定ディレイク以下の任意のファイル
設定例
root = true [*] # tab or space indent_style = space indent_size = 4 charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true [*.md] trim_trailing_whitespace = false [*.rb] indent_style = space indent_size = 2