【要望】 ファイル保存時の小技機能
-
僭越ながら、ご検討くだされば幸いです。
・ファイル作成終了で画面を閉じたら「行末以降の空白を除去する」機能
・最終行に改行が入っていないで、保存終了した時に「自動的に改行を付加する」機能---
Mery: 3.7.16 (x86)
Onigmo: 6.2.0
C/Migemo: 1.3
Tidy: 5.8.0
Hunspell: 1.7.1
uchardet: 0.0.8
アウトライン: 3.2.3 (Outline.dll)
お気に入り: 2.4.0 (Favorites.dll)
OS: Windows 10 (Version 22H2, OS Build 19045.4780, 64-bit Edition)| Peggy | 返信 -
公式プラグインの「EditorConfig」でできそうですね。
https://www.haijin-boys.com/wiki/プラグイン:EditorConfig
trim_trailing_whitespaceinsert_final_newlineの設定でご希望の動作になるんじゃないでしょうか。| yuko | 返信 -
ご教示、感謝します。
早速 EditorConfig.dll を入手してMeryの Plug-in フォルダに投入して、設定ファイルを以下のようにして、同じ Plug-in フォルダに投入しましたが反映されず、「ツール→プラグイン→プラグインの設定→EditorConfig→プロパティ」と進んでも、「現在のEditorConfig 設定:」と小窓表示が出て、先に進めません。この設定ファイルはどこに格納したらよいのでしょうか。
----
root = true[*.txt]
indent_style = tab
indent_size = 4
end_of_line = crlf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true| Peggy | 返信 -
設定ファイル名を間違えたり、Shift-JISで保存したり、間違いだらけでした。
https://editorconfig.org/ を読んで見たいと思います。
C:\Users\(ユーザ名)\AppData\Local\Programs\Mery\Plugins\.editorconfig| Peggy | 返信 -
yuko さん、いつもサポートへのご協力ありがとうございます。
Peggy さん、Mery をご愛用いただきありがとうございます。
ご紹介いただいたとおり、EditorConfig プラグインでご希望の機能が実現できそうですね。
ほかの方法として、マクロを使ってこの機能を有効にすることも可能です。
document.TrimTrailingWhiteSpace = true; document.InsertFinalNewLine = meTriBoolTrue;このマクロを実行すると、現在の文書に対して保存時に「行末の空白を自動で削除」し、「文末に改行を追加する」設定が適用されます。
常にこの設定を適用したい場合は、イベント [アクティブな文書が変更された時] あたりにこのマクロを登録しておくとよいかと思います。
| Kuro | 返信 -
> ほかの方法として、マクロを使ってこの機能を有効にすることも可能です。
おおっ、こんな方法が。
一時期、「EditorConfigがグローバル設定っぽく使えたらなぁ」と思っていたのですが、この方法は良いかもしれません。| yuko | 返信 -
> 一時期、「EditorConfigがグローバル設定っぽく使えたらなぁ」と思っていたのですが、この方法は良いかもしれません。
なるほど、そういうことでしたら、他にも以下のようなマクロ プロパティがあり、それぞれ EditorConfig の設定に対応しています。
document.IndentSize = 2; // indent_size document.IndentStyle = meIndentStyleTab; // indent_style document.MaxLineLength = 80; // max_line_lengthちなみに、これらはすべて文書ごとの一時的な設定なので、文書を閉じるとリセットされます。
マクロの [編集モードが変更された時] あたりのイベントで設定しておけば、編集モードごとに切り替わる、ちょっとした「なんちゃって EditorConfig」みたいな使い方もできそうですね👍
| Kuro | 返信