如何阻止 macOS 在 Visual Studio Code 中向下移動行時發出鈴聲?

如何阻止 macOS 在 Visual Studio Code 中向下移動行時發出鈴聲?

我使用的是 macOS Mojave (10.14.2) 和 VSCode (1.31.1)。

Control我的問題是,每次我使用+ Command+使用“Move Line Down”命令時Down arrow,我都會聽到表示某種錯誤的鈴聲。但是,當我使用Control+ Command+使用“向上移動”命令時Up arrow,沒有錯誤聲音。

從我記事起,情況就一直如此。我什至檢查了快捷方式以確保沒有其他命令映射到該快捷方式,但我找不到映射到同一快捷方式的任何其他命令。奇怪的是,當我單擊選單中的命令時,沒有錯誤。我覺得這表明了一些事情,但我似乎無法弄清楚是什麼原因造成的。

編輯:剛剛意識到這是一個懸而未決的問題,並且命令正在發出噪音由於它在 Electron 中被阻止

答案1

這似乎是 Chromium(由 Electron 使用,由 VSCode 使用)的問題。這裡有一個解決方法:https://github.com/electron/electron/issues/2617#issuecomment-571447707 為了方便起見,我將其要點複製到此處:

您可以為對應到無操作(「noop」)的組合鍵 ^⌘←、^⌘↓ 和 ^⌘→ 建立系統全域鍵綁定。只需將這些在作業系統層級聲明為有效擊鍵,就可以消除即使 Chromium 應用程式接受並處理按鍵時也會發出的系統蜂鳴聲。

為了建立這一點,您需要建立一個 ~/Library/KeyBindings/DefaultKeyBinding.dict – 請注意,您可能還需要建立該目錄,並且目錄名稱是複數(Bindings),但檔案名稱是單數(綁定)。它應該位於您的使用者 Library 資料夾中,而不是 /Library 資料夾或 /System/Library 資料夾中。

該文件應該是包含以下內容的文字檔案:

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

^ 表示 Ctrl,@ 表示 Command,\UF701、\UF702 和 \UF703 是三個方向鍵的代碼。這裡有一個關於該文件語法的很好的參考要點: 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

相關內容