最近のファイルとフォルダの扱い

投稿者: 2nd2 声3 投稿

お久しぶりです。2nd@プラグイン作者です。 Ver7 になって、私が作成・公開している次のプラグインが動作しなくなりま した。  naoRecent  最近使ったファイルから存在しないファイルを削除する  https://emeditor.nao4u.com/plugin/naoRecent.html naoRecentは OnCommand 内で、存在しないファイルやフォルダを参照している レジストリキーを直接削除しています。  HKEY_CURRENT_USERSoftwareEmSoftEmEditor v3Recent File List  HKEY_CURRENT_USERSoftwareEmSoftEmEditor v3Recent Folder List EmEditor Ver.6 までは、ファイルメニューやタスクトレイアイコンのメニュー を表示する際にレジストリを参照して、最近使ったファイル等を表示していた ようですが、Ver7では本体起動中はメモリ上で管理されているようですね。 naoRecentで削除したレジストリキーもEmEditorを閉じると上書きされてしま います。naoRecentでの実現方法は自分で言うのもなんですが「汚い」ので、 なんとか別のアプローチが無いかと模索しています。 そこで質問と提案です。 質問:  EmEditor Ver.7 で最近使ったファイルやフォルダを書き込むタイミングは  いつでしょうか? 提案:  レジストリ使用時のみ Ver.6 と同等の処理に戻せないでしょうか?  (INIファイル使用時の動作速度低下が仕様変更のきっかけかと思えるので)
2ndさんは書きました: お久しぶりです。2nd@プラグイン作者です。 Ver7 になって、私が作成・公開している次のプラグインが動作しなくなりま した。  naoRecent  最近使ったファイルから存在しないファイルを削除する  https://emeditor.nao4u.com/plugin/naoRecent.html naoRecentは OnCommand 内で、存在しないファイルやフォルダを参照している レジストリキーを直接削除しています。  HKEY_CURRENT_USERSoftwareEmSoftEmEditor v3Recent File List  HKEY_CURRENT_USERSoftwareEmSoftEmEditor v3Recent Folder List EmEditor Ver.6 までは、ファイルメニューやタスクトレイアイコンのメニュー を表示する際にレジストリを参照して、最近使ったファイル等を表示していた ようですが、Ver7では本体起動中はメモリ上で管理されているようですね。 naoRecentで削除したレジストリキーもEmEditorを閉じると上書きされてしま います。naoRecentでの実現方法は自分で言うのもなんですが「汚い」ので、 なんとか別のアプローチが無いかと模索しています。 そこで質問と提案です。 質問:  EmEditor Ver.7 で最近使ったファイルやフォルダを書き込むタイミングは  いつでしょうか? 提案:  レジストリ使用時のみ Ver.6 と同等の処理に戻せないでしょうか?  (INIファイル使用時の動作速度低下が仕様変更のきっかけかと思えるので)
最近使ったファイルやフォルダを書き込むタイミングは、プロセス終了時です。ただし、マルチプロセスで起動している場合や、/sp オプションで別プロセスで起動している場合は、v6 までの従来とおり、変更時に常に書き込んでいます。 確かに、INI ファイルの動作速度を向上させるために、このように仕様を変更していますが、レジストリ使用時でも動作が速くなるので、どちらでも同じ動作になっています。最近使ったファイルが最大の 64 個もあると、かなり差が出てきます。 プラグインに影響があって申し訳ありません。正式版の公開前に教えていただければ、何とか対応することができたのに残念です。今すぐにレジストリの場合だけ元に戻しても、INI 使用時には有効になりません。将来は、正式なプラグインの実装として検討したいと思います。この将来の実装を待ってからプラグインを書き換えていただけると幸いです。
丁寧な返信ありがとうございます。 レジストリへの書き込みタイミングがプロセス終了時では、プラグインでの対処は無理っぽいですね。正式に対応いただける将来の実装を待っています。 また、これからはベータ公開時点で、自作プラグインの動作を確認するようにします。

このトピックの投稿: 3