개발/Visual Studio Code

커맨드 팔레트 49부: VS Code 키 매핑 표의 WYSIWYG NO 행 읽기

VS CODE 초보자 시리즈 · 커맨드 팔레트 49부

커맨드 팔레트 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와 원문 파일 — 외부 전송 없이 보존합니다.
안전하게 시작하기 진단 출력에는 User resolved keybindings와 레이아웃 정보가 포함될 수 있습니다. 로컬 빈 폴더에만 저장하고 기존 파일 덮어쓰기·외부 전송·User 설정 편집을 하지 않습니다. 중단 조건: 기존 파일 발견, 덮어쓰기 확인, 명령 부재, 행의 열 누락, 예상 밖 설정 변경.

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 폴더를 엽니다

목적 기존 파일과 설정을 보호합니다.

주의·되돌리기 기존 폴더를 비우거나 파일을 삭제하지 않습니다. 되돌리기: 폴더를 닫습니다. 삭제는 하지 않습니다.
  1. 직접 만든 빈 JCOS-VSC49-WYSIWYG-Lab 폴더를 File > Open Folder...로 엽니다.

입력 위치 VS Code 메뉴 · Workspace Folder

JCOS-VSC49-WYSIWYG-Lab/
정상 결과 Explorer에 빈 폴더만 보입니다.

확인 기존 파일과 .vscode 폴더가 0개인지 확인합니다.

실패 신호 업무 파일 또는 기존 설정 폴더가 보입니다.

복구와 재합류 저장하지 않고 폴더를 닫은 뒤 새 빈 폴더에서 STEP-01로 재합류합니다.

근거 [SRC-01]

2. 현재 Stable과 설치본을 기록합니다

목적 진단 결과의 적용 버전을 고정합니다.

주의·되돌리기 설치·업데이트·다운그레이드를 실행하지 않습니다. 되돌리기: 변경이 없으므로 Rollback이 없습니다.
  1. 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를 엽니다

목적 현재 레이아웃의 진단 표를 생성합니다.

주의·되돌리기 비슷한 명령을 임의 실행하거나 설정을 바꾸지 않습니다. 되돌리기: Untitled 탭을 저장하지 않고 닫습니다.
  1. 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로 중단합니다.

근거 [SRC-02] [SRC-05]

4. Layout info를 먼저 적습니다

목적 행 해석의 환경 범위를 고정합니다.

주의·되돌리기 이 Run의 00000409/US를 모든 Windows 환경의 값으로 일반화하지 않습니다. 되돌리기: notes 파일을 저장하지 않고 닫습니다.
  1. 문서 첫 블록의 name, id, text를 notes 파일에 원문 그대로 옮깁니다.

입력 위치 Inspect Key Mappings 문서와 새 key-mapping-notes.txt

name: "<현재 값>"
id: "<현재 값>"
text: "<현재 값>"
정상 결과 빈 문자열을 포함해 세 필드가 기록됩니다.

확인 원문과 notes를 문자 단위로 대조합니다.

실패 신호 샘플 00000409/US를 화면 확인 없이 복사했습니다.

복구와 재합류 샘플을 지우고 자신의 실제 세 값을 다시 옮겨 STEP-04로 재합류합니다.

근거 [SRC-02] [SRC-05]

5. 표 머리글 여섯 칸을 찾습니다

목적 NO의 비교 대상을 먼저 이해합니다.

주의·되돌리기 표를 수정하거나 정렬하지 않습니다. 되돌리기: 변경이 없으므로 Rollback이 없습니다.
  1. 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 행으로 범위를 제한합니다.

주의·되돌리기 키보드에 IntlBackslash 물리 키가 없더라도 표의 진단 행을 억지로 눌러 시험하지 않습니다. 되돌리기: 선택만 해제합니다.
  1. 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에 재합류합니다.

근거 [SRC-03] [SRC-04]

7. UI label과 User settings를 분리해 읽습니다

목적 NO가 표시된 직접 원인을 확인합니다.

주의·되돌리기 NO를 오류 코드나 설정 실패로 해석하지 않습니다. 되돌리기: 잘못 옮긴 세 줄만 수정합니다.
  1. 선택한 행에서 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로 재합류합니다.

근거 [SRC-03] [SRC-04]

8. 판정 규칙으로 NO를 설명합니다

목적 관찰을 구현 근거와 연결합니다.

주의·되돌리기 구현을 해석하되 독자 환경의 다른 행 결과를 추정하지 않습니다. 되돌리기: 판정 문장만 삭제하거나 수정합니다.
  1. 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를 같은 문서의 원시 매핑과 연결합니다.

주의·되돌리기 이 Run의 value/withShift를 다른 레이아웃의 보편값으로 일반화하지 않습니다. 되돌리기: 기록한 객체만 제거합니다.
  1. 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에 재합류합니다.

근거 [SRC-04] [SRC-05]

10. 진단 Evidence를 새 파일로 저장합니다

목적 같은 행을 나중에 다시 비교할 수 있게 합니다.

주의·되돌리기 User resolved keybindings가 포함될 수 있으므로 외부 업로드·공유는 별도 Human Gate 없이 하지 않습니다. 되돌리기: 저장을 취소하거나, 직접 만든 새 파일만 경로를 확인한 뒤 제거합니다.
  1. 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을 다시 실행합니다.

근거 [SRC-02] [SRC-05]

11. 설정 무변경과 완료 조건을 확인합니다

목적 읽기 전용 진단으로 실습을 끝냅니다.

주의·되돌리기 설정 파일을 저장하지 않았는지 확인하고 예상 밖 변경이 있으면 원인을 확인한 범위만 복원합니다. 되돌리기: 진단 탭을 닫고 원치 않으면 직접 만든 Evidence 파일만 제거합니다.
  1. 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으로 둡니다.

근거 [SRC-01] [SRC-02] [SRC-03]

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

핵심 판단 확인되지 않은 차이는 UNKNOWN으로 두고 Layout info, 여섯 열, Raw mapping, VS Code 버전과 오류 원문을 보존한 뒤 설정 변경 없이 중단합니다.

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를 주장하지 않습니다.

다음 편 예고 커맨드 팔레트 50부 — 단축키 입력 상자로 표시와 JSON을 교차 확인하기: Define Keybinding 입력 상자에서 현재 레이아웃 표시와 직렬화된 JSON을 확인한 뒤 Escape로 취소합니다.
VS CODE 초보자 시리즈 · 커맨드 팔레트 49부

커맨드 팔레트 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와 원문 파일 — 외부 전송 없이 보존합니다.
안전하게 시작하기 진단 출력에는 User resolved keybindings와 레이아웃 정보가 포함될 수 있습니다. 로컬 빈 폴더에만 저장하고 기존 파일 덮어쓰기·외부 전송·User 설정 편집을 하지 않습니다. 중단 조건: 기존 파일 발견, 덮어쓰기 확인, 명령 부재, 행의 열 누락, 예상 밖 설정 변경.

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 폴더를 엽니다

목적 기존 파일과 설정을 보호합니다.

주의·되돌리기 기존 폴더를 비우거나 파일을 삭제하지 않습니다. 되돌리기: 폴더를 닫습니다. 삭제는 하지 않습니다.
  1. 직접 만든 빈 JCOS-VSC49-WYSIWYG-Lab 폴더를 File > Open Folder...로 엽니다.

입력 위치 VS Code 메뉴 · Workspace Folder

JCOS-VSC49-WYSIWYG-Lab/
정상 결과 Explorer에 빈 폴더만 보입니다.

확인 기존 파일과 .vscode 폴더가 0개인지 확인합니다.

실패 신호 업무 파일 또는 기존 설정 폴더가 보입니다.

복구와 재합류 저장하지 않고 폴더를 닫은 뒤 새 빈 폴더에서 STEP-01로 재합류합니다.

근거 [SRC-01]

2. 현재 Stable과 설치본을 기록합니다

목적 진단 결과의 적용 버전을 고정합니다.

주의·되돌리기 설치·업데이트·다운그레이드를 실행하지 않습니다. 되돌리기: 변경이 없으므로 Rollback이 없습니다.
  1. 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를 엽니다

목적 현재 레이아웃의 진단 표를 생성합니다.

주의·되돌리기 비슷한 명령을 임의 실행하거나 설정을 바꾸지 않습니다. 되돌리기: Untitled 탭을 저장하지 않고 닫습니다.
  1. 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로 중단합니다.

근거 [SRC-02] [SRC-05]

4. Layout info를 먼저 적습니다

목적 행 해석의 환경 범위를 고정합니다.

주의·되돌리기 이 Run의 00000409/US를 모든 Windows 환경의 값으로 일반화하지 않습니다. 되돌리기: notes 파일을 저장하지 않고 닫습니다.
  1. 문서 첫 블록의 name, id, text를 notes 파일에 원문 그대로 옮깁니다.

입력 위치 Inspect Key Mappings 문서와 새 key-mapping-notes.txt

name: "<현재 값>"
id: "<현재 값>"
text: "<현재 값>"
정상 결과 빈 문자열을 포함해 세 필드가 기록됩니다.

확인 원문과 notes를 문자 단위로 대조합니다.

실패 신호 샘플 00000409/US를 화면 확인 없이 복사했습니다.

복구와 재합류 샘플을 지우고 자신의 실제 세 값을 다시 옮겨 STEP-04로 재합류합니다.

근거 [SRC-02] [SRC-05]

5. 표 머리글 여섯 칸을 찾습니다

목적 NO의 비교 대상을 먼저 이해합니다.

주의·되돌리기 표를 수정하거나 정렬하지 않습니다. 되돌리기: 변경이 없으므로 Rollback이 없습니다.
  1. 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 행으로 범위를 제한합니다.

주의·되돌리기 키보드에 IntlBackslash 물리 키가 없더라도 표의 진단 행을 억지로 눌러 시험하지 않습니다. 되돌리기: 선택만 해제합니다.
  1. 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에 재합류합니다.

근거 [SRC-03] [SRC-04]

7. UI label과 User settings를 분리해 읽습니다

목적 NO가 표시된 직접 원인을 확인합니다.

주의·되돌리기 NO를 오류 코드나 설정 실패로 해석하지 않습니다. 되돌리기: 잘못 옮긴 세 줄만 수정합니다.
  1. 선택한 행에서 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로 재합류합니다.

근거 [SRC-03] [SRC-04]

8. 판정 규칙으로 NO를 설명합니다

목적 관찰을 구현 근거와 연결합니다.

주의·되돌리기 구현을 해석하되 독자 환경의 다른 행 결과를 추정하지 않습니다. 되돌리기: 판정 문장만 삭제하거나 수정합니다.
  1. 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를 같은 문서의 원시 매핑과 연결합니다.

주의·되돌리기 이 Run의 value/withShift를 다른 레이아웃의 보편값으로 일반화하지 않습니다. 되돌리기: 기록한 객체만 제거합니다.
  1. 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에 재합류합니다.

근거 [SRC-04] [SRC-05]

10. 진단 Evidence를 새 파일로 저장합니다

목적 같은 행을 나중에 다시 비교할 수 있게 합니다.

주의·되돌리기 User resolved keybindings가 포함될 수 있으므로 외부 업로드·공유는 별도 Human Gate 없이 하지 않습니다. 되돌리기: 저장을 취소하거나, 직접 만든 새 파일만 경로를 확인한 뒤 제거합니다.
  1. 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을 다시 실행합니다.

근거 [SRC-02] [SRC-05]

11. 설정 무변경과 완료 조건을 확인합니다

목적 읽기 전용 진단으로 실습을 끝냅니다.

주의·되돌리기 설정 파일을 저장하지 않았는지 확인하고 예상 밖 변경이 있으면 원인을 확인한 범위만 복원합니다. 되돌리기: 진단 탭을 닫고 원치 않으면 직접 만든 Evidence 파일만 제거합니다.
  1. 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으로 둡니다.

근거 [SRC-01] [SRC-02] [SRC-03]

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

핵심 판단 확인되지 않은 차이는 UNKNOWN으로 두고 Layout info, 여섯 열, Raw mapping, VS Code 버전과 오류 원문을 보존한 뒤 설정 변경 없이 중단합니다.

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를 주장하지 않습니다.

다음 편 예고 커맨드 팔레트 50부 — 단축키 입력 상자로 표시와 JSON을 교차 확인하기: Define Keybinding 입력 상자에서 현재 레이아웃 표시와 직렬화된 JSON을 확인한 뒤 Escape로 취소합니다.
이 글이 유용했다면 링크를 공유해 보세요.