原文(日本語に翻訳)
デフォルトのコードバインディング(例: "ctrl+x ctrl+k": null)をnullで解除しても、コードウェイトモードに入ってプレフィックスキーが解放されない問題を修正しました。
原文(英語)
Fixed null-unbinding a default chord binding (e.g. "ctrl+x ctrl+k": null) still entering chord-wait mode instead of freeing the prefix key.
概要
コードバインディング(2つのキーシーケンスで構成されるショートカット)を null で無効化した場合、そのプレフィックスキー(例: Ctrl+X)を押すとコードウェイトモードに入ってしまい、次のキー入力を待ち続けるバグが修正されました。null で解除した場合はコードウェイトモードに入らず、プレフィックスキーが通常通りの動作に戻るようになります。
基本的な使い方
コードバインディングを無効化する場合:
json
// keybindings.json
{
"ctrl+x ctrl+k": null
}修正後は、この設定で Ctrl+X Ctrl+K のバインディングが完全に解除され、Ctrl+X もコードウェイトモードに入らなくなります。
実践例
ユースケース: デフォルトバインディングの解除
デフォルトのコードバインディングが使用しているキーシーケンスを他の用途に使いたい場合:
json
// keybindings.json
{
// デフォルトのコードバインディングを解除
"ctrl+x ctrl+k": null,
// Ctrl+X を別の用途で使いたい場合も、
// 修正後はCtrl+Xが通常通り動作するように解放される
}修正前の問題:
Ctrl+X を押す → コードウェイトモードに入る(次のキー入力を待つ)
→ Escape を押さないとコードウェイトモードから抜けられない
修正後の動作:
"ctrl+x ctrl+k": null で解除後は
Ctrl+X を押す → 通常の動作(コードウェイトモードに入らない)ユースケース: カスタムキーバインディングの設定
json
// keybindings.json
{
// まず既存のコードバインディングを解除
"ctrl+x ctrl+k": null,
"ctrl+x ctrl+c": null,
// 新しいバインディングを設定
"ctrl+k": "action.clearHistory",
"ctrl+x": "action.submitMessage"
}注意点
- コードバインディングは2つ以上のキーシーケンスを組み合わせたショートカットです(例:
Ctrl+Xに続けてCtrl+K) - プレフィックスキー(最初のキー)に他のコードバインディングがまだ残っている場合は、引き続きコードウェイトモードに入ります
nullで解除した場合の動作は、最初からバインディングが存在しない場合と同等になります