Como impedir que o macOS emita um sinal sonoro ao mover a linha para baixo no Visual Studio Code?

Como impedir que o macOS emita um sinal sonoro ao mover a linha para baixo no Visual Studio Code?

Estou usando macOS Mojave (10.14.2) e VSCode (1.31.1).

Meu problema é que toda vez que uso o comando "Mover linha para baixo" usando Control+ Command+ Down arrow, recebo o som da campainha que indica algum tipo de erro. No entanto, quando uso o comando "Move Line Up" usando Control+ Command+ Up arrow, não há som de erro.

Tem sido assim desde que me lembro. Até verifiquei os atalhos para ter certeza de que nada mais estava mapeado para esse atalho, mas não consegui encontrar nenhum outro comando mapeado para o mesmo atalho. O estranho é que quando clico no comando do menu não há erro. Sinto que isso aponta para algo, mas não consigo descobrir o que está causando isso.

EDITAR: Acabei de perceber que este é um problema em aberto e o comando está fazendo barulhodevido a estar bloqueado no Electron.

Responder1

Este parece ser um problema com o Chromium (usado pelo Electron, usado pelo VSCode). Há uma solução alternativa aqui:https://github.com/electron/electron/issues/2617#issuecomment-571447707 Vou copiar a essência aqui por conveniência:

Você pode estabelecer associações de teclas globais do sistema para as combinações de teclas ^⌘←, ^⌘↓ e ^⌘→ que são mapeadas para nenhuma operação ("noop"). Simplesmente tê-los declarados como pressionamentos de tecla válidos no nível do sistema operacional elimina o bipe do sistema que ocorre mesmo quando um aplicativo Chromium aceita e processa o pressionamento de tecla.

Para estabelecer isso, você precisa criar um ~/Library/KeyBindings/DefaultKeyBinding.dict – observe que provavelmente você também precisará criar o diretório e que o nome do diretório é plural (Bindings), mas o nome do arquivo é singular (ligação). Isso deve estar na pasta Biblioteca do usuário, não na pasta /Library ou na pasta /System/Library.

O arquivo deve ser um arquivo de texto com este conteúdo:

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

^ significa Ctrl, @ significa Command e \UF701, \UF702 e \UF703 são os códigos para as três teclas de seta. Há uma boa referência Gist para a sintaxe deste arquivo aqui: https://gist.github.com/trusktr/1e5e516df4e8032cbc3dAnexei uma cópia do meu arquivo caso seja mais fácil para as pessoas.

Além disso: não se esqueça de reiniciar o VSCode após adicionar esse arquivo! Você precisa reiniciar para que as alterações tenham efeito.

Responder2

Com base nas soluções já fornecidas precisei fazer algumas alterações para que funcionasse no Sonoma 14.4+

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

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

Basicamente eu precisava adicionar o :no final noope inverter a ordem do Ctrl+ Option+ Cmd+ DownArrow

informação relacionada