LoginSignup
2
3

More than 5 years have passed since last update.

プロジェクトのコーディングスタイルをIDEに自動適用する(EditorConfig)

Last updated at Posted at 2018-03-12

開発者がそれぞれ異なるIDEを使用している開発プロジェクトで
効率的にコーディングスタイル(文字コード・改行コード・インデント幅等)を共有する方法として
EditorConfigを紹介します

以下のような内容の.editorconfigファイルを
プロジェクトのディレクトリに配置することで
IDEでプロジェクトを開いた際に自動的にコーディングスタイルが設定されます

.editorconfigの例
root = true

# 基本設定
[*]
charset = utf-8
end_of_line = lf
indent_style = space
indent_size = 4
tab_width = 4
trim_trailing_whitespace = true
insert_final_newline = true

# Markdownファイルは行末スペースを削除しない
[*.md]
trim_trailing_whitespace = false

# JavaScriptとJSONファイルはインデントをスペース2文字にする
[*.{js,json}]
indent_size = 2

# Makefileはタブでインデントする
[Makefile]
indent_style = tab

設定項目

.editorconfigファイルはINIファイル形式です

  • root = true
    この指定がない場合、上位のディレクトリに遡って継承元とする.editorconfigを検索します
  • #から行末まではコメントです
  • []で囲まれたセクション名
    ルールを適用するファイル名のパターンを指定します
    [*]であれば、すべてのファイルに
    [*.md]であればMarkdownドキュメント(拡張子が.md)のファイルに
    [*.{js,json}]であれば、JavaScript(拡張子が.js)とJSON(拡張子が.json)に適用されます
  • charset
    ファイルの文字コードを指定します
  • end_of_line
    改行コードを指定します
  • indent_style
    インデントに使用する文字tabまたはspaceを指定します
  • indent_size
    1インデントの幅を何文字分にするかを指定します
  • tab_width
    1タブの幅を何文字分にするかを指定します
  • trim_trailing_whitespace
    ファイル保存時に、各行末のスペース文字を自動削除するtrueか、しないfalseを指定します
    上記の例では、Markdownファイル(*.md)のみ行末のスペースを削除しない設定になっています
  • trim_trailing_whitespace
    ファイル保存時に、ファイル末尾を改行文字にするtrueか、何もしないfalseを指定します

これ以外にも言語やIDE特有の設定項目があります
完全なリストは EditorConfigのWiki(英語)を参照してください

各種IDEの対応状況

初期状態で有効な(EditorConfigプラグインがインストールされている)もの

  • IntelliJ IDEA
  • PyCharm
  • RubyMine
  • WebStorm など

プラグインをインストールすると有効になるもの

  • ATOM
  • VisualStudio Code
  • eclipse
  • PhpStrom など
2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3