sakura icon indicating copy to clipboard operation
sakura copied to clipboard

ジャンプリスト(タスクバーの右クリック)から最近使ったファイルを開けるようにして欲しい。

Open arigayas opened this issue 6 years ago • 14 comments

要望機能

利便性向上のためにジャンプリスト(タスクバーの右クリック)から最近使ったファイルを開けるようにして欲しいです。

サクラエディタ 2.3.2.0 では、ジャンプリスト(サクラエディタを起動した状態でタスクバーの右クリックすると表示されるリスト)が表示されますが image 存在しているファイル名(例:hoge.txt)をクリックすると image が表示されてファイルを開けません。

ちなみにサクラエディタで(例:hoge.txt)を開いている状態でジャンプリストから開こうとしても同じエラーが表示されます。

この機能が動かないせいで何度もこのエラー表示を見てます(苦笑) 1つ目のスクリーンショットは #429 からのコピペです。

arigayas avatar Nov 08 '19 11:11 arigayas

自分の環境だと正常に働いてるように見えます。2.4.0.2311 (x64版) で確認しました。

再現手順がわかりません。。

beru avatar Nov 08 '19 12:11 beru

https://ci.appveyor.com/api/buildjobs/b02hus8sijswjggo/artifacts/sakura-build2375-Win32-Release-Exe.zip をダウンロードして試してみましたがジャンプリストに最近使ったファイルが表示されません。

ジャンプリストを表示させようと思い以下のことを行いました。

  1. 上記URLからサクラエディタをダウンロードして適当なフォルダに解凍します。
  2. 解凍したサクラエディタでファイル(hoge.txt)を開きます。
  3. ファイル(hoge.txt)を閉じます。
  4. 「ファイル(F)」→「サクラエディタ全終了」をクリックします。
  5. 解凍したサクラエディタを再度起動します。
  6. タスクバー上のサクラエディタのアイコンを右クリックしたのがスクリーンショットです。

image OSは Windows10 1903(OSビルド 18362.418)です。 私の環境が悪いのでしょうか?😢

arigayas avatar Nov 08 '19 14:11 arigayas

確認。

2.解凍したサクラエディタでファイル(hoge.txt)を開きます。

このとき、どうやってファイルを選択していますか?

  1. Windowsエクスプローラーでダブルクリック
  2. Windowsエクスプローラーで右クリックして「SAKURAで開く」
  3. サクラエディタのメニューから「ファイル > 開く」

ジャンプリストにファイルが登録されるのは 3. のルートのみな認識です。 (勘違いかもしれませんが :smile:

berryzplus avatar Nov 08 '19 16:11 berryzplus

  1. の方法で開きましたが登録されませんでした。

arigayas avatar Nov 08 '19 16:11 arigayas

3.の方法で開きましたが登録されませんでした。

軽く調べてみました。どうも1~3の「どれでも登録されるはず」なようです。

ここで登録しとるはずです。 https://github.com/sakura-editor/sakura/blob/3387afee5d3a1dd9ae168282010b08c4312013ed/sakura_core/recent/CMRUFile.cpp#L237 SHAddToRecentDocs の第一引数には変な名前の定数を指定します。 SHARD_PATH はスペルミスじゃないっす! ※おそらく、SH Add to Recent Docs でSHARD。SHAREDの綴りを間違ったわけではなさそう。

とりあえず、ここにブレーク張って試してみましたが、確かに「登録直後」にジャンプリストに表示されるわけではなさそうでした。なんらかの有効化条件があるっぽいです。

berryzplus avatar Nov 09 '19 01:11 berryzplus

1.上記URLからサクラエディタをダウンロードして適当なフォルダに解凍します。

ふと思ったんですが、この機能って「インストールしないと使えない」って縛りがあった気がします。

berryzplus avatar Nov 09 '19 02:11 berryzplus

1.上記URLからサクラエディタをダウンロードして適当なフォルダに解凍します。

ふと思ったんですが、この機能って「インストールしないと使えない」って縛りがあった気がします。

それがビンゴかもしれないですね。

https://docs.microsoft.com/en-us/windows/win32/api/shlobj_core/nf-shlobj_core-shaddtorecentdocs#remarks

A set of requirements must be met for the registration to be accomplished successfully:

  • The application must be registered under HKEY_CLASSES_ROOT\Applications.

と書かれており、自分の環境では追加されている事を確認しました。

image

beru avatar Nov 09 '19 04:11 beru

レジストリのそのパスへの書き込みはインストーラーのソース を見ても存在しないので、どういう理屈か分かりませんでした。

http://nonsubject.arinco.org/p/hkcr-hkcu-hklm.html

このページの説明を見るとなんとなく理解が出来ました。

beru avatar Nov 09 '19 05:11 beru

「インストールしないとジャンプリストは使えません」が現状だとして、じゃあどうするか?を考えないと issue が閉じられない気がするわけで。

  • 諦めてインストールして使う
    • メリット アプリ変更なし
    • デメリット 本質的には何の解決にもなってない :sob:
  • インストールしなくても使えるように拡張する
    • メリット 出先PCとかでの利用に便利かも?
    • デメリット インストールしないということは、当然アンインストールもできない
  • ユーザーモードインストールを導入できないか検討する
    • メリット 出先PCとかでの利用に便利かも?
    • デメリット インストーラー側でガッツリ開発が必要 :cry:

berryzplus avatar Nov 09 '19 14:11 berryzplus

発言の保証はできかねるのですが、インストールしなくてもエクスプローラーの関連付けから呼び出して、設定したexeはそのApplicationsのエントリーに記載されるんだったかと思います。 そして御覧の通り、exe名がエントリー名の一部なので、同じ名前のexeは共存できないというアレな仕様になっております。 過去のバージョンと使い分けてどちらも正常に処理するとかも、うまくいかないはずです。

usagisita avatar Nov 09 '19 15:11 usagisita

ふと思ったんですが、この機能って「インストールしないと使えない」って縛りがあった気がします。

Windows 10 の開発環境を取得して VirtualBox で動くようにインストール?して、 サクラエディタ の開発版(64bit版のインストーラー)をインストールしてみたら、 ジャンプリストが表示されたのでビンゴでした!

可能であれば「インストールしなくてもジャンプリストの機能を使えるようにして欲しいです」

arigayas avatar Nov 09 '19 18:11 arigayas

インストールしなくてもジャンプリストの機能を使えるようになれば、 開発中のzip配布版でジャンプリストを使えるので。

arigayas avatar Nov 09 '19 18:11 arigayas

ふと思ったんですが、この機能って「インストールしないと使えない」って縛りがあった気がします。

Windows 10 の開発環境を取得して VirtualBox で動くようにインストール?して、 サクラエディタ の開発版(64bit版のインストーラー)をインストールしてみたら、 ジャンプリストが表示されたのでビンゴでした!

可能であれば「インストールしなくてもジャンプリストの機能を使えるようにして欲しいです」

確認ありがとうございます。

@usagisita さんの指摘にある通り、サクラエディタには「インストールしなくても既定のプログラムをサクラエディタに変更する機能」が搭載されとります。(タイプ別設定ダイアログ)

こいつは確か、レジストリのユーザー領域にサクラエディタのエントリを追加する仕組みだったはずです。確証はありませんが、「ダブルクリックで開く」にチェックを入れたらジャンプリストが使えるようになるのではないかと思います。

この方法の問題点は「インストールしないからアンインストールできない」ということで、「使えるようになりました!」と言えるためにはこの課題を解決せにゃならんような気がします。

思いつく打開策としては、「サクラエディタの全終了」時にチェック処理を入れて、インストールしてないサクラエディタが書き込んだレジストリがあれば確認するように拡張する、という方法があります。たぶん、これやるとかなりうざいのであんまりオススメしませんけど、出先PCでレジストリを変えたまま「忘れる」というリスクは軽減できると思います。

berryzplus avatar Nov 12 '19 14:11 berryzplus

私も同じ症状になりましたが、かなり苦労し下記で解決できました。

1.[ファイル名を指定して実行]で「%AppData%/Microsoft/Windows/Recent/AutomaticDestinations」を実行 2.「7e65c2c712ae0b81.automaticDestinations-ms」を削除

上記「2.」を削除すると、SAKURAエディッタのJump履歴が全て削除されクリアされてしまいます。 それでも良い方は実行してみてください!

ryousuke2020 avatar Mar 24 '25 07:03 ryousuke2020