Closed rhorii closed 12 months ago
これですが、以前は必ず Esc を発行していました。ところが、Esc を発行すると問題となる状況が発生して、次の commit で esc のパラメータを追加していました。
この時の対策漏れと思います。 状況を確認し、必要であれば pull-request を取込みますので、今しばらくお待ちください。
以上、よろしくお願いします。
こちらの環境で現象が再現しないので、一点確認をお願いします。
Keyhac のメニューから「フックOFF」を選択した後に C-@ を入力した場合、ターミナルは正常に利用可能となるでしょうか?
ご対応ありがとうございます。 「フックOFF」に設定した場合は、ターミナルは正常に利用可能になりました。
F1 でコマンドパレットを表示して、「Terminal: Focus on Terminal View」を選択して実行した場合はどうなるでしょうか?
「Terminal: Focus on Terminal View」コマンドは見つかりませんでした。 近しい「View: Focus on Terminal View」コマンドを実行した場合は、ターミナルは正常に利用可能になりました。
もう一つ、確認をお願いします。 vscode 拡張機能の config.py の 435行目に、次の行があると思います。
vscodeExecuteCommand2("terminal.focus")()
この関数名から 2 と取って vscodeExecuteCommand とし、Keyhac をリロードした後にどうなるか、確認していただけますか?
上記の確認をするときは、esc パラメータは削除するか、False にしてお願いします。
なぜか「View: Focus on Terminal View」コマンドを実行後は問題が再現しないようになりました。 「Clear Command History」コマンドでコマンド履歴を削除すると再現するようになります。
再現する状態でvscodeExecuteCommand
関数に変更して試しましたが、vscodeExecuteCommand2
関数と同様に読み取り専用でターミナルが表示されます。
コマンドパレットで command id として terminal.focus を入力した際、「Terminal: Focus on Terminal View」ではなく、「Terminal: Fucus Terminal」が検索され、それが実行されることによって発生している問題の様に思います。 一度、「Terminal: Focus on Terminal View」を指定すると、それが上位に検索されるようになり、問題が発生しなくなるのだと思います。コマンドの検索方法を変える検討をしたいと思います。
なお、コマンドの開始が「Terminal:」ではなく「View:」となっている理由はまだ分かっておりません。 またこの辺りは、Japanese Language Pack の有り無しでも変わるところなので、面倒なところでもあります。
実行されているのは、「Terminal: Fucus Terminal」ではなく、「Terminal: Focus Accessible Buffer」というコマンドでした。これをコマンドパレットから実行すると、現象が再現します。
あとは、対策ですが..、まだ良い方法が見つかっていません。Japanese Language Pack の有り無しでコマンド名が変わるところがネックとなっています。
ターミナルにフォーカスするためのコマンドを変えることで対策してみました。
確認をお願いします。
ご対応ありがとうございます。 Japanese Language Pack有り無しどちらも問題ありませんでした。
なお、コマンドの開始が「Terminal:」ではなく「View:」となっている理由はまだ分かっておりません。
プロファイルを新規作成したところ「Terminal: Focus on Terminal View」が見つかったので、なにかキャッシュ的なデータが残っているのかもしれません。
旧プロファイル
新プロファイル
確認ありがとうございます。原因が解明された対策となって良かったです。
ということで、本件クローズとさせていただきます。報告ありがとうございました。
VSCode用キー設定を有効化、
fc.use_direct_input_in_vscode_terminal = True
に設定して利用させてもらっています。いつのタイミングからか不明ですが、
C-@
を入力しパネル内ターミナルを表示すると読み取りになってしまうようになりました。Esc
を入力すると読み取り専用から脱出できるので、Esc
を発行するフラグを立てました。C-@
入力時のKeyhacログ環境
Windows: 11 Pro バージョン 22H2 (OSビルド 22621.2134) Keyhac: 1.82 Fakeymacs: 20230907_03 VSCode: 1.82.2