プラグイン:EditorConfig
EditorConfig プラグイン
異なるエディタや開発環境の間でコーディングスタイルを維持することができる仕組み "EditorConfig" を Mery から使用するためのプラグインです。
動作検証にご協力いただける場合、EditorConfig 対応のエディタ「Visual Studio」や「Notepad++」、「Sublime Text 3」などの動作と比較の上で仕様かどうかの判断をしていただけると検証にかかる手間が省けるので助かります。
<htmlet>amazon</htmlet>
使用方法
ダウンロードしたアーカイブを適当なフォルダに解凍し EditorConfig.dll を Plugins フォルダに配置してください。
プラグインを導入して Mery を起動すると自動的に EditorConfig が有効になります。
Mery の [ツール > プラグイン > EditorConfig] からプラグインの有効・無効を切り替えることもできます。
EditorConfig プラグインを有効にした状態でファイルを開くと、.editorconfig に記述されているルールが反映されます。
適用されている EditorConfig の設定を確認するためには EditorConfig プラグインを有効にした状態で [ツール > プラグイン > プラグインの設定] から [EditorConfig] を選択して [プロパティ] をクリックします。
EditorConfig の詳細は公式サイト (https://editorconfig.org/) をご参照ください。
ここでは簡単に .editorconfig の書き方に触れておきます。
root = true
[*]
indent_style = tab
indent_size = 4
end_of_line = crlf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true
- root = true
- セクションの外側に記述するプロパティです。EditorConfig は開こうとするファイルと同じ階層の .editorconfig から上の階層にさかのぼって .editorconfig を検索します。このプロパティを true に設定すると、現在の .editorconfig で検索を停止します。
- [*]
- セクション名は対象とするファイルのパスを指定します。この文字列はワイルドカードが使用できるようになっており、例えばテキストファイルのみを対象にする場合は [*.txt] のように記述します。使用可能なワイルドカードの文字列は https://editorconfig.org/#wildcards をご参照ください。
- indent_style = tab
- tabまたはspaceを記述して、インデントにそれぞれタブを使用するか半角空白を使用するかを設定します。Mery のオプションでは [タブの代わりに空白を挿入] に該当します。
- indent_size = 4
- インデントに使用する桁数またはタブの幅を数値で記述します。indent_style が tab の場合でもこのプロパティがタブ幅として使用されます。Mery のオプションでは[タブの桁数] に該当します。EditorConfig の仕様では tab_width プロパティを使用すると indent_size とは別にタブの幅を設定できるようになっていますが、Mery はインデントがタブか半角空白にかかわらず [タブの桁数] は共通なので tab_width プロパティは使用しません。
- end_of_line = crlf
- lf, cr, crlf を記述して、改行コードを設定します。
- charset = utf-8
- latin1, utf-8, utf-8-bom, utf-16be, utf-16le を記述して、文字のエンコードを設定します。
- trim_trailing_whitespace = true
- 保存する前に改行文字の前にある空白文字を削除する場合は true を設定します。
- insert_final_newline = true
- 保存する前にファイルが改行で終了するようにするかどうかを記述します。このプロパティを記述するとファイルの最後にある改行を削除した後、true の場合は改行を付加、false の場合は改行を付加せずに保存します。ファイルの最後にある改行に手を加えたくない場合はこのプロパティ自体を記述しないようにするか unset を設定します。
現在のところプロパティと値の大文字小文字は区別されないようです。
プロパティ自体が記述されていない場合はエディタ側の設定が使用されます。
値に unset を設定するとそのプロパティの効果を削除してエディタ側の設定を使用します。例えば indent_size = unset と記述すれば、indent_size のプロパティを未定義とし、エディタ側の設定が適用されます。
プロパティの詳細は https://editorconfig.org/#supported-properties をご参照ください。
注意事項
- .editorconfig ファイルはエンコードを UTF-8、改行コードを CR+LF または LF としてください
- .editorconfig が適用されるのは [ファイルを開いた時] と [ファイルを保存する前] です。ファイルを新規作成して [名前を付けて保存] した直後は適用されません
- indent_style, indent_size はタブを半角空白に変換したりなど、文書を自動的に整形するための機能ではありません。
- [ツール > プラグイン > EditorConfig] からプラグインを無効にした場合でも既に開いているファイルの設定は維持されます。エディタ側の設定を適用するためには開いているファイルを閉じてから再度開く必要があります


