EditorConfigとは?
EditorConfigは、複数のエディタやIDE間でコードのスタイル設定を共有するための仕組みです。プロジェクトごとに統一された設定を適用でき、チーム開発でのコードスタイルの統一に役立ちます。
サンプル設定
# EditorConfigは最高だ!: https://editorconfig.org
# 最上位のEditorConfigファイル
root = true
# すべてのファイルにUnixスタイルの改行と末尾の改行を設定
[*]
end_of_line = lf
insert_final_newline = true
# 括弧展開表記で複数ファイルをマッチ
# 文字コードを設定
[*.{js,py}]
charset = utf-8
# Pythonファイルはスペース4つのインデント
[*.py]
indent_style = space
indent_size = 4
# Makefileはタブインデント(幅は指定しない)
[Makefile]
indent_style = tab
# libフォルダ以下の全てのJSファイルはスペース2つのインデント
[lib/**.js]
indent_style = space
indent_size = 2
# package.jsonと.travis.ymlのみマッチ
[{package.json,.travis.yml}]
indent_style = space
indent_size = 2
ファイルの配置場所
EditorConfigの設定ファイル(.editorconfig
)は、通常プロジェクトのルートディレクトリに配置します。ファイルはツリー構造をたどって上位の.editorconfig
を探索し、最初にroot = true
が指定されたファイルで探索が終了します。
ファイルフォーマット詳細
EditorConfigファイルはPythonのconfigparserライブラリで使用されるINI形式に準拠していますが、セクション名には [ ]
が使用できます。セクション名はファイルパスのglobパターン(大文字小文字を区別)で、gitignore
と同様の形式を採用しています。パス区切りはスラッシュ(/
)のみで、コメントには
#
または ;
を使用します。EditorConfigファイルはUTF-8でエンコードされ、改行コードはCRLFまたはLFのいずれかを使用できます。EditorConfigファイルは上から下へと読み込まれ、後に記述されたルールが優先されます。
設定項目一覧
設定項目 | 説明 |
---|---|
indent_style |
インデントの種類(space または tab) |
indent_size |
インデントの幅 |
tab_width |
タブの幅(必要に応じて指定) |
end_of_line |
改行コード(lf, crlf, cr) |
charset |
文字コード(例: utf-8) |
trim_trailing_whitespace |
行末の空白を削除するか |
insert_final_newline |
ファイルの最後に改行を入れるか |
max_line_length |
行の最大文字数 |
ワイルドカードパターン
パターン | 意味 |
---|---|
* |
任意の文字列(スラッシュを除く)にマッチ |
** |
ディレクトリをまたいで任意の文字列にマッチ |
? |
任意の1文字にマッチ |
[abc] |
a, b, c のいずれかの1文字にマッチ |
[!abc] |
a, b, c 以外の1文字にマッチ |
当サイトについて
このサイトはEditorConfig公式サイトではなく、個人が作成した解説サイトです。詳しくは公式サイト(https://editorconfig.org/)を参照してください。