커맨드 팔레트 49부: VS Code 키 매핑 표의 WYSIWYG NO 행 읽기
설정을 바꾸지 않고 Inspect Key Mappings 표의 WYSIWYG NO 한 행을 골라 UI label과 User settings가 왜 다른지 확인합니다.
이번 편의 핵심
WYSIWYG NO는 오류 코드가 아니라 UI/ARIA label과 User settings label 문자열이 다르다는 표시입니다.
완료하면 IntlBackslash 행의 여섯 열과 Raw mapping을 보존하고 User keybindings 변경 0회를 확인합니다.
1. 시작하기 전에
예상 시간은 15~20분입니다. Command Palette와 Ctrl+F, Save As를 사용할 수 있으면 됩니다. keybindings.json 편집이나 키보드 레이아웃 변경은 하지 않습니다.
준비할 것
- 직접 만든 빈 연습 폴더 — 기존 파일 덮어쓰기를 피합니다.
- Windows 11 · VS Code Stable 1.138.0 · Windows PowerShell
- 로컬 notes와 원문 파일 — 외부 전송 없이 보존합니다.
2. 알아둘 핵심 개념
FACT — WYSIWYG 열은 설정의 정상·오류 판정이 아닙니다
Stable 구현은 UI/ARIA label과 User settings label 문자열이 같은지 비교합니다. 같으면 칸을 비우고, 다르면 NO를 씁니다. NO만으로 키 고장이나 설정 오류를 뜻하지 않습니다. [SRC-03]
FACT — 같은 키를 위한 표시 이름과 저장 이름은 다를 수 있습니다
이 환경의 IntlBackslash 행은 UI label이 역슬래시지만 User settings는 oem_102입니다. 화면에서 읽는 이름과 keybindings.json에 직렬화되는 이름의 역할이 다릅니다. [SRC-03] [SRC-04]
FACT — 여섯 열은 한 행의 서로 다른 관점을 보여 줍니다
HW Code combination은 물리 위치, Key는 산출 문자, KeyCode combination은 논리 key code, UI label은 사람용 표시, User settings는 설정용 직렬화, WYSIWYG는 마지막 두 이름의 일치 여부입니다. [SRC-02] [SRC-03]
PROCEDURE — NO 행은 열 전체와 Layout info를 함께 보존합니다
NO만 캡처하면 왜 다른지 판단할 수 없습니다. Layout name/id/text, modifier 없는 행의 여섯 열, Raw mapping 객체를 같은 시점에 기록합니다. [SRC-02] [SRC-05]
RECOMMENDATION — 이번 편에서는 설정을 고치지 않습니다
표시 차이를 먼저 Evidence로 확정하고 User keybindings·keyboard.dispatch·Windows 레이아웃은 바꾸지 않습니다. 원인이 불명확하면 UNKNOWN으로 보존합니다. [SRC-01] [SRC-02]
3. 순서대로 진행하기
각 단계의 정상 결과를 확인한 뒤 다음 단계로 이동합니다.
1. 빈 Evidence 폴더를 엽니다
목적 기존 파일과 설정을 보호합니다.
- 직접 만든 빈 JCOS-VSC49-WYSIWYG-Lab 폴더를 File > Open Folder...로 엽니다.
입력 위치 VS Code 메뉴 · Workspace Folder
JCOS-VSC49-WYSIWYG-Lab/정상 결과 Explorer에 빈 폴더만 보입니다.
확인 기존 파일과 .vscode 폴더가 0개인지 확인합니다.
실패 신호 업무 파일 또는 기존 설정 폴더가 보입니다.
복구와 재합류 저장하지 않고 폴더를 닫은 뒤 새 빈 폴더에서 STEP-01로 재합류합니다.
근거 [SRC-01]
2. 현재 Stable과 설치본을 기록합니다
목적 진단 결과의 적용 버전을 고정합니다.
- Windows PowerShell에서 code --version을 실행하고 공식 Stable metadata와 나란히 기록합니다.
입력 위치 Shell: Windows PowerShell · 실행 위치: 임의
Official Stable: 1.138.0 / 7debcd0e2acdea1c52de81bf9ee1620444407dda
Local code: 1.138.0 / 7debcd0e2acdea1c52de81bf9ee1620444407dda / x64정상 결과 두 값이 이 Run에서는 1.138.0과 같은 commit으로 일치합니다.
확인 버전·commit·architecture 세 줄과 공식 metadata를 대조합니다.
실패 신호 code를 찾지 못하거나 commit이 다릅니다.
복구와 재합류 Help > About으로 설치본을 확인하고 차이를 그대로 기록합니다. 자동 업데이트하지 않고 STEP-03으로 재합류합니다.
근거 [SRC-06]
3. Inspect Key Mappings를 엽니다
목적 현재 레이아웃의 진단 표를 생성합니다.
- F1을 누르고 Developer: Inspect Key Mappings를 검색해 정확한 명령을 실행합니다.
입력 위치 Command Palette
Developer: Inspect Key Mappings정상 결과 Layout info:로 시작하는 Untitled 문서가 열립니다.
확인 Layout info, Default Resolved Keybindings, User Resolved Keybindings, Raw mapping 네 표식을 찾습니다.
실패 신호 명령이 없거나 JSON 변형만 보입니다.
복구와 재합류 명령 이름과 버전을 보존하고 정확한 영문 이름으로 다시 검색합니다. 그래도 없으면 UNCONFIRMED로 중단합니다.
4. Layout info를 먼저 적습니다
목적 행 해석의 환경 범위를 고정합니다.
- 문서 첫 블록의 name, id, text를 notes 파일에 원문 그대로 옮깁니다.
입력 위치 Inspect Key Mappings 문서와 새 key-mapping-notes.txt
name: "<현재 값>"
id: "<현재 값>"
text: "<현재 값>"정상 결과 빈 문자열을 포함해 세 필드가 기록됩니다.
확인 원문과 notes를 문자 단위로 대조합니다.
실패 신호 샘플 00000409/US를 화면 확인 없이 복사했습니다.
복구와 재합류 샘플을 지우고 자신의 실제 세 값을 다시 옮겨 STEP-04로 재합류합니다.
5. 표 머리글 여섯 칸을 찾습니다
목적 NO의 비교 대상을 먼저 이해합니다.
- Ctrl+F로 WYSIWYG를 찾아 같은 머리글 줄의 여섯 열 이름을 왼쪽부터 기록합니다.
입력 위치 Inspect Key Mappings mapper table
HW Code combination | Key | KeyCode combination | UI label | User settings | WYSIWYG정상 결과 여섯 열이 같은 순서로 기록됩니다.
확인 머리글과 데이터 행을 같은 화면에서 확인합니다.
실패 신호 WYSIWYG라는 단어만 적고 비교 열을 생략했습니다.
복구와 재합류 머리글 전체를 다시 옮긴 뒤 STEP-05로 재합류합니다.
근거 [SRC-03]
6. modifier 없는 IntlBackslash NO 행을 고릅니다
목적 한 개의 실제 비-WYSIWYG 행으로 범위를 제한합니다.
- Ctrl+F로 IntlBackslash를 찾고 Ctrl·Shift·Alt가 없는 첫 행만 선택합니다.
입력 위치 Inspect Key Mappings mapper table
IntlBackslash | \ | OEM_102 | \ | oem_102 | NO정상 결과 HW Code가 IntlBackslash이고 WYSIWYG가 NO인 modifier 없는 행입니다.
확인 같은 블록의 Shift/Ctrl+Alt 행과 혼동하지 않았는지 확인합니다.
실패 신호 Ctrl+Alt+IntlBackslash 또는 IntlRo/IntlYen 행을 골랐습니다.
복구와 재합류 modifier가 없는 정확한 첫 행으로 돌아가 STEP-06에 재합류합니다.
7. UI label과 User settings를 분리해 읽습니다
목적 NO가 표시된 직접 원인을 확인합니다.
- 선택한 행에서 UI label과 User settings를 서로 다른 칸에 복사합니다.
입력 위치 key-mapping-notes.txt
UI label: \
User settings: oem_102
WYSIWYG: NO정상 결과 사람용 표시는 역슬래시이고 설정 직렬화 이름은 oem_102로 다릅니다.
확인 두 문자열이 같지 않으며 NO가 같은 행에 있는지 확인합니다.
실패 신호 Key 열의 역슬래시를 UI label로 착각했거나 OEM_102의 대소문자를 섞었습니다.
복구와 재합류 열 머리글을 따라 다시 읽고 STEP-07로 재합류합니다.
8. 판정 규칙으로 NO를 설명합니다
목적 관찰을 구현 근거와 연결합니다.
- notes에 'UI/ARIA label과 User settings label이 다르므로 NO'라고 한 문장으로 적습니다.
입력 위치 key-mapping-notes.txt
\ != OEM_102 -> WYSIWYG false -> table prints NO정상 결과 표의 두 이름 차이와 Stable 구현의 false→NO 규칙이 연결됩니다.
확인 Stable source의 비교식과 출력식을 각각 확인합니다.
실패 신호 NO가 산출 문자 불일치나 키 고장 때문이라고 단정했습니다.
복구와 재합류 원인을 두 label 문자열 비교로 좁혀 문장을 고친 뒤 STEP-08로 재합류합니다.
근거 [SRC-03]
9. Raw mapping으로 키의 원시 값을 교차 확인합니다
목적 표의 OEM_102를 같은 문서의 원시 매핑과 연결합니다.
- Raw mapping: 아래에서 "IntlBackslash": 객체를 찾아 다섯 필드를 기록합니다.
입력 위치 Inspect Key Mappings Raw mapping
"IntlBackslash": {"vkey":"VK_OEM_102","value":"\\","withShift":"|","withAltGr":"","withShiftAltGr":""}정상 결과 이 환경에서 vkey는 VK_OEM_102이고 value는 역슬래시입니다.
확인 객체 이름과 닫는 중괄호 사이의 다섯 필드를 원문과 대조합니다.
실패 신호 Backslash 객체나 이웃 IntlRo/IntlYen 값을 섞었습니다.
복구와 재합류 정확한 IntlBackslash 객체로 돌아가 STEP-09에 재합류합니다.
10. 진단 Evidence를 새 파일로 저장합니다
목적 같은 행을 나중에 다시 비교할 수 있게 합니다.
- File > Save As...로 직접 만든 폴더에 key-mapping-wysiwyg-2026-09-17.txt라는 새 이름으로 저장합니다.
입력 위치 Inspect Key Mappings Untitled 편집기 · 로컬 연습 폴더
key-mapping-wysiwyg-2026-09-17.txt정상 결과 저장 파일에 Layout info, IntlBackslash 행, Raw mapping이 모두 있습니다.
확인 파일 크기>0과 세 표식을 독립 확인합니다.
실패 신호 같은 이름이 이미 있어 덮어쓰기 확인이 뜹니다.
복구와 재합류 취소하고 -02 접미사를 붙인 새 이름으로 STEP-10을 다시 실행합니다.
11. 설정 무변경과 완료 조건을 확인합니다
목적 읽기 전용 진단으로 실습을 끝냅니다.
- Keyboard Shortcuts 화면과 연습 폴더를 확인해 이번 실습에서 User keybindings 편집이 0회인지 기록합니다.
입력 위치 Keyboard Shortcuts 읽기 화면 · Explorer · notes
WYSIWYG row=IntlBackslash
UI label=\
User settings=oem_102
Reason=label mismatch
User keybinding edits=0정상 결과 행·두 label·NO 이유·Raw mapping·설정 무변경이 한 묶음으로 남습니다.
확인 저장 파일과 notes를 다시 열어 다섯 완료 항목을 체크합니다.
실패 신호 값 누락, 빈 파일, 예상 밖 keybindings.json 변경이 있습니다.
복구와 재합류 현재 상태와 오류 원문을 보존하고 해당 STEP으로 돌아갑니다. 확인하지 못한 변경 원인은 UNKNOWN으로 둡니다.
4. 완료 확인하기
- VERSION — 공식 Stable과 설치본이 1.138.0 / 7debcd0e2acdea1c52de81bf9ee1620444407dda으로 기록되었습니다.
- LAYOUT — 자신의 name·id·text 세 필드를 원문 그대로 기록했습니다.
- ROW — IntlBackslash · 역슬래시 · OEM_102 · 역슬래시 · oem_102 · NO 여섯 칸을 함께 읽었습니다.
- RULE — UI/ARIA label과 User settings label 불일치가 false→NO로 이어짐을 공식 Stable source로 확인했습니다.
- RAW — rawMapping.IntlBackslash의 VK_OEM_102와 산출 문자를 교차 확인했습니다.
- SAFETY — 새 로컬 Evidence 파일만 만들었고 User keybindings·Windows layout 변경은 0회입니다.
완료 기준 자신의 Layout info와 modifier 없는 WYSIWYG NO 한 행을 여섯 열로 보존하고, 두 label의 차이와 Raw mapping을 설명하며 설정을 바꾸지 않았습니다.
5. 문제가 생겼다면
NO 행이 하나도 보이지 않습니다
먼저 확인 현재 위치가 mapper table인지, WYSIWYG 머리글을 찾았는지 확인합니다.
복구 Layout info와 표 전체를 보존하고 NO 없음도 유효한 관찰로 기록합니다. 임의로 레이아웃을 바꾸지 않습니다.
재합류 STEP-05 또는 완료 확인
IntlBackslash 행 값이 예시와 다릅니다
먼저 확인 자신의 Layout info와 modifier 없는 행을 함께 봅니다.
복구 예시를 지우고 자신의 여섯 열을 원문 그대로 기록합니다.
재합류 STEP-06
UI label과 Key 열을 혼동했습니다
먼저 확인 머리글과 데이터 행을 같은 화면에서 가로로 맞춥니다.
복구 Key·KeyCode·UI label·User settings 네 칸을 다시 옮깁니다.
재합류 STEP-05~07
Raw mapping에 IntlBackslash가 없습니다
먼저 확인 같은 문서의 Raw mapping: 구역인지 확인합니다.
복구 현재 원문을 보존하고 원인을 UNKNOWN으로 둡니다. 다른 키 객체로 대체하지 않습니다.
재합류 STEP-09 또는 중단
덮어쓰기 확인이 뜹니다
먼저 확인 대상 폴더와 기존 파일명을 읽습니다.
복구 취소하고 -02 접미사의 새 파일로 저장합니다.
재합류 STEP-10
6. 핵심 정리와 공식 자료
- WYSIWYG NO는 UI/ARIA label과 User settings label이 다르다는 구현상 표시입니다.
- 이 Run의 동일 Stable 관찰에서는 IntlBackslash의 UI label이 역슬래시, User settings가 oem_102였습니다.
- NO를 오류로 고치기 전에 Layout info·여섯 열·Raw mapping을 함께 보존합니다.
- 이번 편은 읽기 전용이며 keybindings.json과 Windows 레이아웃을 바꾸지 않습니다.
공식 자료
아래 자료는 2026-09-17 KST에 접근했습니다. Stable 1.138.0·Windows 11 범위입니다. 실제 키보드 하드웨어·IME·다른 레이아웃에서는 값이 다를 수 있으며, 정확한 표 행은 동일 version/commit의 2026-09-16 로컬 관찰을 재검증해 사용했습니다. 오늘 격리 UI 재실행은 캡처 전에 실패했으므로 새 UI PASS를 주장하지 않습니다.
- Keyboard shortcuts for Visual Studio Code · Microsoft — 현재 레이아웃에 맞춘 UI 표시, User keybindings 직렬화, scan-code 바인딩
- Keybinding Issues · Microsoft vscode — Inspect Key Mappings 절차와 Windows scan code·virtual key·produced character 관계
- WindowsKeyboardMapper Stable 1.138.0 · Microsoft vscode — WYSIWYG 판정식, 표 열 구성, false일 때 NO 출력
- Key code map Stable 1.138.0 · Microsoft vscode — IntlBackslash, OEM_102, VK_OEM_102 정적 매핑
- Workbench keybinding service Stable 1.138.0 · Microsoft vscode — Inspect Key Mappings 출력에 Layout·resolved bindings·mapper table·Raw mapping을 조합하는 구현
- VS Code Stable update metadata · Microsoft — 2026-09-17 접근 시 Stable 1.138.0, commit 7debcd0e2acdea1c52de81bf9ee1620444407dda
커맨드 팔레트 49부: VS Code 키 매핑 표의 WYSIWYG NO 행 읽기
설정을 바꾸지 않고 Inspect Key Mappings 표의 WYSIWYG NO 한 행을 골라 UI label과 User settings가 왜 다른지 확인합니다.
이번 편의 핵심
WYSIWYG NO는 오류 코드가 아니라 UI/ARIA label과 User settings label 문자열이 다르다는 표시입니다.
완료하면 IntlBackslash 행의 여섯 열과 Raw mapping을 보존하고 User keybindings 변경 0회를 확인합니다.
1. 시작하기 전에
예상 시간은 15~20분입니다. Command Palette와 Ctrl+F, Save As를 사용할 수 있으면 됩니다. keybindings.json 편집이나 키보드 레이아웃 변경은 하지 않습니다.
준비할 것
- 직접 만든 빈 연습 폴더 — 기존 파일 덮어쓰기를 피합니다.
- Windows 11 · VS Code Stable 1.138.0 · Windows PowerShell
- 로컬 notes와 원문 파일 — 외부 전송 없이 보존합니다.
2. 알아둘 핵심 개념
FACT — WYSIWYG 열은 설정의 정상·오류 판정이 아닙니다
Stable 구현은 UI/ARIA label과 User settings label 문자열이 같은지 비교합니다. 같으면 칸을 비우고, 다르면 NO를 씁니다. NO만으로 키 고장이나 설정 오류를 뜻하지 않습니다. [SRC-03]
FACT — 같은 키를 위한 표시 이름과 저장 이름은 다를 수 있습니다
이 환경의 IntlBackslash 행은 UI label이 역슬래시지만 User settings는 oem_102입니다. 화면에서 읽는 이름과 keybindings.json에 직렬화되는 이름의 역할이 다릅니다. [SRC-03] [SRC-04]
FACT — 여섯 열은 한 행의 서로 다른 관점을 보여 줍니다
HW Code combination은 물리 위치, Key는 산출 문자, KeyCode combination은 논리 key code, UI label은 사람용 표시, User settings는 설정용 직렬화, WYSIWYG는 마지막 두 이름의 일치 여부입니다. [SRC-02] [SRC-03]
PROCEDURE — NO 행은 열 전체와 Layout info를 함께 보존합니다
NO만 캡처하면 왜 다른지 판단할 수 없습니다. Layout name/id/text, modifier 없는 행의 여섯 열, Raw mapping 객체를 같은 시점에 기록합니다. [SRC-02] [SRC-05]
RECOMMENDATION — 이번 편에서는 설정을 고치지 않습니다
표시 차이를 먼저 Evidence로 확정하고 User keybindings·keyboard.dispatch·Windows 레이아웃은 바꾸지 않습니다. 원인이 불명확하면 UNKNOWN으로 보존합니다. [SRC-01] [SRC-02]
3. 순서대로 진행하기
각 단계의 정상 결과를 확인한 뒤 다음 단계로 이동합니다.
1. 빈 Evidence 폴더를 엽니다
목적 기존 파일과 설정을 보호합니다.
- 직접 만든 빈 JCOS-VSC49-WYSIWYG-Lab 폴더를 File > Open Folder...로 엽니다.
입력 위치 VS Code 메뉴 · Workspace Folder
JCOS-VSC49-WYSIWYG-Lab/정상 결과 Explorer에 빈 폴더만 보입니다.
확인 기존 파일과 .vscode 폴더가 0개인지 확인합니다.
실패 신호 업무 파일 또는 기존 설정 폴더가 보입니다.
복구와 재합류 저장하지 않고 폴더를 닫은 뒤 새 빈 폴더에서 STEP-01로 재합류합니다.
근거 [SRC-01]
2. 현재 Stable과 설치본을 기록합니다
목적 진단 결과의 적용 버전을 고정합니다.
- Windows PowerShell에서 code --version을 실행하고 공식 Stable metadata와 나란히 기록합니다.
입력 위치 Shell: Windows PowerShell · 실행 위치: 임의
Official Stable: 1.138.0 / 7debcd0e2acdea1c52de81bf9ee1620444407dda
Local code: 1.138.0 / 7debcd0e2acdea1c52de81bf9ee1620444407dda / x64정상 결과 두 값이 이 Run에서는 1.138.0과 같은 commit으로 일치합니다.
확인 버전·commit·architecture 세 줄과 공식 metadata를 대조합니다.
실패 신호 code를 찾지 못하거나 commit이 다릅니다.
복구와 재합류 Help > About으로 설치본을 확인하고 차이를 그대로 기록합니다. 자동 업데이트하지 않고 STEP-03으로 재합류합니다.
근거 [SRC-06]
3. Inspect Key Mappings를 엽니다
목적 현재 레이아웃의 진단 표를 생성합니다.
- F1을 누르고 Developer: Inspect Key Mappings를 검색해 정확한 명령을 실행합니다.
입력 위치 Command Palette
Developer: Inspect Key Mappings정상 결과 Layout info:로 시작하는 Untitled 문서가 열립니다.
확인 Layout info, Default Resolved Keybindings, User Resolved Keybindings, Raw mapping 네 표식을 찾습니다.
실패 신호 명령이 없거나 JSON 변형만 보입니다.
복구와 재합류 명령 이름과 버전을 보존하고 정확한 영문 이름으로 다시 검색합니다. 그래도 없으면 UNCONFIRMED로 중단합니다.
4. Layout info를 먼저 적습니다
목적 행 해석의 환경 범위를 고정합니다.
- 문서 첫 블록의 name, id, text를 notes 파일에 원문 그대로 옮깁니다.
입력 위치 Inspect Key Mappings 문서와 새 key-mapping-notes.txt
name: "<현재 값>"
id: "<현재 값>"
text: "<현재 값>"정상 결과 빈 문자열을 포함해 세 필드가 기록됩니다.
확인 원문과 notes를 문자 단위로 대조합니다.
실패 신호 샘플 00000409/US를 화면 확인 없이 복사했습니다.
복구와 재합류 샘플을 지우고 자신의 실제 세 값을 다시 옮겨 STEP-04로 재합류합니다.
5. 표 머리글 여섯 칸을 찾습니다
목적 NO의 비교 대상을 먼저 이해합니다.
- Ctrl+F로 WYSIWYG를 찾아 같은 머리글 줄의 여섯 열 이름을 왼쪽부터 기록합니다.
입력 위치 Inspect Key Mappings mapper table
HW Code combination | Key | KeyCode combination | UI label | User settings | WYSIWYG정상 결과 여섯 열이 같은 순서로 기록됩니다.
확인 머리글과 데이터 행을 같은 화면에서 확인합니다.
실패 신호 WYSIWYG라는 단어만 적고 비교 열을 생략했습니다.
복구와 재합류 머리글 전체를 다시 옮긴 뒤 STEP-05로 재합류합니다.
근거 [SRC-03]
6. modifier 없는 IntlBackslash NO 행을 고릅니다
목적 한 개의 실제 비-WYSIWYG 행으로 범위를 제한합니다.
- Ctrl+F로 IntlBackslash를 찾고 Ctrl·Shift·Alt가 없는 첫 행만 선택합니다.
입력 위치 Inspect Key Mappings mapper table
IntlBackslash | \ | OEM_102 | \ | oem_102 | NO정상 결과 HW Code가 IntlBackslash이고 WYSIWYG가 NO인 modifier 없는 행입니다.
확인 같은 블록의 Shift/Ctrl+Alt 행과 혼동하지 않았는지 확인합니다.
실패 신호 Ctrl+Alt+IntlBackslash 또는 IntlRo/IntlYen 행을 골랐습니다.
복구와 재합류 modifier가 없는 정확한 첫 행으로 돌아가 STEP-06에 재합류합니다.
7. UI label과 User settings를 분리해 읽습니다
목적 NO가 표시된 직접 원인을 확인합니다.
- 선택한 행에서 UI label과 User settings를 서로 다른 칸에 복사합니다.
입력 위치 key-mapping-notes.txt
UI label: \
User settings: oem_102
WYSIWYG: NO정상 결과 사람용 표시는 역슬래시이고 설정 직렬화 이름은 oem_102로 다릅니다.
확인 두 문자열이 같지 않으며 NO가 같은 행에 있는지 확인합니다.
실패 신호 Key 열의 역슬래시를 UI label로 착각했거나 OEM_102의 대소문자를 섞었습니다.
복구와 재합류 열 머리글을 따라 다시 읽고 STEP-07로 재합류합니다.
8. 판정 규칙으로 NO를 설명합니다
목적 관찰을 구현 근거와 연결합니다.
- notes에 'UI/ARIA label과 User settings label이 다르므로 NO'라고 한 문장으로 적습니다.
입력 위치 key-mapping-notes.txt
\ != OEM_102 -> WYSIWYG false -> table prints NO정상 결과 표의 두 이름 차이와 Stable 구현의 false→NO 규칙이 연결됩니다.
확인 Stable source의 비교식과 출력식을 각각 확인합니다.
실패 신호 NO가 산출 문자 불일치나 키 고장 때문이라고 단정했습니다.
복구와 재합류 원인을 두 label 문자열 비교로 좁혀 문장을 고친 뒤 STEP-08로 재합류합니다.
근거 [SRC-03]
9. Raw mapping으로 키의 원시 값을 교차 확인합니다
목적 표의 OEM_102를 같은 문서의 원시 매핑과 연결합니다.
- Raw mapping: 아래에서 "IntlBackslash": 객체를 찾아 다섯 필드를 기록합니다.
입력 위치 Inspect Key Mappings Raw mapping
"IntlBackslash": {"vkey":"VK_OEM_102","value":"\\","withShift":"|","withAltGr":"","withShiftAltGr":""}정상 결과 이 환경에서 vkey는 VK_OEM_102이고 value는 역슬래시입니다.
확인 객체 이름과 닫는 중괄호 사이의 다섯 필드를 원문과 대조합니다.
실패 신호 Backslash 객체나 이웃 IntlRo/IntlYen 값을 섞었습니다.
복구와 재합류 정확한 IntlBackslash 객체로 돌아가 STEP-09에 재합류합니다.
10. 진단 Evidence를 새 파일로 저장합니다
목적 같은 행을 나중에 다시 비교할 수 있게 합니다.
- File > Save As...로 직접 만든 폴더에 key-mapping-wysiwyg-2026-09-17.txt라는 새 이름으로 저장합니다.
입력 위치 Inspect Key Mappings Untitled 편집기 · 로컬 연습 폴더
key-mapping-wysiwyg-2026-09-17.txt정상 결과 저장 파일에 Layout info, IntlBackslash 행, Raw mapping이 모두 있습니다.
확인 파일 크기>0과 세 표식을 독립 확인합니다.
실패 신호 같은 이름이 이미 있어 덮어쓰기 확인이 뜹니다.
복구와 재합류 취소하고 -02 접미사를 붙인 새 이름으로 STEP-10을 다시 실행합니다.
11. 설정 무변경과 완료 조건을 확인합니다
목적 읽기 전용 진단으로 실습을 끝냅니다.
- Keyboard Shortcuts 화면과 연습 폴더를 확인해 이번 실습에서 User keybindings 편집이 0회인지 기록합니다.
입력 위치 Keyboard Shortcuts 읽기 화면 · Explorer · notes
WYSIWYG row=IntlBackslash
UI label=\
User settings=oem_102
Reason=label mismatch
User keybinding edits=0정상 결과 행·두 label·NO 이유·Raw mapping·설정 무변경이 한 묶음으로 남습니다.
확인 저장 파일과 notes를 다시 열어 다섯 완료 항목을 체크합니다.
실패 신호 값 누락, 빈 파일, 예상 밖 keybindings.json 변경이 있습니다.
복구와 재합류 현재 상태와 오류 원문을 보존하고 해당 STEP으로 돌아갑니다. 확인하지 못한 변경 원인은 UNKNOWN으로 둡니다.
4. 완료 확인하기
- VERSION — 공식 Stable과 설치본이 1.138.0 / 7debcd0e2acdea1c52de81bf9ee1620444407dda으로 기록되었습니다.
- LAYOUT — 자신의 name·id·text 세 필드를 원문 그대로 기록했습니다.
- ROW — IntlBackslash · 역슬래시 · OEM_102 · 역슬래시 · oem_102 · NO 여섯 칸을 함께 읽었습니다.
- RULE — UI/ARIA label과 User settings label 불일치가 false→NO로 이어짐을 공식 Stable source로 확인했습니다.
- RAW — rawMapping.IntlBackslash의 VK_OEM_102와 산출 문자를 교차 확인했습니다.
- SAFETY — 새 로컬 Evidence 파일만 만들었고 User keybindings·Windows layout 변경은 0회입니다.
완료 기준 자신의 Layout info와 modifier 없는 WYSIWYG NO 한 행을 여섯 열로 보존하고, 두 label의 차이와 Raw mapping을 설명하며 설정을 바꾸지 않았습니다.
5. 문제가 생겼다면
NO 행이 하나도 보이지 않습니다
먼저 확인 현재 위치가 mapper table인지, WYSIWYG 머리글을 찾았는지 확인합니다.
복구 Layout info와 표 전체를 보존하고 NO 없음도 유효한 관찰로 기록합니다. 임의로 레이아웃을 바꾸지 않습니다.
재합류 STEP-05 또는 완료 확인
IntlBackslash 행 값이 예시와 다릅니다
먼저 확인 자신의 Layout info와 modifier 없는 행을 함께 봅니다.
복구 예시를 지우고 자신의 여섯 열을 원문 그대로 기록합니다.
재합류 STEP-06
UI label과 Key 열을 혼동했습니다
먼저 확인 머리글과 데이터 행을 같은 화면에서 가로로 맞춥니다.
복구 Key·KeyCode·UI label·User settings 네 칸을 다시 옮깁니다.
재합류 STEP-05~07
Raw mapping에 IntlBackslash가 없습니다
먼저 확인 같은 문서의 Raw mapping: 구역인지 확인합니다.
복구 현재 원문을 보존하고 원인을 UNKNOWN으로 둡니다. 다른 키 객체로 대체하지 않습니다.
재합류 STEP-09 또는 중단
덮어쓰기 확인이 뜹니다
먼저 확인 대상 폴더와 기존 파일명을 읽습니다.
복구 취소하고 -02 접미사의 새 파일로 저장합니다.
재합류 STEP-10
6. 핵심 정리와 공식 자료
- WYSIWYG NO는 UI/ARIA label과 User settings label이 다르다는 구현상 표시입니다.
- 이 Run의 동일 Stable 관찰에서는 IntlBackslash의 UI label이 역슬래시, User settings가 oem_102였습니다.
- NO를 오류로 고치기 전에 Layout info·여섯 열·Raw mapping을 함께 보존합니다.
- 이번 편은 읽기 전용이며 keybindings.json과 Windows 레이아웃을 바꾸지 않습니다.
공식 자료
아래 자료는 2026-09-17 KST에 접근했습니다. Stable 1.138.0·Windows 11 범위입니다. 실제 키보드 하드웨어·IME·다른 레이아웃에서는 값이 다를 수 있으며, 정확한 표 행은 동일 version/commit의 2026-09-16 로컬 관찰을 재검증해 사용했습니다. 오늘 격리 UI 재실행은 캡처 전에 실패했으므로 새 UI PASS를 주장하지 않습니다.
- Keyboard shortcuts for Visual Studio Code · Microsoft — 현재 레이아웃에 맞춘 UI 표시, User keybindings 직렬화, scan-code 바인딩
- Keybinding Issues · Microsoft vscode — Inspect Key Mappings 절차와 Windows scan code·virtual key·produced character 관계
- WindowsKeyboardMapper Stable 1.138.0 · Microsoft vscode — WYSIWYG 판정식, 표 열 구성, false일 때 NO 출력
- Key code map Stable 1.138.0 · Microsoft vscode — IntlBackslash, OEM_102, VK_OEM_102 정적 매핑
- Workbench keybinding service Stable 1.138.0 · Microsoft vscode — Inspect Key Mappings 출력에 Layout·resolved bindings·mapper table·Raw mapping을 조합하는 구현
- VS Code Stable update metadata · Microsoft — 2026-09-17 접근 시 Stable 1.138.0, commit 7debcd0e2acdea1c52de81bf9ee1620444407dda
'개발 > Visual Studio Code' 카테고리의 다른 글
| 커맨드 팔레트 51부: 두 단계 Chord의 입력 경계와 충돌 수 확인 (0) | 2026.09.20 |
|---|---|
| 커맨드 팔레트 50부: 단축키 입력 상자의 표시와 JSON 교차 확인추천 태그: (0) | 2026.09.19 |
| 커맨드 팔레트 48부: VS Code 현재 키보드 레이아웃의 키 매핑 원문 확인하기 (0) | 2026.09.16 |
| 커맨드 팔레트 47부: VS Code Task 단축키를 물리 키 위치로 고정하기 (1) | 2026.09.16 |
| 커맨드 팔레트 46부: VS Code Task 종료 단축키의 매칭 로그로 충돌 진단하기 (0) | 2026.09.16 |