EditorConfig に関してはEditorConfigを参照してください。
.editorconfig を検索し、条件にマッチした場合は、その内容を現在のファイルに適用するマクロです。 (解析には、"EditorConfig C Core" を多少変更して使用しています。)
このマクロの実行には、秀丸エディタ Ver.8.30以降、ht_tools.dll Ver.1.22以降が必要です。 ht_tools.dllは、h-tom's Warehouse - ht_tools.dll から入手してください。
対応しているプロパティは、以下になります。
ht_tools.dllを、以下のどこかに置いてください。
手動または、自動起動マクロで、マクロを実行してください。 .editorconfigを検索し、マッチする設定があれば、設定の変更を行います。
設定変更がある場合は、ダイアログを表示するので、変更を実行するか選択してください。 確認なしで、設定変更も可能です。(マクロの変更が必要です。デフォルトは確認ありです。)
エンコードを変更する場合は、内容を維持したまま、変換を行います。
設定を適応する順番ですが
になります。
"max_line_length" で、折り返しを変更する場合、現状の設定より小さくなる時は、確認を行います。 (確認なしに設定しても、問い合わせを行います。)
このマクロには、いくつか設定があります。 変更する場合は直接マクロを変更してください。
確認の有無。設定を変更する場合に、事前に確認するか設定します。デフォルトは「確認あり」です。
00013|#confirm = 1; //0:確認なし 1:確認あり
プロパティを変更した場合の動作を設定します。
現状では、indent_style、trim_trailing_whitespace が影響を受けます。
00014|#SaveConv = 0; //秀丸エディタ本体機能有効にし、保存時に行うかどうか 0:実行しない 1:実行する 00015|#NowConv = 0; //設定時に、各種変換を行うかどうか 0:実行しない 1:実行する
insert_final_newline に関しては、設定時に変更するしかないので、この設定に影響されません。
プロパティを変更した場合の秀丸エディタの状態を設定する。
マクロを実行すると、「プロパティを変更した場合の動作」の設定内容により、秀丸エディタが更新された状態になります。
そのまま、更新のあった状態にしておくか、更新状態を強制クリアし解除するかの設定になります。
マクロ実行前に更新状態だった箇所も、すべて更新状態がクリアされます。
00016|#UpdareClr = 0; //編集マークを全て消去して(更新)状態を解除 0:解除なし 1:解除する
インデントの設定が変更になる場合、マクロの動作設定により動作が異なります。
(a) (基本) + ファイル保存時に、ファイル全体の タブ<-->スペース変換 を行う。
00014|#SaveConv = 1;
(b) (基本) + マクロ実行時に、タブ<-->スペース変換を行う。
00015|#NowConv = 1;
(a)の場合は、ファイルを保存時に変換が行われる事になり、マクロ実行後、既存のインデントに変化はありません。
(b)の場合は、マクロ実行時に変換を行うため、ファイル全体が、更新された状態になります。
デフォルトは、両方とも"実行しない" の、(基本)のみ動作になります。
「タブ<-->空白の変換」は秀丸エディタの本体の機能を使用します。秀丸エディタの動作を確認してから、設定を変更してください。
動作確認の方法は2つあります。
両方とも、"実行する" にした場合、ファイル保存時の変換は行われません。
各種更新が行われた場合、編集マーク消して(更新)状態を解除する事も可能です。(デフォルトは解除なし) 必要に応じて設定を変更してください。
行末の空白削除は、マクロの動作設定により動作が異なります。
(b) マクロ実行時に、行末の空白削除 を行う。
00015|#NowConv = 1;
(a)の場合は、ファイル保存時のみ処理が行われる事になり、マクロ実行後、ファイル内容に変化はありません。
(b)の場合は、マクロ実行時に変換を行うため、対象の行が、更新された状態になります。 (設定により更新状態をクリアする事も可能)
デフォルトは、"ファイル保存時に実行する"です。 "マクロ実行時に実行する" にした場合は、ファイル保存時の処理は行われません。