現在、Atomのインデント設定は以下の様になっております。
- 言語別に半角スペースの数を変更できる
- ハードタブかソフトタブかを切り替えることができる
- 言語別にハードタブかソフトタブかを変更できない
以前は言語別でソフトタブの設定ができたようなのですが、現在はできないようです。
そこで、プラグインのsyntax-settingsを導入して設定を試してみるも、上手くいかず撃沈。
これは困った。
そこで、対応策を探していると、EditorConfigというものに出会いました。
EditorConfigとは
プロジェクト毎にコーディングルールが異なったり、複数人で編集することによって、インデントがタブだったり半角スペースだったり、改行コードが違う、一部ファイルだけ文字コードがShift_JISになってしまっている、といった問題が起こり得ます。
これらの設定を統一し、共有するためのツールがEditorConfigです。
例で少し挙げましたが、EditorConfigでは下記の設定が可能です。
- 言語別のインデントの設定(タブか半角スペースか)
- タブの幅(タブの場合)
- 半角スペースの数(半角スペースの場合)
- 改行コード
- 文字コード
- 先行する空白文字を削除するか
- ファイルを改行で終えるか
- EditorConfigファイルの探索を終えるか
EditorConfigについて詳しいことが知りたい方は、下記のサイトを参考にしてみてください。
AtomでEditorConfigを設定する
「EditorConfig」をインストール
AtomはEditorConfigに対応しているので、プラグインをインストールします。
インストール方法は2つ。お好きな方法でインストールしてください。
コマンドプロンプト若しくはターミナルからインストール
$ apm install editorconfig
Atomからインストール
File → Settings → Install → 「EditorConfig」で検索
次に、.editorconfigファイルを作成いたします。
root = true [*] indent_style = tab end_of_line = crlf charset = utf-8 trim_trailing_whitespace = true insert_final_newline = true [package.json] indent_style = space indent_size = 2 [*.md] trim_trailing_whitespace = false [*.html] indent_style = space indent_size = 2 [*.css] tab_width = 4 [*.js] tab_width = 4
上記では、htmlの時は半角スペース2つのソフトタブでインデント、css,javascriptの時は半角スペース4つ分のハードタブでインデント、という設定を行っております。
EditorConfigは、編集しているファイルから一番近いところにある.editorconfigファイルの設定を参照します。
ですので、作成したファイルは、各プロジェクトのルートに配置します。そうすることで、プロジェクト別にEditorConfigを設定することが可能になります。
チームメンバーと共有するには、作成した.editorconfigファイルを他メンバーに共有し、該当ディレクトリに配置するだけです。とても簡単ですね。
これをプロジェクト別ではなく、エディターの設定として利用する場合は、ホームディレクトリに配置することで、全てのファイルに適用されます。
EditorConfigをチームで採用する際の注意点
EditorConfigに対応しているエディターは限られています。
対応していないエディターを使用しているメンバーには別途共有が必要ですね。
とはいえ主要エディターの多くは対応済みのようです。
対応エディターは公式サイトをご確認ください。
今回はAtomのインデント設定で壁にぶつかったことでEditorConfigというものがあるのを知りました(情弱か…)。
学習コストはほとんど必要なく、エディターさえ対応していればよいので、実務で使用してみるのもいいかなと思います。
コメント