.editorconfig ジェネレーター
エディター間でインデント、改行コード、文字コード、空白を統一する .editorconfig ファイルを作成。Markdown、YAML、Python、Go、Makefile 向けの上書き設定にも対応します。
0 = 指定しない
.editorconfig ジェネレーターとは?
EditorConfig は、エディターや IDE(VS Code、JetBrains、Vim、Visual Studio、Sublime など)の間でコードスタイルを一貫させます。このツールは、インデント、改行コード、文字コード、空白のルールに加え、Makefile や Go ではタブ、Python ではスペース 4 つといった、一般的なファイル種別ごとの上書き設定を含む .editorconfig ファイルを作成します。
.editorconfig ジェネレーターの使い方
- インデント(スペースかタブ)と インデント幅 または タブ幅 を選びます。
- 改行コード、文字コード、任意の 最大行長 を設定します。
- 行末の空白を削除 と 末尾に改行を挿入 を切り替え、必要な ファイル種別ごとの上書き を選びます。
.editorconfigをダウンロードして、プロジェクトのルートに置きます。
例
Spaces, size 2, LF, UTF-8, trim whitespace, final newline, Markdown and Makefile overrides
# EditorConfig: https://editorconfig.org root = true [*] indent_style = space indent_size = 2 end_of_line = lf charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true [*.md] trim_trailing_whitespace = false [Makefile] indent_style = tab
.editorconfig ジェネレーターを使うべき場面
複数の人やエディターが編集するリポジトリ、特に改行コードが異なる Windows/macOS/Linux 混在のチームで使います。EditorConfig が制御するのは基本的な空白だけです。完全なコードスタイルには Prettier、Black、gofmt などのフォーマッターを使い、できればこれらの設定と一致するように構成してください。
.editorconfig ジェネレーターの仕組み
ファイルは、エディターが親フォルダーの探索をやめるよう root = true で始まり、続く [*] セクションに、EditorConfig の仕様にある indent_style、indent_size(タブ使用時は tab と tab_width)、end_of_line、charset、trim_trailing_whitespace、insert_final_newline が入ります。上書きは後続のグロブセクション([*.md]、[*.{yml,yaml}]、[*.py]、[*.go]、[Makefile])として追加され、一致するファイルでは [*] より優先されます。
一般的な使用例
- プルリクエストでのタブとスペース、CRLF/LF の揺れをなくす
- JavaScript プロジェクトでスペース 2 つのインデントを設定する
- Makefile ではタブを保ちつつ、他ではスペースを使う
- 行末のスペースで入れた Markdown の改行を保つ
よくある質問
VS Code は .editorconfig に対応していますか?
はい、公式の EditorConfig 拡張機能を通じて対応します。JetBrains の IDE、Visual Studio、GitHub の Web エディターはネイティブで対応しています。
Markdown で trim_trailing_whitespace = false にするのはなぜですか?
Markdown では末尾のスペース 2 つが改行になるため、それを削除するとレンダリングされる文書が変わってしまいます。
LF と CRLF のどちらがよいですか?
Git の autocrlf を使う Windows のプロジェクトも含め、ほとんどのリポジトリでは LF が標準です。CRLF は、Windows 専用のツールが必要とする場合にのみ使ってください。