VSCode 단축키 커스텀 설정, 파일별로 다르게 지정

VSCode 단축키 커스텀 설정 방법을 단계별로 정리했습니다. keybindings.json 파일 열기부터 원하는 명령에 맞춤 키 지정, 파일별·편집별 적용까지 실전 예시와 함께 쉽게 따라 할 수 있는 가이드입니다. 지금 바로 생산성을 높여 보세요!

VSCode 단축키 커스텀 설정을 통해 특정 파일에서만 편집기 확대 배율을 다르게 적용하고 싶었던 경험, 전체 화면이 확대되어 당황스러웠던 적이 있으신가요? 기본 설정이 전역으로 적용되는 탓에 코드를 작성할 때마다 배율을 조절해야 하는 불편함은 개발 생산성을 저해하는 주된 요인입니다. 이 글에서는 파일 유형별로 확대 비율과 단축키를 분리하여 관리하는 방법과 VSCode 단축키 커스텀 설정의 핵심 원리를 심층적으로 분석합니다. 현대 개발 환경에서는 하나의 프로젝트 내에서도 마크다운 문서, JSON 설정 파일, 그리고 Python이나 JavaScript와 같은 소스 코드를 오가며 작업하는 경우가 빈번합니다. 이때 문서 작성을 위해 확대를 했다가 다시 코드로 돌아와야 할 때마다 축소를 반복하는 행위는 단순한 불편함을 넘어 '맥락 전환(Context Switching)' 비용을 증가시켜 집중력을 깨뜨리는 주범입니다. 따라서 에디터가 파일의 속성을 스스로 인식하여 최적화된 뷰를 제공하도록 시스템을 설계하는 것은 필수적입니다.

함께 보면 좋은 글: Slack Webhook 설정이 안 될 때—자동화 활용

이 문제가 발생하는 근본적인 원인은 VSCode의 기본 설정 구조가 사용자의 환경 전체(User Settings)에 우선순위를 두기 때문입니다. 사용자가 확대 명령을 내리면 에디터는 현재 활성화된 파일의 속성과 관계없이 윈도우 레벨에서 줌 처리를 수행하여, 다른 탭으로 전환해도 변경된 배율이 유지됩니다. 즉, window.zoomLevel은 에디터 창 자체의 속성이지 특정 문서의 속성이 아닌 것입니다. 이러한 구조는 일반적인 텍스트 편집기에서는 직관적일 수 있으나, 다양한 언어와 형식을 다뤄야 하는 개발자에게는 융통성 없는 제약으로 작용합니다. 결과적으로 사용자는 시스템의 기본 동작 방식을 이해하고, 이를 우회하여 자신만의 작업 흐름에 맞는 설정을 직접 정의해야 합니다.

이 글은 단순한 단축키 변경을 넘어, JSON 설정 파일을 직접 제어하여 파일 확장자나 언어 모드에 따라 에디터의 행동을 완전히 분리하는 VSCode 단축키 커스텀 설정의 고급 기법을 제공합니다. settings.json의 언어별 스코프 설정부터 keybindings.jsonwhen 절 활용법까지, 실무에서 바로 적용할 수 있는 구체적인 솔루션을 다룹니다. 특히 확장 프로그램(Extension)에 의존하지 않고 VSCode의 기본 기능만으로 구현 가능한 가볍고 강력한 방법들을 소개하여, 에디터의 성능 저하 없이 꼬리에 꼬리를 무는 설정을 연쇄적으로 적용하는 방법을 안내합니다.

이 글의 핵심

- VSCode 기본 설정 JSON을 활용한 언어별(파일별) 글꼴 크기 및 줌 레벨 자동 분리 방법
- keybindings.jsonwhen 절을 사용한 상황 인식형 단축키 커스터마이징 기술
- 확장 프로그램 설치 없이 기본 기능만으로 구현 가능한 고급 설정 패턴 3가지

한 줄 답변

VSCode에서 파일 유형별로 단축키를 개별 설정하면 작업 효율이 크게 상승하고, 프로젝트마다 맞춤형 키맵을 손쉽게 관리할 수 있다.

5분
설정 시간
3단계
설정 절차
10개
맞춤 단축키
2026년 07월 11일· 9분 읽기· Mebys Blog

VSCode 단축키 커스텀 설정의 원리와 전역 설정의 한계

VSCode의 설정 시스템은 계층적 구조를 가지고 있어, 기본값(Default), 사용자 설정(User), 원격 설정(Remote), 작업공간 설정(Workspace) 순으로 우선순위가 적용됩니다. 대부분의 사용자는 Cmd+,(macOS) 또는 Ctrl+,(Windows)를 통해 열리는 UI 설정 화면에서 변경을 수행합니다. 이 과정에서 window.zoomLevel 값이 변경되면, 이는 사용자 설정 영역에 저장되어 에디터 내의 모든 파일에 동일하게 적용됩니다. 사용자 입장에서는 가장 직관적인 접근법이지만, 이는 모든 파일에 동일한 배율을 강요하는 결과를 낳습니다. VSCode의 내부 동작 원리를 이해하면, 단순히 '배율'이 아니라 '에디터 창의 크기'를 조절하는 것이기 때문에 특정 탭에만 국한되기 어렵다는 점을 알 수 있습니다.

문제는 코드를 분석하는 로그 파일이나 설정 파일(JSON)은 작은 글자로 많은 내용을 확인해야 하지만, 프레젠테이션용 마크다운이나 문서는 큰 글자로 가독성을 높여야 한다는 점입니다. 전역 설정만으로는 이러한 맥락(Context)에 따른 유연한 대처가 불가능합니다. 실제로 사용자들은 특정 단축키가 먹히지 않거나 설정이 의도치 않게 덮어씌워지는 현상을 겪곤 합니다. 실제 사용자는 Visual Studio Code를 사용하며 Ctrl + / 키가 작동하지 않아 다른 설정과의 충돌 가능성을 의심한 바 있습니다 (clien.net). 이처럼 전역 단축키와 설정은 작업 중인 파일의 특성을 고려하지 않기 때문에, 세밀한 작업이 필요한 순간에 방해 요소로 전락하기도 합니다. 다양한 파일 유형을 동시에 다뤄야 하는 개발자에게 '하나의 설정'은 곧 '모든 것에 부적절한 설정'이 될 수 있습니다.

이러한 한계를 극복하려면 UI가 아닌 설정 파일의 내부를 직접 조작해야 합니다. VSCode는 단일 JSON 파일이 아니라, 언어 식별자(Language ID)를 기반으로 설정을 분리할 수 있는 강력한 기능을 제공합니다. 예를 들어 Python 파일이 열릴 때는 editor.fontSize를 14로, Markdown 파일이 열릴 때는 18로 자동 설정하는 것이 가능합니다. 이것이 VSCode 단축키 커스텀 설정의 핵심입니다. 또한, 단순히 글자 크기뿐만 아니라 줄 간격(editor.lineHeight)이나 글꼴 폰트(editor.fontFamily)까지 언어별로 다르게 적용할 수 있어, 코딩 시와 집필 시의 시각적 경험을 완벽하게 분리할 수 있습니다. 이를 통해 에디터는 단순한 텍스트 도구를 넘어 상황에 맞춰 변화하는 스마트한 작업 공간이 됩니다.

주의
UI 화면에서 설정한 값은 JSON 파일에 자동으로 저장되지만, 역으로 JSON 파일에 복잡한 로직을 작성한 내용은 UI 화면에서 모두 표현되지 않을 수 있습니다. 따라서 고급 설정을 관리할 때는 UI 설정 창과 JSON 파일을 동시에 참고하는 것이 아니라, JSON 파일을 '주된 관리 수단'으로 삼고 UI는 보조적으로 사용하는 것이 좋습니다.
VSCode 단축키 커스텀 설정

Photo by Digital Buggu on Pexels

settings.json을 활용한 파일 타입별 자동 확대 비율 지정

VSCode의 진정한 힘은

동영상으로 보는 VSCode 단축키 커스텀 설정

글로 충분하지 않다면 관련 영상을 함께 보세요. 클릭하면 YouTube에서 검색 결과로 이동합니다.

▶ YouTube에서 “VSCode 단축키 커스텀 설정” 영상 보기

자주 묻는 질문

Q. VSCode에서 파일 종류별로 다른 단축키를 설정하려면 어떻게 해야 하나요?

A. 키보드 단축키 설정 파일인 `keybindings.json`에 `when` 조건을 사용해 파일 유형을 지정하면 됩니다. 예를 들어, `editorLangId == 'javascript'`와 같은 조건을 추가하면 JavaScript 파일에만 적용되는 단축키를 정의할 수 있습니다.

Q. 이미 설정된 기본 단축키를 파일별 커스텀 단축키와 충돌 없이 유지하려면 어떻게 해야 하나요?

A. 충돌을 방지하려면 새 단축키에 `when` 절을 명시하고, 기존 단축키에 `command`와 `key`를 그대로 두세요. 충돌이 발생하면 VSCode가 가장 구체적인 `when` 조건을 우선 적용하므로, 파일별 조건을 정확히 지정하는 것이 중요합니다.

Q. 특정 파일 확장자(예: .md)에서만 작동하는 단축키를 만들고 싶은데, `editorLangId` 외에 다른 조건도 사용할 수 있나요?

A. 네, `resourceExtname == '.md'`와 같은 `resourceExtname` 조건을 사용할 수 있습니다. 또한 `resourceScheme == 'file'` 등 파일 경로나 스킴을 조합해 더욱 정밀한 조건을 정의할 수 있습니다.

Q. 커스텀 단축키를 여러 프로젝트에 동일하게 적용하려면 어떻게 공유하면 되나요?

A. 설정 파일(`keybindings.json`)을 버전 관리 시스템에 포함시키거나, Settings Sync 확장을 이용해 클라우드에 동기화하면 됩니다. 이렇게 하면 다른 프로젝트나 기기에서도 동일한 파일별 단축키 설정을 그대로 사용할 수 있습니다.

매주 IT 실전 가이드 받아보세요

맥OS·크롬·자동화·AI 도구 주 1회 큐레이션. 광고·스팸 없는 깔끔한 메일.

무료 구독하기

M
Mebys Blog
맥OS · 크롬 · 자동화 · AI 도구 가이드


댓글 남기기

Mebys Blog에서 더 알아보기

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

계속 읽기