홈으로 돌아가기

Cmd+, VS Code 러시아 레이아웃 macOS 수정

이 기사는 러시아 레이아웃 macOS에서 VS Code의 Cmd+, 및 기타 단축키가 작동하지 않는 이유를 설명합니다. keybindings.json의 스캔 코드 바인딩으로 수정 방법을 제공합니다. 추가로 외부 브라우저에서 포트 열기 설정.

러시아 레이아웃에서 VS Code의 Cmd+, 문제 해결책
Advertisement 728x90

macOS에서 러시아어 키보드 레이아웃 시 VS Code 단축키 문제 해결: Cmd+, 등 비영문 키 호환 방법

macOS에서는 거의 모든 네이티브 앱(Safari, Finder, Chrome 등)에서 Cmd+, 단축키가 설정 화면을 열어줍니다. 그러나 VS Code에서는 러시아어 키보드 레이아웃이 활성화된 상태에서 이 단축키가 작동하지 않습니다. 그 이유는? VS Code가 단축키를 문자 기준으로 처리하기 때문입니다—물리적 키 위치가 아닙니다. 러시아어 레이아웃에서는 쉼표(,) 키가 ‘B’ 문자를 출력하므로, VS Code는 실제로 ‘Cmd+B’를 찾아 명령을 실행하려 시도합니다. 당연히 매칭되는 명령은 없습니다.

VS Code를 포함한 Electron 기반 앱들은 단축키를 문자에 바인딩하지만, 네이티브 macOS 앱은 스캔 코드(즉, 물리적 키 위치)에 바인딩합니다.

문제 진단: 가설에서 근본 원인까지

포커스 상태 확인, 다른 단축키 테스트(Cmd+Shift+P은 정상 작동), 시스템 충돌, 확장 프로그램, 백그라운드 프로세스 배제 등 다양한 문제 해결 절차를 거쳤지만 별다른 원인은 발견되지 않았습니다. 핵심 진단 단계는 VS Code의 키보드 단축키 설정에서 제공하는 키 기록 모드입니다. 이 모드에서는 ‘cmd+[Comma]’가 정확히 인식되지만, 아무 명령도 실행되지 않습니다.

Google AdInline article slot

영문 키보드 레이아웃으로 전환해 보니 문제가 사라졌습니다. 결론적으로, 이 문제는 영문이 아닌 레이아웃에서 비알파벳 키(특수문자 키)가 어떻게 매핑되는지에 있습니다.

keybindings.json을 통한 해결법

~/Library/Application Support/Code/User/keybindings.json 파일을 생성하거나 편집한 후, 물리적 키 이름을 사용해 다음 바인딩을 추가하세요:

[
  { "key": "cmd+[Comma]", "command": "workbench.action.openSettings" }
]

대괄호 [Comma]는 VS Code에게 문자 출력이 아니라 실제 키 위치에 바인딩하라고 지시합니다. 이 방식은 모든 키보드 레이아웃에서 안정적으로 작동합니다.

Google AdInline article slot

비알파벳 단축키 전체 해결 패키지

이 문제는 라틴계가 아닌 키보드 레이아웃에서 모든 Cmd+기호 단축키에 영향을 줍니다. 아래는 권장되는 keybindings.json 전체 구성입니다:

[
  { "key": "cmd+[Comma]", "command": "workbench.action.openSettings" },
  { "key": "cmd+[Period]", "command": "editor.action.quickFix", "when": "editorHasCodeActionsProvider && editorTextFocus" },
  { "key": "cmd+[Slash]", "command": "editor.action.commentLine", "when": "editorTextFocus" },
  { "key": "cmd+[BracketLeft]", "command": "editor.action.outdentLines", "when": "editorTextFocus" },
  { "key": "cmd+[BracketRight]", "command": "editor.action.indentLines", "when": "editorTextFocus" },
  { "key": "cmd+[Backslash]", "command": "workbench.action.splitEditor" }
]
  • Cmd+. — 빠른 수정(Quick Fix) 실행
  • Cmd+/ — 선택된 줄 주석 토글
  • Cmd+] — 선택된 줄 들여쓰기(‘[BracketRight]’ 사용)
  • Cmd+\ — 에디터 분할

보너스: 터미널 포트 링크를 기본 브라우저에서 열기

로컬 개발 서버 등 포워딩된 포트를 VS Code 내장 간단 브라우저가 아니라 사용자의 기본 외부 브라우저에서 열도록 강제하려면, remote.forwardedPorts.openBrowserKind 설정을 조정하세요.

settings.json에 다음을 추가하세요:

Google AdInline article slot
"remote.forwardedPorts.openBrowserKind": "external"

핵심 요약

  • VS Code는 단축키를 문자 기준으로 바인딩하고, macOS는 스캔 코드(물리적 키 위치) 기준으로 바인딩합니다.
  • keybindings.json에서 cmd+[Comma]처럼 대괄호로 감싸면 레이아웃 전환 없이도 모든 언어 레이아웃에서 동일하게 작동합니다.
  • 이 문제는 Electron 기반 앱 전반에 걸쳐 발생하며, /, ., [, ], \, , 등 모든 비알파벳 키에 적용됩니다.
  • 키보드 단축키 설정의 키 기록 모드는 실제 스캔 코드를 표시하므로, 바인딩 검증에 유용합니다.
  • 포트 포워딩 관련 설정(remote.*)은 원격 환경뿐 아니라 로컬 개발 서버에도 그대로 적용됩니다.

— Editorial Team

Advertisement 728x90

다음 읽기