개발/Visual Studio Code

커맨드 팔레트 65부: matched와 Invoking을 읽고 실제 화면으로 완료 확인하기

반응형
커맨드 팔레트 65부, 호출 뒤 화면 확인. 짙은 남색 바탕에 단축키 일치 matched, 명령 호출 Invoking, 실제 화면 결과 확인의 세 단계를 화살표로 연결한 개념도.
VS CODE 초보자 시리즈 · 커맨드 팔레트 65부

커맨드 팔레트 65부: matched와 Invoking을 읽고 실제 화면으로 완료 확인하기

단축키 규칙 선택과 명령 호출을 구분하고, 실제 화면을 보며 완료 여부를 확인합니다.

같은 입력에 대해 matched의 명령 ID → Invoking의 명령 ID → 실제 화면 결과를 각각 대조하면 됩니다.

명령 이름이 로그에 나타났다는 이유만으로 원하는 창이 열렸다고 판단하지 마세요. 이번 실습에서는 키바인딩을 고치지 않고 Keyboard Shortcuts 화면이 열렸는지만 관찰합니다.

1. 시작하기 전에

64부에서 첫 조합과 두 번째 조합, 대기·완성을 구분했다면 이번에는 그다음인 호출과 화면 결과를 읽어 봅니다. 파일이나 설정을 편집하지 않는 관찰 실습입니다.

준비할 것

  • Windows 11의 데스크톱 VS Code Stable. 이 글의 구현 근거는 1.140.0이며, 실제 설치 버전은 정보 화면에서 확인합니다.
  • 명령 팔레트와 Keyboard Shortcuts 화면을 열 수 있어야 합니다. 키 조합과 명령 ID를 읽기 어려우면 64부부터 확인하세요.
  • 현재 키보드 배열, UI 언어, 활성 프로필, 키맵 확장 유무를 확인합니다. 사용자 키바인딩과 When 조건이 기본값과 다를 수 있습니다.
  • 진단을 켜기 전에 개인 정보 입력을 멈추고, 기존 파일과 설정을 바꾸지 않는다는 범위를 확인합니다.

적용 환경 Windows 11 · VS Code Stable 1.140.0 기준 · PowerShell 기본 맥락이지만 셸 명령은 실행하지 않습니다. 명령 팔레트에 입력하는 명령과 검색어만 사용하며 작업 디렉터리·관리자 권한·확장 설치는 필요하지 않습니다. UI 언어가 다르면 영문 이름과 명령 ID를 함께 대조하세요. [S1] [S2] [S6]

안전하게 시작하기 보호할 대상은 열린 파일, 기존 키바인딩·설정, 개인 정보가 포함될 수 있는 로그입니다. 이 절차는 저장·삭제·전송·코드 실행을 하지 않으므로 별도 파일 백업을 요구하는 변경 단계가 없습니다. 로그를 켠 동안 비밀번호나 개인 정보를 입력하지 마세요. 중단 조건: 저장·편집·설치·권한·외부 전송을 요구하는 창이 나오거나 현재 초점과 진단 상태를 설명할 수 없으면 멈춥니다. 실제 변경이 필요하면 별도 백업과 본인 확인을 거친 뒤 다른 작업으로 다룹니다.

2. 알아둘 핵심 개념

matched: 어떤 규칙을 선택했는지 읽습니다

키바인딩 해결기는 입력한 키와 현재 조건에 맞는 규칙을 찾습니다. 해당 배포 소스의 matched 기록은 선택된 명령, When 조건과 출처를 설명합니다. 이 함수의 선택 결과를 곧바로 화면 완료로 해석하지 마세요. 후보 항목 수 역시 실행된 명령 개수가 아닙니다. [S1] [S3]

Invoking: 명령 호출 단계에 들어갔다는 기록입니다

1.140.0 배포 커밋에서 Invoking은 executeCommand 호출보다 먼저 기록됩니다. 명령 서비스는 그 이후 확장 활성화를 기다리거나, 명령이 없거나 핸들러가 실패하면 오류를 돌려줄 수 있습니다. 따라서 호출 이후 오류와 실제 결과를 확인해야 합니다. 이는 공식 소스의 처리 순서를 근거로 한 설명이며, 개별 PC의 성공 기록은 아닙니다. [S4] [S5]

명령 ID와 화면 결과를 연결합니다

workbench.action.openGlobalKeybindings는 이번에 볼 명령의 식별자입니다. 번역된 UI 이름이 달라도 같은 ID인지 대조하세요. PowerShell 명령이나 설정 키가 아니며 바꿔 넣을 플레이스홀더도 없습니다. 이 글에서의 완료 상태는 Keyboard Shortcuts의 검색 입력란과 목록을 실제로 확인하는 것입니다. [S1] [S2]

3. 순서대로 진행하기

각 단계의 정상 결과를 확인한 뒤 다음 단계로 이동합니다. 아래 명령 이름·명령 ID·검색어는 표시된 위치에서 그대로 사용하며 치환할 값이 없습니다.

1. 설치 버전과 환경을 확인합니다

목적 설명에 적용할 설치 환경을 분명히 합니다.

  1. VS Code의 정보 화면에서 설치된 제품과 버전을 확인합니다.

입력 위치 Windows 데스크톱 VS Code의 Help(도움말) → About(정보). 표시 언어에 따라 이름은 다를 수 있습니다.

관찰 기록: 제품 · 버전 · Windows 버전 · UI 언어 · 키보드 배열 · 활성 프로필
정상 결과 어떤 설치에서 따라 하는지 설명할 수 있습니다. 이 글의 소스 기준은 VS Code Stable 1.140.0입니다.

확인 제품이 Stable 데스크톱판인지 확인하고, 다른 버전이면 UI·키바인딩 차이를 먼저 확인합니다. 확인 후 정보 화면의 닫기 컨트롤로 돌아옵니다.

실패 신호 버전·제품 종류가 불명확하거나 브라우저판/Insiders입니다.

복구·재합류 버전을 추정하지 마세요. 정보 화면에서 값을 확인한 뒤 S01부터 다시 시작합니다.

주의·되돌리기 설정은 바꾸지 않고 정보 화면만 닫습니다.

[S6]

2. Keyboard Shortcuts 화면을 엽니다

목적 기본값 대신 내 환경의 키바인딩을 읽습니다.

  1. 명령 팔레트에서 Preferences: Open Keyboard Shortcuts를 실행합니다.

입력 위치 VS Code 명령 팔레트. 기본 Windows 진입 키는 Ctrl+Shift+P 또는 F1입니다. 한국어 UI에서는 명령 이름이 번역되어 보일 수 있습니다.

Preferences: Open Keyboard Shortcuts
정상 결과 Keyboard Shortcuts의 검색 입력란과 키바인딩 목록이 보입니다.

확인 파일 내용 찾기나 전역 파일 검색 화면이 아닌지 확인합니다. 탭·대화 상자 모양 자체를 완료 기준으로 삼지 않습니다.

실패 신호 명령을 찾지 못하거나 다른 검색 화면이 열립니다.

복구·재합류 명령 이름을 다시 확인합니다. 메뉴의 File(파일) → Preferences(기본 설정) → Keyboard Shortcuts(바로 가기 키) 경로도 확인하고, 같은 화면에 도달하면 S03으로 이동합니다. 경로를 확인할 수 없으면 중단합니다.

주의·되돌리기 편집 아이콘을 누르지 않고 화면의 닫기 컨트롤로 돌아갑니다.

[S1] [S2]

3. 대상 명령의 키와 조건을 읽습니다

목적 이후 입력할 키 조합이 어떤 명령으로 해석되는지 확인합니다.

  1. Keyboard Shortcuts 검색 상자에 아래 검색어를 입력합니다.

입력 위치 Keyboard Shortcuts의 검색 입력란. PowerShell이나 편집기 본문에 입력하지 않습니다.

@command:workbench.action.openGlobalKeybindings
정상 결과 해당 명령의 키바인딩, When 조건, 출처를 볼 수 있습니다.

확인 명령 ID와 Keybinding을 대조합니다. 공식 Windows 기본값은 Ctrl+K 다음 Ctrl+S입니다. 사용자 규칙이 다르면 그 차이를 기록하고, 적용 규칙이 명확할 때만 진행합니다.

실패 신호 결과가 없거나 여러 규칙 중 실제 적용 대상을 설명할 수 없습니다.

복구·재합류 검색어를 확인하고 키·When·출처를 읽습니다. 확인되지 않으면 새 바인딩을 만들지 말고 멈춥니다. 확인되면 S04로 이동합니다.

주의·되돌리기 검색어만 지우면 됩니다. 키바인딩 편집·삭제·초기화는 하지 않습니다.

[S1] [S2]

4. 목표 화면이 닫힌 기준 상태를 만듭니다

목적 원래 열려 있던 화면을 새 실행 결과로 잘못 세지 않습니다.

  1. Keyboard Shortcuts 화면의 보이는 닫기 컨트롤을 눌러 닫습니다.

입력 위치 VS Code 안의 해당 화면. 바깥 VS Code 창 전체의 종료 버튼과 구분합니다.

관찰할 기준 상태: Keyboard Shortcuts 화면이 닫혀 있음
정상 결과 원래 VS Code 작업 화면으로 돌아옵니다.

확인 검색 입력란과 키바인딩 목록이 더 이상 보이지 않는지 확인합니다. 단축키 기록 모드나 편집 대화 상자가 남아 있지 않아야 합니다.

실패 신호 어느 화면을 닫는지 불명확하거나 저장·편집 대화 상자가 나타납니다.

복구·재합류 뜻밖의 대화 상자는 취소하고 바꾸지 않습니다. 기준 상태를 설명할 수 있을 때 S05로 이동합니다. 확인할 수 없으면 중단합니다.

주의·되돌리기 S02의 메뉴/명령 팔레트 경로로 같은 화면을 다시 열 수 있습니다.

[S1]

5. 단축키 진단 로그를 켭니다

목적 다음 한 번의 입력에 대한 진단 기록을 만듭니다.

  1. 명령 팔레트에서 Developer: Toggle Keyboard Shortcuts Troubleshooting을 실행합니다.

입력 위치 VS Code 명령 팔레트. 터미널 명령이 아닙니다.

Developer: Toggle Keyboard Shortcuts Troubleshooting
정상 결과 진단 로깅이 켜지고 Output에서 기록을 확인할 수 있습니다.

확인 로깅을 켰다는 상태와 Output을 확인한 뒤에만 S06으로 이동합니다. 이미 진단 중이었다면 토글 전후 상태부터 확인합니다.

실패 신호 명령 또는 Output을 찾을 수 없거나 진단이 켜졌는지 불명확합니다.

복구·재합류 제품·버전·명령 이름을 다시 확인합니다. 상태를 모른 채 토글을 반복하지 말고 중단합니다.

주의·되돌리기 켜진 상태를 확인했다면 같은 토글을 한 번 실행해 끕니다. 로그를 켠 채 다른 개인 작업을 하지 않습니다.

[S1] [S4]

6. 확인한 키 조합을 한 번 입력합니다

목적 하나의 입력을 로그와 실제 결과에 연결합니다.

  1. S03에서 확인한 키 조합을 한 번 입력합니다. 기본값이면 Ctrl+K를 누른 뒤 Ctrl+S를 누릅니다.

입력 위치 VS Code 창 내부. 터미널·키바인딩 기록 모드·편집 팝업이 입력 대상이 되지 않도록 현재 초점을 확인합니다.

기본 키 순서: Ctrl+K → Ctrl+S
정상 결과 Keyboard Shortcuts 화면이 나타납니다. 두 조합을 동시에 누르는 Ctrl+K+S 방식이 아닙니다.

확인 먼저 화면을 관찰합니다. 이어서 로그를 읽을 때 이 입력과 탐색을 위해 나중에 누른 키를 구분합니다.

실패 신호 대기만 이어지거나 다른 명령·저장 대화 상자가 나타나거나 목표 화면이 보이지 않습니다.

복구·재합류 뜻밖의 대화 상자는 취소하고 저장·편집하지 않습니다. 현재 상태와 입력을 기록한 뒤 S03의 키바인딩·조건 확인으로 돌아갑니다. 반복 입력으로 맞추지 않습니다.

주의·되돌리기 대상 화면만 닫으면 S04의 상태로 돌아갈 수 있습니다. 변경을 요구하는 작업은 승인하지 않습니다.

[S1] [S2]

7. 화면에서 완료 상태를 확인합니다

목적 호출 로그와 독립된 완료 증거를 확인합니다.

  1. 현재 화면에 Keyboard Shortcuts의 검색 입력란과 키바인딩 목록이 있는지 관찰합니다.

입력 위치 실제 VS Code 화면. Output 문자열을 화면 관찰의 대체물로 쓰지 않습니다.

관찰 기록: 검색 입력란 표시 여부 · 목록 표시 여부 · 오류 알림 여부
정상 결과 목표 검색 UI와 목록을 직접 볼 수 있습니다.

확인 S04의 닫힌 상태와 비교합니다. 화면이 처음부터 열려 있었다면 이번 입력 때문에 열린 것인지 구분할 수 없다는 제한을 기록합니다.

실패 신호 Invoking을 봤다는 설명만 있고 실제 화면 결과를 확인할 수 없습니다.

복구·재합류 명령 ID·오류 알림·현재 초점을 기록합니다. 원인을 모르면 UNKNOWN으로 남기고 임의 설정 변경 없이 중단합니다. 목표 화면을 확인했으면 S08로 이동합니다.

주의·되돌리기 개인 정보가 보이는 화면은 공유하지 말고 관찰 항목만 글로 남깁니다.

[S3] [S4] [S5]

8. 같은 입력의 matched와 Invoking을 대조합니다

목적 규칙 선택과 명령 호출을 같은 명령 ID에 연결합니다.

  1. S06 입력에 해당하는 최근 로그 묶음에서 matched와 Invoking의 명령 ID를 대조합니다.

입력 위치 Keyboard Shortcuts Troubleshooting의 Output. 목표 화면 관찰을 마친 뒤 보이는 UI로 로그에 돌아옵니다.

대조할 명령 ID: workbench.action.openGlobalKeybindings
정상 결과 각 기록이 어떤 명령을 가리키는지 설명할 수 있습니다.

확인 선택 기록, 호출 기록, S07 화면 관찰을 따로 적습니다. 서로 다른 시도의 줄을 합치거나 후보 수를 실행 횟수로 해석하지 않습니다.

실패 신호 matched만 있거나, 명령 ID가 다르거나, 어느 입력의 기록인지 분명하지 않습니다.

복구·재합류 앞뒤 로그와 당시 초점을 보존합니다. 오류 원문은 고치지 않고, 원인이 확인되지 않으면 UNKNOWN으로 둡니다. S03의 규칙을 다시 확인한 뒤 재시도 여부를 판단합니다.

주의·되돌리기 설정을 변경해 로그를 맞추지 않습니다. 키 입력과 개인 경로가 든 불필요한 로그는 외부로 공유하지 않습니다.

[S1] [S3] [S4] [S5]

9. 진단을 종료하고 원래 상태로 돌아갑니다

목적 불필요한 진단 기록을 남기지 않습니다.

  1. 진단이 켜진 상태에서 Developer: Toggle Keyboard Shortcuts Troubleshooting을 한 번 더 실행해 끕니다.

입력 위치 VS Code 명령 팔레트.

Developer: Toggle Keyboard Shortcuts Troubleshooting
정상 결과 진단을 종료한 뒤 원래 작업에 돌아갈 수 있습니다.

확인 파일 내용과 키바인딩을 편집하지 않았는지 확인합니다. 작업 파일을 저장하거나 초기화할 필요는 없습니다.

실패 신호 현재 진단 상태가 불분명하거나 뜻밖의 변경이 보입니다.

복구·재합류 추가 작업을 멈추고 상태를 먼저 확인합니다. 단축키·설정을 일괄 초기화하지 않습니다. 종료 상태를 확인하면 아래 완료 확인으로 이동합니다.

주의·되돌리기 토글은 상태를 뒤집습니다. 켜짐·꺼짐을 확인하지 못한 채 반복하지 않습니다.

[S1] [S4]

4. 완료 확인하기

입력한 키를 다시 읽는 것과 결과 화면을 보는 것을 분리하세요. 같은 시도에 대해 아래 세 가지를 각각 적으면 됩니다.

  • 규칙 선택: matched의 명령 ID, 조건과 출처를 확인합니다.
  • 명령 호출: Invoking의 명령 ID를 대조하고 오류 알림이 있다면 원문을 기록합니다.
  • 실제 결과: S04의 닫힌 상태와 비교해 Keyboard Shortcuts 검색 입력란과 목록이 나타났는지 확인합니다.

메뉴나 명령 팔레트로 같은 화면을 여는 별도 경로는 목표 화면을 식별하는 데 도움이 됩니다. 다만 그 경로가 열렸다고 해서 원래 단축키까지 정상이라고 판단하면 안 됩니다. 원래 키 입력의 기록과 화면 관찰이 같은 시도여야 합니다.

완료 기준 선택된 명령, 호출된 명령, 화면에 나타난 결과를 서로 구분해 설명하고, 진단을 종료한 뒤 기존 파일과 키바인딩을 바꾸지 않았음을 확인하세요.

5. 문제가 생겼다면

matched만 보입니다

먼저 확인 같은 입력의 앞뒤 로그와 명령 ID를 확인합니다. 다른 시도의 줄을 합치지 않습니다.

복구 호출 여부는 미확인으로 남기세요. 선택 기록만으로 성공을 선언하지 않습니다. 당시 초점·로그를 보존하고 바인딩을 고치지 않습니다.

재합류 확인한 뒤 S03에서 다시 시작하고 원래 완료 기준을 재확인합니다.

Invoking은 있는데 화면이 기대와 다릅니다

먼저 확인 실제로 호출된 ID, 오류 알림, 화면이 이미 열려 있었는지 확인합니다.

복구 화면을 직접 확인할 수 없다면 완료로 적지 않습니다. 메뉴/명령 팔레트로 목표 화면을 비교하고, 원인이 불분명하면 UNKNOWN으로 두고 중단합니다.

재합류 확인한 뒤 S04에서 다시 시작하고 원래 완료 기준을 재확인합니다.

Ctrl+K 뒤에서 계속 기다립니다

먼저 확인 64부의 첫 조합·두 번째 조합 구분과 S03의 현재 키바인딩을 확인합니다.

복구 두 조합을 동시에 누른 것으로 처리하지 않습니다. 현재 UI에서 안전하게 취소할 수 있는 상태인지 먼저 확인하세요. 취소 여부를 모르거나 예상 밖 명령이 실행되면 중단합니다.

재합류 확인한 뒤 S03에서 다시 시작하고 원래 완료 기준을 재확인합니다.

명령 ID가 다르거나 조건이 맞지 않습니다

먼저 확인 키바인딩의 When 조건, 현재 초점, 출처를 읽습니다. 필요하면 Show Same Keybindings로 같은 키를 쓰는 항목을 조회만 합니다.

복구 확장 기능이나 운영체제를 원인으로 단정하지 않습니다. 규칙 삭제·초기화·확장 비활성화는 이 관찰 범위에 포함하지 않습니다.

재합류 확인한 뒤 S03에서 다시 시작하고 원래 완료 기준을 재확인합니다.

핵심 판단 확인되지 않은 원인은 UNKNOWN으로 남깁니다. 오류 원문과 비공개 정보가 제거된 관찰을 보존하고, 임의 변경으로 결과를 맞추지 마세요.

6. 핵심 정리와 공식 자료

  • matched는 선택된 키바인딩 규칙을 읽는 단서입니다.
  • Invoking은 호출 단계의 기록입니다. 이후 오류와 화면 결과는 따로 확인합니다.
  • Keyboard Shortcuts의 실제 검색 UI를 관찰하고, 진단을 끈 뒤 원래 작업에 돌아오세요.

공식 자료

대상 기준 시점은 2026년 10월 3일 19:00 KST입니다. 공식 문서는 같은 날 19:00~19:03 KST에, 배포 커밋의 추가 구현은 19:15 KST에 확인했습니다. 소스 링크는 기준 시점 전에 공개된 1.140.0 배포 커밋에 고정했습니다. 문서 근거와 실제 설치 환경의 수행 결과는 구분하며, UI·키바인딩은 설치 버전과 프로필에서 다시 확인하세요.

이전 편: 커맨드 팔레트 64부 · awaiting more chord(s) 읽기

다음 편 예고 커맨드 팔레트 66부에서는 화면이 이미 열려 있을 때 초점 이동으로 결과를 확인하는 방법을 살펴봅니다. 이번 편의 명령 호출과 화면 결과 구분을 알고 있으면 이어갈 수 있습니다.
반응형
이 글이 유용했다면 링크를 공유해 보세요.