【ATOM Editor】 EditorConfig を使うなら Whitespace は不要
日本シリーズ楽しんでますか? やっぱ日ハムは強いねぇ。 指揮官が無能で選手の勢いだけで優勝したどこぞのチームとは格が違う。 まぁ,最初の2連勝で夢を見させていただいただけでもよしとしましょう。
ところで ATOM の EditorConfig が 1.7 になって面白いワーニングを吐くようになった。
どうやら trim_trailing_whitespace
と insert_final_newline
に対応したらしいんだけど, Core Package の whitespace と conflict しているようだ。
この場合は whitespace を Disable にすれば解消する(whitespace は Core Package なので削除できない)。
EditorConfig と whitespace のどちらを優先するかは人によって違うだろうが,少なくともコード書きなら EditorConfig を優先することを強くお勧めする。
EditorConfig は入力テキストの文字エンコーディングや改行コードなどを設定する機能で,プロジェクトのルート・フォルダに .editorconfig
ファイルを設置しておけば 利用環境に関係なく 設定を統一できる。
対応しているエディタも多く, Vim や Emacs や Notepad++, Sublime Text といった定番のテキストエディタはもちろん, Eclipse, Visual Studio (Code), IntelliJ IDEA, WebStorm といった IDE (Integrated Development Environment) でも対応している。
もちろん ATOM も対応している。
設定可能な項目は以下の6つ。
indent_style
はインデントのスタイルを指定する。tab
またはspace
を指定するindent_size
はインデントの幅を指定するend_of_line
は改行コードを指定する。lf
,cr
,crlf
から選択できるchaset
は文字エンコーディングを指定する。latin1
,utf-8
,utf-8-bom
,utf-16be
orutf-16le
から選択できる。残念ながらこれ以外の文字エンコーディングについては動作不定(エディタ側の実装による)である1trim_trailing_whitespace
をtrue
にすると行末の空白文字を削除してくれるinsert_final_newline
をtrue
にするとファイルの末尾が改行文字ではない場合に補完してくれる
これらの項目をファイルの種別ごとに設定できる。 ちなみに私が仕事以外でよく使う設定はこんな感じ。
root = true
[*]
end_of_line = lf
charset = utf-8
indent_style = tab
indent_size = 4
trim_trailing_whitespace = true
insert_final_newline = true
[*.html]
insert_final_newline = false
[*.md]
indent_style = space
indent_size = 4
trim_trailing_whitespace = false
チームでこうした設定を決めてプロジェクトに組み込んでおけば文字エンコーディングや改行コードやインデント幅といった馬鹿らしいことで悩むことなく作業に専念できる。