같은 Chord의 Source와 When 비교하기
Ctrl+K Ctrl+C의 정확 일치 목록을 열어 규칙의 출처와 활성 조건을 읽고 변경 없이 닫습니다.
이번 편의 핵심
Show Same Keybindings가 만든 큰따옴표 필터로 동일 Chord만 모읍니다.
각 행을 Source와 When으로 구분해 같은 키가 곧 같은 충돌은 아님을 확인합니다.
1. 시작하기 전에
초보자가 단축키 충돌을 고치기 전에 같은 Chord의 규칙을 출처와 활성 조건으로 분류하는 읽기 전용 실습입니다.
준비할 것
- VS Code Stable 1.138.0 —
Help: About에서 확인 - Windows 11 · PowerShell — 운영체제와 기본 셸 확인
- User
keybindings.json백업 —Preferences: Open Keyboard Shortcuts (JSON)에서 확인
적용 환경 2026-09-20 · Windows 11 · VS Code Stable 1.138.0 · 영어 기본 UI 격리 관찰본
2. 알아둘 핵심 개념
FACT · 정확 일치 필터
Show Same Keybindings는 선택한 키 바인딩의 ARIA 라벨을 큰따옴표로 감싼 검색값을 만듭니다. 영어 UI 1.138.0 관찰값은 "Control+K Control+C"입니다.
FACT · Source
System은 VS Code 기본 규칙, User는 사용자 규칙, 확장 이름은 확장 기여 규칙입니다. 공식 모델은 @source:default와 @source:system을 같은 System 필터로 처리합니다.
FACT · When
규칙이 활성화되는 조건식입니다. 같은 Chord라도 When이 서로 배타적이면 같은 순간에 모두 후보가 되는 것은 아닙니다.
PROCEDURE · 읽기 범위
이번 편은 Source와 When을 분류할 뿐 실행 우선순위는 확정하지 않습니다.
UNCONFIRMED · 환경 차이
설치 확장, User override, UI 언어에 따라 행 수·Source·표시 문자열은 달라질 수 있습니다.
3. 순서대로 진행하기
각 단계의 정상 결과를 확인한 뒤 다음 단계로 이동합니다.
1. 현재 User 상태 보호하기
목적 읽기 실습 중 실수 변경을 되돌릴 기준을 만든다.
- Command Palette에서 Preferences: Open Keyboard Shortcuts (JSON)을 열고 전체 내용을 안전한 위치에 복사한다.
입력 위치 User keybindings JSON 편집기
백업 사본정상 결과 원본과 백업이 동일하다.
확인 두 텍스트를 비교한다.
실패 신호 기존 User 규칙을 구분하지 못한다.
복구와 재합류 변경하지 않고 닫고 백업을 확인한 뒤 STEP-01로 돌아온다.
2. Keyboard Shortcuts 열기
목적 규칙 목록과 검색 상자를 연다.
- Ctrl+K를 누른 뒤 손을 놓고 Ctrl+S를 누른다.
입력 위치 VS Code 작업 창
Ctrl+K Ctrl+S정상 결과 Keyboard Shortcuts 탭과 검색 상자가 열린다.
확인 탭 제목을 확인한다.
실패 신호 다른 명령이 실행되거나 탭이 열리지 않는다.
복구와 재합류 Command Palette에서 Preferences: Open Keyboard Shortcuts를 실행하고 STEP-03으로 간다.
3. 기준 명령 찾기
목적 비교를 시작할 한 규칙을 정확히 고른다.
- 검색 상자에 @command:editor.action.addCommentLine을 입력한다.
입력 위치 Keyboard Shortcuts 검색 상자
@command:editor.action.addCommentLine정상 결과 Add Line Comment와 Ctrl+K Ctrl+C 한 행이 보인다.
확인 Command·Keybinding·When·Source를 확인한다.
실패 신호 행이 없거나 무관한 행이 보인다.
복구와 재합류 필터를 지우고 command ID를 다시 입력해 STEP-03에 재합류한다.
4. 기준 행의 Source와 When 읽기
목적 비교 전 기준값을 기록한다.
- 행의 When과 Source 열을 그대로 메모한다.
입력 위치 Add Line Comment 결과 행
When: editorTextFocus && !editorReadonly / Source: System정상 결과 두 열을 구분해 기록했다.
확인 현재 화면과 메모를 대조한다.
실패 신호 열이 잘리거나 값이 다르다.
복구와 재합류 창을 넓히고 현재 값을 그대로 기록한 뒤 STEP-05로 간다.
5. Show Same Keybindings 실행하기
목적 같은 Chord만 정확히 모은다.
- 기준 행을 오른쪽 클릭하고 Show Same Keybindings를 선택한다.
입력 위치 결과 행 컨텍스트 메뉴
Show Same Keybindings정상 결과 검색값이 큰따옴표 Chord로 바뀐다.
확인 Change·Remove·Reset을 선택하지 않았는지 확인한다.
실패 신호 메뉴가 없거나 검색이 바뀌지 않는다.
복구와 재합류 키가 있는 기준 행을 다시 오른쪽 클릭해 STEP-05에 재합류한다.
6. 정확 일치 필터 확인하기
목적 일반 텍스트 검색과 정확 Chord 검색을 구분한다.
- 검색 상자의 앞뒤 큰따옴표를 확인한다.
입력 위치 Keyboard Shortcuts 검색 상자
"Control+K Control+C"정상 결과 앞뒤 큰따옴표가 있는 값이 보인다.
확인 따옴표와 두 조합의 순서를 읽는다.
실패 신호 따옴표가 없거나 조합이 다르다.
복구와 재합류 직접 추측해 수정하지 말고 STEP-05 메뉴를 다시 실행한다.
7. 같은 Chord 행 세기
목적 현재 환경의 비교 대상을 확정한다.
- 표의 Command 이름을 위에서 아래로 기록한다.
입력 위치 Keyboard Shortcuts 결과 표
격리 관찰: Add Line Comment / Notebook Collapse / Notebook Expand정상 결과 세 Command가 각각 한 행으로 보인다.
확인 각 행의 Keybinding이 Ctrl+K Ctrl+C인지 확인한다.
실패 신호 행 수가 3과 다르다.
복구와 재합류 버전·확장·User 차이를 기록하고 현재 행 전체를 대상으로 STEP-08로 간다.
8. Source로 분류하기
목적 기본·User·확장 규칙을 섞지 않는다.
- 각 행의 Source 열을 표에 옮긴다.
입력 위치 결과 표 Source 열
격리 관찰: System 3, User 0정상 결과 각 행에 Source 값이 기록된다.
확인 행 수와 Source 분류 합계가 같은지 확인한다.
실패 신호 User 또는 확장 이름이 나타난다.
복구와 재합류 삭제하지 말고 별도 출처로 표시한 뒤 STEP-09로 간다.
9. When으로 활성 조건 비교하기
목적 같은 Chord가 언제 후보가 되는지 구분한다.
- 각 행의 When을 나란히 읽고 편집기와 Notebook 조건을 분리한다.
입력 위치 결과 표 When 열
editorTextFocus / notebookCellListFocused / inputIsCollapsed정상 결과 편집기와 Notebook 조건이 서로 구분된다.
확인 Notebook 접힘 조건 두 개가 반대인지 확인한다.
실패 신호 When이 잘리거나 비어 있다.
복구와 재합류 창을 넓히고 빈 값은 전역 가능성으로 표시한 뒤 STEP-10으로 간다.
10. User 규칙 교차 필터하기
목적 User override 존재 여부를 같은 Chord 안에서 확인한다.
- 검색값을 @source:user "Control+K Control+C"로 바꾼다.
입력 위치 Keyboard Shortcuts 검색 상자
@source:user "Control+K Control+C"정상 결과 격리 Profile은 결과 0개다.
확인 User 행이 있으면 개수와 When을 기록한다.
실패 신호 독자 환경에서 User 행이 나타난다.
복구와 재합류 정상 환경 차이로 기록하고 삭제하지 않은 채 STEP-11로 간다.
11. System 규칙 재확인하기
목적 Source 필터 해석을 교차 확인한다.
- 검색값을 @source:system "Control+K Control+C"로 바꾼다.
입력 위치 Keyboard Shortcuts 검색 상자
@source:system "Control+K Control+C"정상 결과 격리 Profile은 System 세 행이 다시 나타난다.
확인 Source 열과 행 수를 확인한다.
실패 신호 System 행이 보이지 않는다.
복구와 재합류 따옴표와 source 철자를 확인하고 STEP-11을 다시 실행한다.
12. 변경 0건 독립 확인하기
목적 관찰이 실제 설정을 바꾸지 않았음을 증명한다.
- User keybindings.json을 실습 전 백업과 비교한다.
입력 위치 User keybindings JSON 편집기 또는 파일 비교
실습 전 백업정상 결과 실습 전후 내용이 동일하다.
확인 새 User 행과 파일 해시 차이가 없는지 확인한다.
실패 신호 새 규칙이나 차이가 남는다.
복구와 재합류 추가 Reset을 중단하고 백업 전체를 복원한 뒤 STEP-10부터 재검증한다.
4. 완료 확인하기
검색 화면과 독립된 파일 비교를 함께 사용합니다.
- 정확 일치 — Show Same Keybindings가
"Control+K Control+C"검색을 만들었다. - 목록 — 격리 관찰에서 동일 Chord의 System 규칙 세 행과 서로 다른 When을 확인했다.
- 구분 — System·User·확장 Source와 When의 역할을 설명할 수 있다.
- 독립 확인 — User
keybindings.json이 실습 전 백업과 같다.
완료 기준 같은 Chord를 바로 충돌로 단정하지 않고 Source와 When으로 분류했으며 실제 설정 변경은 0건입니다.
5. 문제가 생겼다면
Show Same Keybindings가 없음
먼저 확인 키 바인딩이 있는 행을 오른쪽 클릭했는지 확인합니다.
복구 Add Line Comment 기준 행으로 돌아갑니다.
재합류 STEP-03
검색값에 따옴표가 없음
먼저 확인 일반 검색을 직접 입력했는지 확인합니다.
복구 기준 행의 Show Same Keybindings를 다시 실행합니다.
재합류 STEP-05
행 수가 3이 아님
먼저 확인 버전·확장·User 규칙을 기록합니다. 원인은 UNKNOWN일 수 있습니다.
복구 숫자 일치를 요구하지 말고 현재 행의 Command·Source·When을 기록합니다.
재합류 STEP-08
Source 열이 안 보임
먼저 확인 창 폭과 가로 스크롤을 확인합니다.
복구 창을 넓히고 Source 머리글을 찾습니다.
재합류 STEP-08
실수로 규칙을 변경함
먼저 확인 오류 원문과 현재 JSON을 보존합니다.
복구 추가 Reset을 중단하고 백업 전체를 복원합니다.
재합류 STEP-12
6. 핵심 정리와 공식 자료
- Show Same Keybindings는 동일 Chord의 정확 일치 목록을 엽니다.
- Source는 규칙의 출처, When은 활성 조건입니다.
- 같은 Chord라도 When이 다르면 활성 시점이 다를 수 있습니다.
공식 자료
아래 자료는 2026-09-20 19:00 KST 기준으로 확인했습니다. UI 문자열과 행 수는 버전·확장·언어에 따라 달라질 수 있습니다.
- Keyboard shortcuts for Visual Studio Code · Microsoft
- When clause contexts · Microsoft
- Keyboard Shortcuts editor · Microsoft vscode Stable 1.138.0
- Keyboard Shortcuts editor model · Microsoft vscode Stable 1.138.0
- Visual Studio Code 1.138 Release Notes · Microsoft
'개발 > Visual Studio Code' 카테고리의 다른 글
| 커맨드 팔레트 54부: 같은 Chord의 When 조건을 Context Keys로 확인하기 (0) | 2026.09.22 |
|---|---|
| 커맨드 팔레트 53부: 같은 Chord 규칙을 우선순위 순서로 읽기 (0) | 2026.09.22 |
| 커맨드 팔레트 51부: 두 단계 Chord의 입력 경계와 충돌 수 확인 (0) | 2026.09.20 |
| 커맨드 팔레트 50부: 단축키 입력 상자의 표시와 JSON 교차 확인추천 태그: (0) | 2026.09.19 |
| 커맨드 팔레트 49부: VS Code 키 매핑 표의 WYSIWYG NO 행 읽기 (0) | 2026.09.17 |