使い方
- インデントの文字とインデント幅でインデントを選び、改行コードと文字コードで改行と符号化を選びます。
- 必要なファイル形式のセクションにチェックを入れます:Markdownで行末の空白を残す、YAMLのインデントを2つのスペースにする、Makefileのレシピをタブでインデントする。
- .editorconfigファイルの文字をコピーするか、ダウンロードして、プロジェクトの最上位のフォルダに保存します。
- 各行の意味を読み、各設定が何をするかを確かめます。
ファイルの仕組み
多くのエディターやIDEは.editorconfigファイルを読み、各セクションのファイル名パターンに一致するファイルに設定を適用します。セクションの見出しは角かっこで囲んだファイル名パターンで、その下のプロパティが一致するすべてのファイルに適用されます。後のセクションは、同じプロパティについて前のセクションを上書きします。root = trueは検索を止めるため、設定はこのフォルダとその下のフォルダにだけ届きます。
- * は、スラッシュ以外の任意の文字列に一致します。
- ** は、スラッシュを含むすべての文字列に一致します。
- {yml,yaml} は、どちらの文字列にも一致します。したがって *.{yml,yaml} は両方の種類のファイルに一致します。
ファイル形式ごとのセクション
- Markdown:行末の2つの空白は改行になるため、*.mdでは行末の空白の削除を無効にします。
- YAML:インデントにタブ文字は使えないため、*.{yml,yaml} はスペースで、1階層につき2つずつインデントします。
- Makefile:各レシピ行はタブ文字で始める必要があるため、Makefileにはindent_style = tabを設定します。
値の選び方
- コードには、スペースが一般的です。タブは、どのエディターでもタブの幅が同じに表示されるチーム向きです。
- LFは、Linux、macOS、多くのリポジトリで使われる一般的な改行です。CRLFは、Windowsのテキストファイルの改行です。
- UTF-8は標準の文字コードです。ツールが必要とする場合だけ、BOM付きのUTF-8を使ってください。
計算例:初期設定
インデントはスペース、インデント幅は2、改行はLF、文字コードはUTF-8、行末の空白は削除、ファイルの末尾に改行を入れ、3つのファイル形式のセクションをすべて選んだ場合、ファイルにはroot行、「すべてのファイル」のセクション(プロパティ6つ)、MarkdownとMakefileのセクションにプロパティが1つずつ、YAMLのセクションに2つができます。「各行の意味」の表には設定行が11あり、そのうち6つをここに示します。
| セクション | プロパティ | 値 |
|---|---|---|
| ファイルの先頭 | root | true |
| すべてのファイル | indent_style | space |
| すべてのファイル | indent_size | 2 |
| Markdown(.md) | trim_trailing_whitespace | false |
| YAML(.yml、.yaml) | indent_style | space |
| Makefile | indent_style | tab |
よくある質問
.editorconfigファイルは、どこに置けばよいですか?
プロジェクトの最上位のフォルダに、READMEと並べて置きます。エディターは、ファイルのあるフォルダから上の階層へ順に.editorconfigを探し、root = trueのあるファイルで検索を止めます。
.editorconfigファイルは、コードを整形しますか?
それ自体では整形しません。ファイルを編集または保存するとき、どのインデント、改行、文字コードを使うかをエディターやプラグインに伝えるだけです。整形はフォーマッターやリンターが行い、同じ設定を読むものもあります。
Markdownのセクションは、なぜ行末の空白を残すのですか?
Markdownでは行末に2つの空白があると改行になります。削除すると2行がつながってしまうため、このセクションは.mdファイルだけ削除を無効にします。
Makefileは、なぜタブを使う必要があるのですか?
makeは各レシピ行の先頭にあるタブ文字を読み取り、スペースで始まるレシピはエラーになります。そのためMakefileのセクションは、Makefileという名前のファイルに対してindent_styleをtabに設定します。
サブフォルダで、これらの設定を解除できますか?
はい。unsetという値を使うと、前に設定したプロパティを解除できます。このページは通常の値だけを書き出すため、必要な場合はサブフォルダ自身の.editorconfigにその行を追加してください。
作成したファイルは、サーバーに送られますか?
いいえ。ファイルはお使いのブラウザの中で、選んだ内容から作られます。選んだ内容は、サーバーに送られることも、保存されることもありません。
出典
- EditorConfig:ファイル形式とサポートされるプロパティ(英語)
- EditorConfig仕様:セクション、グロブ、root(英語)
- CommonMark 0.31.2:ハード改行、行末の2つの空白(英語)
- YAML 1.2.2:インデントにタブ文字を使ってはならない(英語)
- GNU Makeマニュアル:レシピ行はタブ文字で始まる(英語)
数値と文章の最終確認日:2026年11月10日火曜日。