Visual Studio Code에서 줄을 아래로 이동할 때 macOS가 종소리를 내지 못하게 하는 방법은 무엇입니까?

Visual Studio Code에서 줄을 아래로 이동할 때 macOS가 종소리를 내지 못하게 하는 방법은 무엇입니까?

저는 macOS Mojave(10.14.2) 및 VSCode(1.31.1)를 사용하고 있습니다.

Control내 문제는 + Command+ 를 사용하여 "라인 아래로 이동" 명령을 사용할 때마다 Down arrow일종의 오류를 나타내는 벨 소리가 난다는 것입니다. 그런데 Control+ Command+ 를 사용하여 "줄 위로 이동" 명령을 실행하면 Up arrow오류음이 들리지 않습니다.

내가 기억할 수 있는 한 이랬어요. 이 바로가기에 매핑되는 다른 명령이 없는지 확인하기 위해 바로가기도 확인했지만 동일한 바로가기에 매핑된 다른 명령은 찾을 수 없었습니다. 이상한 점은 메뉴에서 명령을 클릭해도 오류가 없다는 것입니다. 이것이 뭔가를 가리키는 것 같지만 무엇이 원인인지 알 수 없는 것 같습니다.

편집하다: 이것이 공개된 문제이고 명령에서 소음이 발생한다는 것을 방금 깨달았습니다.Electron에서 차단되었기 때문에.

답변1

이는 Chromium(Electron에서 사용, VSCode에서 사용)의 문제인 것 같습니다. 여기에 해결 방법이 있습니다.https://github.com/electron/electron/issues/2617#issuecomment-571447707 편의상 여기에 요점을 복사하겠습니다.

작업 없음("noop")에 매핑된 ^⌘←, ^⌘↓ 및 ^⌘→ 키 조합에 대해 시스템 전역 키 바인딩을 설정할 수 있습니다. 이를 OS 수준에서 유효한 키 입력으로 선언하면 Chromium 앱이 키 입력을 수락하고 처리할 때에도 발생하는 시스템 경고음이 제거됩니다.

이를 설정하려면 ~/Library/KeyBindings/DefaultKeyBinding.dict를 생성해야 합니다. 디렉터리도 생성해야 하며 디렉터리 이름은 복수형(Bindings)이지만 파일 이름은 단수입니다 (바인딩). 이는 /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:";
}

:기본적으로 끝에 추가하고 + + + DownArrow noop의 순서를 반전시켜야 했습니다.CtrlOptionCmd

관련 정보