Visual Studio Code で行を下に移動するときに macOS がベル音を鳴らさないようにするにはどうすればよいですか?

Visual Studio Code で行を下に移動するときに macOS がベル音を鳴らさないようにするにはどうすればよいですか?

macOS Mojave (10.14.2) と VSCode (1.31.1) を使用しています。

Control私の問題は、 + Command+を使用して「行を下に移動」コマンドを使用するたびに、何らかのエラーを示すベル音が鳴ることです。ただし、 + +Down arrowを使用して「行を上に移動」コマンドを使用すると、エラー音は鳴りません。ControlCommandUp arrow

覚えている限りずっとこの状態です。ショートカットをチェックして、他にこのショートカットにマッピングされているものがないことを確認しましたが、同じショートカットにマッピングされている他のコマンドは見つかりませんでした。奇妙なことに、メニューからコマンドをクリックしてもエラーは発生しません。これは何かを示しているような気がしますが、原因がわかりません。

編集: これは未解決の問題であり、コマンドがノイズを発していることに気づきましたElectronでブロックされているため

答え1

これは Chromium (Electron で使用、VSCode で使用) の問題のようです。回避策は次のとおりです。https://github.com/electron/electron/issues/2617#issuecomment-571447707 便宜上、要点をここにコピーします。

操作なし ("noop") にマップされるキーの組み合わせ ^⌘←、^⌘↓、^⌘→ に対して、システム グローバル キー バインディングを設定できます。これらを OS レベルで有効なキーストロークとして宣言するだけで、Chromium アプリがキーストロークを受け入れて処理する場合でも発生するシステム ビープ音がなくなります。

これを確立するには、~/Library/KeyBindings/DefaultKeyBinding.dict を作成する必要があります。ディレクトリも作成する必要がある可能性があり、ディレクトリ名は複数形 (Bindings) ですが、ファイル名は単数形 (Binding) であることに注意してください。これは、/Library フォルダや /System/Library フォルダではなく、ユーザーの Library フォルダにある必要があります。

ファイルは次の内容を含むテキスト ファイルである必要があります。

{
  "^@\UF701" = "noop";
  "^@\UF702" = "noop";
  "^@\UF703" = "noop";
}

^ は Ctrl、@ は Command を意味し、\UF701、\UF702、\UF703 は 3 つの矢印キーのコードです。このファイルの構文については、次の Gist が参考になります。 https://gist.github.com/trusktr/1e5e516df4e8032cbc3d皆さんにとってわかりやすいように、ファイルのコピーを添付しました。

また、ファイルを追加した後は、VSCode を再起動することを忘れないでください。変更を有効にするには、再起動する必要があります。

答え2

すでに提供されているソリューションに基づいて、Sonoma 14.4以降で動作するようにいくつかの変更を加える必要がありました。

https://github.com/electron/electron/issues/2617#issuecomment-1988768016

{
    "@^\UF701" = "noop:";
    "@^\UF702" = "noop:";
    "@^\UF703" = "noop:";
    "@~^\UF701" = "noop:";
}

:基本的に、の末尾にを追加し、 + + + DownArrownoopの順序を逆にする必要がありました。CtrlOptionCmd

関連情報