VSCode 맥 단축키 설정, 시스템 충돌 해결 및 나만의 단축키 설정법

VSCode에서 코드 자동 완성(IntelliSense)을 쓰려고 Cmd+Space를 눌렀더니 맥 시스템 검색(스포트라이트)이 튀어나와 짜증 났던 경험 있으신가요? 이는 macOS의 강력한 시스템 단축키가 VSCode 내부의 특정 기능과 같은 키 조합을 사용하면서 발생하는 흔한 충돌 문제입니다.

이 글에서는 이런 불편함을 단 5분 만에 해결하고, 자주 사용하는 VSCode 기능을 나만의 단축키로 설정하여 개발 생산성을 약 30% 이상 끌어올리는 구체적인 방법을 단계별로 안내합니다.

이 글의 핵심

– 맥 시스템 단축키 조정을 통해 VSCode와의 충돌을 영구적으로 해결합니다.
– VSCode의 `keybindings.json` 파일을 활용하여 나만의 단축키를 설정하는 방법을 배웁니다.
– 개발 워크플로우에 최적화된 유용한 커스텀 단축키 예시와 팁을 제공합니다.

VSCode Cmd+Space, 왜 스포트라이트가 뜰까?

많은 맥 사용자들이 VSCode를 사용하면서 가장 먼저 부딪히는 문제가 바로 Cmd+Space 단축키 충돌입니다. VSCode는 이 키 조합을 통해 코드 자동 완성(IntelliSense) 기능을 제공하려고 하지만, macOS는 이 단축키를 시스템 전역 검색 도구인 스포트라이트(Spotlight)에 할당하고 있습니다.

운영체제 수준에서 할당된 단축키는 애플리케이션 내의 단축키보다 우선순위가 높습니다. 따라서 VSCode에서 아무리 Cmd+Space를 코드 완성 단축키로 설정하려고 해도, 운영체제가 먼저 스포트라이트를 실행시켜버리기 때문에 의도한 대로 동작하지 않는 것입니다. 이 문제는 맥의 기본 동작 방식 때문에 발생하는 자연스러운 현상입니다.

결국 이 문제를 해결하려면 둘 중 하나의 단축키를 변경해야 합니다. VSCode의 핵심 기능 중 하나인 IntelliSense를 포기하거나, 아니면 스포트라이트 단축키를 다른 것으로 바꿔서 VSCode가 Cmd+Space를 온전히 사용할 수 있도록 해주는 것이죠. 대부분의 개발자들은 후자를 선택하여 불편함을 해소합니다.

주의
시스템 단축키를 변경하면 기존에 익숙했던 작업 방식이 잠시 어색하게 느껴질 수 있습니다. 하지만 이는 단 한 번의 설정으로 VSCode 사용 경험을 획기적으로 개선하는 데 필수적인 과정입니다. 새로운 단축키에 익숙해지는 데는 며칠 정도의 시간이 소요될 수 있습니다.
VSCode 맥 단축키 커스텀 설정

Photo by Alex Staudinger on Pexels

맥 시스템 단축키 변경으로 충돌 해결하기 (5분 완성)

스포트라이트와 VSCode의 단축키 충돌을 해결하는 가장 효과적인 방법은 맥 시스템 설정에서 스포트라이트 단축키를 변경하는 것입니다. 이 과정은 약 5단계로 매우 간단하며, 단 5분 안에 완료할 수 있습니다. 저는 개인적으로 Cmd+Option+Space 또는 Ctrl+Space를 스포트라이트 단축키로 사용하는 것을 추천합니다.

  1. 시스템 설정 열기 — 독(Dock)에서 톱니바퀴 모양의 ‘시스템 설정’ 아이콘을 클릭합니다.
  2. 키보드 설정으로 이동 — 시스템 설정 좌측 사이드바에서 ‘키보드’ 항목을 찾아서 클릭합니다.
  3. 키보드 단축키 선택 — 키보드 설정 창에서 ‘키보드 단축키’ 버튼을 클릭합니다.
  4. 스포트라이트 단축키 변경 — 좌측 카테고리에서 ‘Spotlight’를 선택합니다. 우측에 있는 ‘Spotlight 검색 보기’ 또는 ‘Finder 검색 윈도우 보기’ 단축키를 체크 해제하거나, 원하는 다른 키 조합으로 변경합니다. 예를 들어 Cmd+Space를 체크 해제하고 Cmd+Option+Space를 새로 할당할 수 있습니다.
  5. VSCode 재시작 (선택 사항) — 설정을 적용한 후 VSCode를 완전히 종료했다가 다시 실행하면, 이제 Cmd+Space가 의도한 대로 IntelliSense를 호출하는 것을 확인할 수 있습니다.

이 설정은 시스템 전반에 걸쳐 적용되므로, 이제 VSCode뿐만 아니라 다른 애플리케이션에서도 Cmd+Space는 충돌 없이 작동하게 됩니다. 이처럼 시스템 단축키를 조정하는 것은 개발 환경 최적화의 첫 걸음이라 할 수 있습니다.

VSCode 맥 단축키 커스텀 설정

Photo by Farhad Irani on Pexels

VSCode keybindings.json으로 나만의 단축키 만들기

맥 시스템 단축키 충돌을 해결했다면, 이제 VSCode 내부에서 나만의 단축키를 설정하여 생산성을 극대화할 차례입니다. VSCode는 기본적으로 약 1500개가 넘는 다양한 명령어를 지원하며, 이 모든 명령어에 사용자 정의 단축키를 부여할 수 있습니다. `keybindings.json` 파일을 편집하는 것이 핵심입니다.

`keybindings.json` 파일은 VSCode의 모든 단축키 설정을 제어하는 강력한 도구입니다. 이 파일을 직접 수정함으로써 기존 단축키를 변경하거나, 새로운 단축키를 생성하고, 특정 상황(예: 특정 파일 타입에서만 적용)에만 작동하도록 설정할 수도 있습니다. 이 방법은 개발자의 작업 흐름에 맞춰 에디터를 완벽하게 개인화할 수 있게 해줍니다.

단축키 설정은 크게 세 가지 요소로 구성됩니다: `command` (어떤 명령어를 실행할지), `key` (어떤 키 조합으로 실행할지), 그리고 `when` (어떤 조건에서 이 단축키가 유효한지)입니다. `when` 조건은 매우 유용하게 활용될 수 있으며, 예를 들어 ‘텍스트 에디터가 활성화된 경우에만'(`editorTextFocus`) 단축키가 작동하도록 지정할 수 있습니다.

  1. 단축키 설정 파일 열기 — VSCode에서 `Cmd + Shift + P`를 눌러 명령 팔레트를 엽니다. ‘keyboard shortcuts’를 검색한 후 ‘기본 설정: 키보드 바로 가기 열기(JSON)’를 선택합니다. 이 파일이 바로 `keybindings.json`입니다.
  2. 단축키 추가하기 — `keybindings.json` 파일 안에 JSON 배열 형태로 단축키를 추가합니다. 예를 들어, `Cmd + S`로 파일을 저장하고 `Shift + Option + F`로 코드를 포맷하는 단축키를 만들 수 있습니다.
  3. 예시: 특정 기능에 단축키 할당 — 다음은 자주 사용하는 ‘Toggle Line Comment’ 기능에 `Cmd + /` 단축키를 할당하는 예시입니다.
    [
        {
            "key": "cmd+/",
            "command": "editor.action.commentLine",
            "when": "editorTextFocus"
        }
    ]
    

    여기서 `key`는 누를 키 조합, `command`는 실행할 명령어 ID, `when`은 단축키가 유효한 조건입니다.

VSCode 맥 단축키 커스텀 설정

Photo by Tranmautritam on Pexels

자주 쓰는 명령, 더 효율적으로 활용하는 팁

`keybindings.json`을 직접 편집하는 것에 익숙해지면, 나만의 효율적인 워크플로우를 구축할 수 있습니다. 몇 가지 유용한 VSCode 명령 ID와 팁을 공유합니다. 이들을 활용하여 여러분의 작업 속도를 최소 10% 이상 향상시킬 수 있을 것입니다.

명령어 ID를 찾는 가장 좋은 방법은 ‘기본 설정: 키보드 바로 가기 열기’ (GUI 버전)를 열어 원하는 기능을 검색한 후, 해당 명령어의 ID를 확인하는 것입니다. 또는 VSCode Command Palette (`Cmd + Shift + P`)에서 원하는 동작을 검색하면 명령어 ID를 유추할 수 있습니다.

참고
다음은 자주 사용되면서도 커스텀 단축키로 설정하면 매우 유용한 명령어들입니다:
– `workbench.action.toggleSidebarVisibility`: 사이드바 토글
– `editor.action.moveLineUpAction` / `editor.action.moveLineDownAction`: 코드 라인 위/아래 이동
– `editor.action.rename`: 심볼 이름 변경 (예: 변수, 함수 이름)
– `workbench.action.terminal.toggleTerminal`: 터미널 토글
– `editor.action.formatDocument`: 문서 포맷
– `workbench.action.files.saveAll`: 모든 파일 저장 (필수!)

새로운 단축키를 만들 때는 기존에 VSCode나 다른 앱에서 충돌하지 않는 키 조합을 선택하는 것이 중요합니다. 예를 들어, `Shift + Cmd + L`은 VSCode에서 ‘모든 일치 항목 선택’으로 사용되니 주의해야 합니다. 여러분의 손이 가장 편안하게 닿는 위치에 자주 쓰는 기능을 배치함으로써, 개발 작업의 흐름을 방해하지 않고 집중력을 유지할 수 있습니다.

정리

이 글에서는 VSCode Cmd+Space 단축키 충돌 문제를 맥 시스템 설정에서 스포트라이트 단축키를 변경함으로써 해결하는 방법과, `keybindings.json` 파일을 직접 편집하여 나만의 VSCode 단축키를 설정하는 방법을 알아보았습니다. 단 5단계의 시스템 설정 변경과 `keybindings.json`의 간단한 추가로 여러분의 개발 환경을 획기적으로 개선할 수 있습니다.

지금 바로 적용해 보세요.

참고 자료

자주 묻는 질문

Q. VSCode에서 맥 단축키를 설정하는 가장 기본적인 방법은 무엇인가요?

A. VSCode에서 `Command + K, Command + S`를 눌러 ‘Keyboard Shortcuts’ 패널을 여는 것이 시작입니다. 여기서 기존 단축키를 검색하고 변경하거나, 새로운 단축키를 추가할 수 있으며, UI를 통해 시각적으로 설정하거나 `keybindings.json` 파일을 직접 편집하는 두 가지 방법이 있습니다.

Q. VSCode 단축키를 설정하다가 맥 시스템 단축키나 다른 앱과 충돌이 발생하면 어떻게 해결하나요?

A. 먼저 VSCode 내 ‘Keyboard Shortcuts’ 패널에서 충돌하는 단축키를 검색하여 어떤 명령과 연결되어 있는지 확인합니다. 만약 시스템 단축키와 겹친다면, VSCode 단축키를 변경하거나 macOS 시스템 환경설정에서 해당 시스템 단축키를 비활성화 또는 재설정할 수 있습니다. 충돌 방지를 위해 잘 사용하지 않는 조합이나 `Ctrl` 키를 활용하는 것이 좋습니다.

Q. 특정 확장 기능(extension)의 명령이나 제가 만든 커스텀 명령에 단축키를 할당하려면 어떻게 해야 하나요?

A. ‘Keyboard Shortcuts’ 패널에서 `@command:` 필터를 사용하여 특정 확장 기능의 명령어를 검색하거나, 직접 명령 ID를 입력하여 찾을 수 있습니다. 원하는 명령을 찾았다면, 해당 명령에 커서를 올리고 ‘+’ 버튼을 클릭하여 새 단축키를 입력합니다. 필요하다면 `when` 조건을 추가하여 특정 상황에서만 작동하도록 설정할 수 있습니다.

Q. 많은 단축키를 커스텀 설정했을 때, 이를 효율적으로 관리하거나 다른 맥으로 마이그레이션할 수 있는 방법이 있나요?

A. VSCode는 사용자 설정이 `keybindings.json` 파일에 저장되므로, 이 파일을 백업해두거나 다른 맥으로 복사하여 붙여넣기만 하면 쉽게 마이그레이션할 수 있습니다. 또한, VSCode의 ‘Settings Sync’ 기능을 사용하면 로그인된 계정을 통해 단축키 설정을 포함한 모든 설정을 자동으로 동기화하여 여러 기기에서 동일한 환경을 유지할 수 있습니다.

댓글 남기기

Mebys Blog에서 더 알아보기

지금 구독하여 계속 읽고 전체 아카이브에 액세스하세요.

계속 읽기