Я использую macOS Mojave (10.14.2) и VSCode (1.31.1).
Моя проблема в том, что каждый раз, когда я использую команду "Move Line Down" с помощью Control+ Command+ Down arrow, я получаю звук колокольчика, который означает какую-то ошибку. Однако, когда я использую команду "Move Line Up" с помощью 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), но имя файла будет в единственном числе (Binding). Он должен быть в вашей пользовательской папке Library, а не в папке /Library или /System/Library.
Файл должен быть текстовым файлом со следующим содержимым:
{ "^@\UF701" = "noop"; "^@\UF702" = "noop"; "^@\UF703" = "noop"; }
^ означает Ctrl, @ означает Command, а \UF701, \UF702 и \UF703 — это коды трех клавиш со стрелками. Вот хорошая справочная информация 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:";
}
По сути мне нужно было добавить :
в конец noop
и поменять порядок для Ctrl+ Option+ Cmd+ DownArrow