커맨드 팔레트 45부: VS Code Terminal Find가 열려 있을 때 Task 종료 단축키 잠그기
Terminal Find가 보이는 동안 연습 Task의 종료 단축키를 잠그고, 검색창을 닫은 뒤에만 다시 사용할 수 있게 만듭니다.
이번 편의 핵심
검색창 닫힘 → ON, 검색창 열림 → OFF, 검색창을 둔 채 Terminal 본문에 포커스 → OFF, 검색창 닫기 → ON을 확인하고 연습 Target만 종료한 뒤 설정을 원복합니다.
Find 입력에서 본문으로 돌아와도 검색창이 보이면 종료 잠금을 유지합니다.
1. 시작하기 전에
이번 글은 앞선 텍스트 선택 잠금에 검색창 표시 조건을 더하는 실습입니다. JSON 객체를 배열에 병합할 수 있는 초보자를 대상으로 하며 예상 시간은 15~20분입니다. 이전 편을 따라 했어도 아래 선수 조건부터 다시 확인하세요.
적용 환경: Windows 11 · VS Code Stable 1.137.0 · Windows PowerShell powershell.exe · 단일 로컬 연습 Workspace. 조사 시점은 2026-09-13 Asia/Seoul입니다. 영어 UI 명칭을 기준으로 쓰며 한국어 표시가 다르면 영어 명령이나 command ID로 확인합니다.
준비할 것
- 중요한 코드나 실행 중 빌드가 없는 새 연습 폴더를 File > Open Folder로 열어 둡니다. Explorer의 최상위 폴더 이름을 확인하세요. JCOS 저장소나 업무 폴더를 실습 폴더로 사용하지 않습니다.
- 현재 Profile의 User keybindings.json을 열 수 있어야 합니다. Ctrl+Shift+P에서 Preferences: Open Keyboard Shortcuts (JSON)을 실행해 파일이 배열인지 확인합니다. 파일 경로를 추측해서 직접 덮어쓰지 않습니다. [S3]
- PowerShell Terminal에서 Get-Command powershell.exe를 실행해 CommandType과 Source가 표시되는지 확인합니다. 실행 위치는 열린 연습 폴더이며 이 명령은 조회만 합니다. 없으면 중단하고 설치나 정책 변경을 시도하지 않습니다.
- 기존 keybindings.json과 .vscode/tasks.json이 있다면 원문 전체를 연습 폴더 밖의 백업 파일로 복사하고 다시 열어 내용이 같은지 확인합니다. 파일이 없던 상태도 메모합니다. Settings Sync가 켜져 있다면 User 단축키 변경이 다른 환경에 반영될 수 있으므로 사용하는 Profile과 동기화 상태를 먼저 확인합니다.
Rollback: 연습 Task만 label을 확인해 수동 종료하고, 추가한 User rule과 두 Task 객체만 제거합니다. 기존 배열은 백업과 비교해 보존합니다. 이전 편 rule을 교체했다면 그 객체만 복원합니다. 원래 없었던 파일은 다른 내용이 생기지 않았는지 확인한 뒤 연습 파일만 제거할 수 있습니다. 실행 중인 업무 Task는 임의 재시작하지 않습니다.
2. 알아둘 핵심 개념
FACT — Context Key와 when
Context Key는 VS Code가 UI 상태에 따라 제공하는 값입니다. User keybindings.json의 when은 String인 조건식이며 설정 settings.json의 Key가 아닙니다. 이 글의 다섯 Context 값은 Boolean입니다. &&는 모든 항이 참이어야 통과하고 !는 참·거짓을 뒤집습니다. [S3][S4][S7]
FACT — visible과 focus
terminalFindVisible은 활성 Terminal의 Find 위젯이 보이는지 나타내며 기본값은 false입니다. 검색 입력란의 포커스는 별도 값으로 관리됩니다. 따라서 검색창을 열고 본문으로 돌아왔다는 이유만으로 검색창이 닫힌 것은 아닙니다. show/reveal은 표시 값을 true로, hide는 기본 false로 되돌립니다. [S7][S9]
EXAMPLE — 이번 조건식
taskRunning && terminalFocus && taskTerminalActive && !terminalTextSelected && !terminalFindVisible
뜻은 실행 중 Task가 있고, Terminal 본문에 포커스가 있으며, 활성 Terminal이 Task Terminal이고, 출력 선택과 검색창 표시가 모두 없는 경우입니다. 앞선 조건은 유지하고 마지막 조건만 이번 독자 목표에 추가합니다.
FACT — Target 지정과 한계
args는 종료할 Task label과 같은 String입니다. taskRunning은 특정 Target의 존재를 뜻하지 않고 taskTerminalActive도 Target 전용 조건이 아닙니다. 다른 Task만 실행 중이면 args 매칭이 실패해 선택창으로 넘어갈 수 있습니다. 이때 Esc로 취소합니다. [S10]
RECOMMENDATION — chord
ctrl+k ctrl+alt+t는 이 글의 예시이며 기본 VS Code 종료 단축키가 아닙니다. Ctrl+K를 눌렀다 놓고 Ctrl+Alt+T를 누르는 두 단계 입력입니다. 충돌이 있으면 확인한 미사용 조합으로 key만 바꾸고 모든 실습에서 같은 조합을 사용합니다.
관찰표 (앞의 네 조건이 통과할 때): Find 닫힘·terminalFindVisible=false → ON / Find 열림·terminalFindVisible=true → OFF / Find 열림 상태로 본문에 포커스 → OFF / Hide Find 후 false → ON. Find 입력란 포커스에서는 terminalFocus가 달라질 수 있으므로 Find 열림+본문 포커스 비교가 마지막 항을 검증하는 핵심입니다. 검색 결과 강조와 마우스로 선택한 출력 텍스트도 구분하세요.
3. 순서대로 진행하기
1. 백업과 실습 폴더 확정
목적 첫 변경을 안전하게 되돌릴 준비를 합니다.
- 시작하기 전 목록을 확인한 뒤 현재 User JSON과 기존 Workspace Task 파일의 원문을 별도 백업에 복사합니다.
입력 위치 현재 Profile User keybindings.json과 연습 폴더 .vscode/tasks.json
Artifact 백업 파일과 원래 파일 존재 여부 메모
정상 결과 백업을 다시 열었을 때 원문과 일치합니다.
확인 Explorer 폴더 이름·Profile·백업 내용·powershell.exe 조회 결과를 대조합니다.
실패 신호 업무 폴더, 저장 실패, 파일 위치 불명
복구와 재합류 변경을 하지 않고 올바른 연습 폴더를 연 뒤 Step 1부터 다시 확인합니다.
2. 두 연습 Task 객체 저장
목적 종료 대상과 부재 확인용 대조군을 만듭니다.
- 아래 Task 정의를 연습 .vscode/tasks.json에 병합해 저장합니다. 파일이 없을 때만 전체 예시를 사용하고 기존 파일은 tasks 배열 안에 두 객체만 추가합니다.
입력 위치 Workspace 범위 .vscode/tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "JCOS Find Lock Target",
"type": "process",
"command": "powershell.exe",
"args": [
"-NoProfile",
"-Command",
"$id=[guid]::NewGuid().ToString('N').Substring(0,8); Write-Output ('FIND_LOCK_TARGET RUN_ID='+$id); for($i=0;$i -lt 300;$i++){ Write-Output ('FIND_LOCK_TARGET HEARTBEAT='+$i); Start-Sleep -Seconds 1 }"
],
"problemMatcher": [],
"presentation": {
"reveal": "always",
"panel": "dedicated",
"clear": true
}
},
{
"label": "JCOS Find Lock Guard",
"type": "process",
"command": "powershell.exe",
"args": [
"-NoProfile",
"-Command",
"$id=[guid]::NewGuid().ToString('N').Substring(0,8); Write-Output ('FIND_LOCK_GUARD RUN_ID='+$id); for($i=0;$i -lt 300;$i++){ Write-Output ('FIND_LOCK_GUARD HEARTBEAT='+$i); Start-Sleep -Seconds 1 }"
],
"problemMatcher": [],
"presentation": {
"reveal": "always",
"panel": "dedicated",
"clear": true
}
}
]
}정상 결과 Tasks: Run Task 목록에 JCOS Find Lock Target과 Guard가 표시됩니다.
확인 JSON 오류가 없고 두 label·process·powershell.exe·args가 예시와 일치하는지 확인합니다.
실패 신호 빨간 밑줄, 쉼표 오류, Task 목록 누락
복구와 재합류 오류 원문과 줄 번호를 복사한 뒤 추가 객체만 제거하고 백업과 비교합니다. JSON을 복구하고 Step 2로 재합류합니다.
3. 단축키 충돌 확인
목적 잠금 상태에서 다른 명령이 실행될 가능성을 확인합니다.
- Ctrl+K Ctrl+S로 Keyboard Shortcuts를 열어 ctrl+k ctrl+alt+t를 검색하고 결과가 있으면 Show Same Keybindings로 command·when·source를 확인합니다.
입력 위치 Keyboard Shortcuts 편집기
Artifact 사용할 key와 기존 rule 기록
정상 결과 이번 조합을 사용하는 rule과 영향을 파악했습니다.
확인 동일 chord의 User rule을 포함해 비교합니다. 이전 편 종료 rule이 있으면 백업한 해당 객체를 교체 대상으로 표시합니다. [S3]
실패 신호 같은 chord의 광범위한 rule, 기존 정의를 설명할 수 없음
복구와 재합류 새 미사용 조합을 확인하거나 기존 rule을 보존한 채 중단합니다. 충돌을 정리한 후 Step 3부터 반복합니다.
4. 다섯 조건 종료 rule 저장
목적 Find가 표시되면 종료 rule을 제외합니다.
- User keybindings.json 배열 안에 아래 객체 하나를 추가하거나 앞선 편의 해당 종료 객체를 이 객체로 교체해 저장합니다.
입력 위치 Preferences: Open Keyboard Shortcuts (JSON) · User 범위
[
{
"key": "ctrl+k ctrl+alt+t",
"command": "workbench.action.tasks.terminate",
"args": "JCOS Find Lock Target",
"when": "taskRunning && terminalFocus && taskTerminalActive && !terminalTextSelected && !terminalFindVisible"
}
]정상 결과 한 User rule에 정확한 when과 Target args가 저장됩니다.
확인 key·command·args·when은 모두 String입니다. 마지막 항이 && !terminalFindVisible인지 확인하고 JSON 오류가 없는지 봅니다. [S3][S4]
실패 신호 terminalFindVisible 철자 오류, 중복 rule, 배열 전체 덮어쓰기
복구와 재합류 추가 rule을 제거하거나 해당 백업 객체를 복원합니다. 원문 오류를 기록하고 Step 4에서 객체 하나만 다시 병합합니다.
5. Target 실행과 기준 상태 기록
목적 실제 출력과 검색창 닫힘 기준선을 만듭니다.
- Ctrl+Shift+P > Tasks: Run Task에서 JCOS Find Lock Target을 실행하고 열린 Target Terminal 본문을 클릭합니다.
입력 위치 연습 Workspace Command Palette와 Target 전용 Terminal
Artifact FIND_LOCK_TARGET RUN_ID=<실제 8자리 값> 및 HEARTBEAT=<증가 숫자>
정상 결과 RUN_ID 한 줄 뒤 약 1초마다 HEARTBEAT가 증가합니다. Find와 마우스 텍스트 선택이 없습니다.
확인 Developer: Inspect Context Keys를 실행해 Terminal 본문을 검사합니다. 기대값은 taskRunning=true, terminalFocus=true, taskTerminalActive=true, terminalTextSelected=false, terminalFindVisible=false입니다. 검사 종료 후 본문을 다시 클릭합니다. [S4][S7]
실패 신호 즉시 종료, 다른 label, Context 불일치
복구와 재합류 오류 원문을 보존하고 연습 Target만 수동 정리합니다. 정의는 Step 2, 실행은 Step 5로 돌아갑니다. 약 5분 자연 종료라면 다시 시작해 새 RUN_ID 기준으로 Step 5부터 재확인합니다.
6. Terminal Find에서 출력 검색
목적 검색 흐름이 유지되는지 확인합니다.
- Target Terminal에서 Ctrl+F를 눌러 Find를 열고 FIND_LOCK_TARGET을 검색 입력란에 입력합니다.
입력 위치 Target Terminal Find 입력란
Artifact 검색어 FIND_LOCK_TARGET와 일치 결과 강조
정상 결과 Find가 보이고 출력의 같은 문자열이 강조됩니다.
확인 검색어가 남고 결과가 보이며 Target heartbeat가 계속 증가하는지 확인합니다. terminalFindVisible=true를 검사하되 입력란 포커스의 terminalFocus 값은 본문과 다를 수 있습니다. [S5][S7]
실패 신호 Editor Find가 열림, 결과 없음, Task 자연 종료
복구와 재합류 Find를 닫고 Target Terminal 본문을 선택한 뒤 Step 6을 반복합니다. 출력이 끝났으면 Step 5에서 다시 실행합니다.
7. Find를 둔 채 본문에서 잠금 검증
목적 포커스를 본문으로 돌려도 표시 조건이 계속 잠그는지 확인합니다.
- Find를 닫지 않고 Target Terminal 본문 빈 곳을 한 번 클릭한 뒤 확인을 마치고 종료 chord를 한 번 입력합니다.
입력 위치 Target Task Terminal 본문과 Keyboard Shortcuts Troubleshooting 로그
Artifact Find가 보이는 본문 상태, 종료 입력 전후 heartbeat와 원문 로그
정상 결과 Find는 열린 채이며 Target 출력이 계속 증가하고 이 종료 rule이 호출되지 않습니다.
확인 먼저 Developer: Toggle Keyboard Shortcuts Troubleshooting을 켜고 다시 본문에 포커스합니다. 앞의 네 조건 통과와 terminalFindVisible=true를 검사합니다. chord 후 2초 출력 증가와 실제 매칭 command를 로그에서 비교합니다. 검사 화면을 닫으면 본문 포커스를 다시 확인합니다. [S3][S9]
실패 신호 Find가 닫힘, 다른 command 실행, Target 종료, 앞의 조건 불일치
복구와 재합류 추가 chord 입력을 멈추고 로그·Context·RUN_ID를 보존합니다. 충돌은 Step 3, 문자열은 Step 4, 자연 종료는 Step 5로 재합류합니다. 원인 확인 전 임의 설정을 바꾸지 않습니다.
8. Find 닫기와 재활성 확인
목적 검색이 끝나면 조건이 다시 통과하는지 확인합니다.
- Target Terminal에서 Terminal: Hide Find를 실행해 검색창을 닫고 본문에 다시 포커스합니다.
입력 위치 Command Palette · workbench.action.terminal.hideFind · Target Terminal 본문
Artifact terminalFindVisible true→false 기록
정상 결과 Find가 사라지고 앞의 네 조건도 통과해 종료 rule이 다시 후보가 됩니다.
확인 다섯 Context 값을 다시 확인합니다. 출력 선택이 남으면 Escape로 선택을 해제한 뒤 검사합니다. 기본 Escape도 Find를 닫지만 포커스와 사용자 바인딩에 따라 다른 동작이 먼저 일어날 수 있습니다. [S7][S8][S9]
실패 신호 검색창 잔존, terminalTextSelected=true, 앞의 조건 false
복구와 재합류 command ID로 Hide Find를 확인하고 본문 포커스와 선택을 정리합니다. 여전히 다르면 Evidence를 보존해 Step 8을 반복하거나 UNKNOWN으로 중단합니다.
9. Target만 종료 확인
목적 허용된 상태에서 실제 종료 동작을 검증합니다.
- Find·텍스트 선택이 없고 Target label과 RUN_ID가 맞을 때 종료 chord를 한 번 입력합니다.
입력 위치 Target Task Terminal 본문
Artifact 마지막 heartbeat와 workbench.action.tasks.terminate 매칭 로그
정상 결과 Target 출력이 멈추고 자동으로 새 RUN_ID가 생기지 않습니다.
확인 2초 뒤 동일 RUN_ID 출력이 증가하지 않고 Tasks: Show Running Tasks 목록에 Target이 없는지 교차 확인합니다. 자연 종료 시점 근처라면 로그를 함께 봅니다. [S10]
실패 신호 선택창 열림, 다른 Task 종료, 새 RUN_ID
복구와 재합류 선택창은 Esc로 취소합니다. args와 label을 맞춘 뒤 Step 5부터 전체 비교를 다시 수행합니다. 다른 업무 Task가 종료됐다면 임의 재시작하지 않고 해당 운영 절차를 따릅니다.
10. Target 부재 선택창 취소
목적 UI gate가 특정 Target 존재를 보장하지 않는 한계를 확인합니다.
- Target이 없는 상태에서 JCOS Find Lock Guard만 실행하고 Find와 선택이 없는 Guard 본문에서 chord를 한 번 입력한 뒤 나타난 선택창을 Esc로 취소합니다.
입력 위치 Guard Task Terminal과 종료 Task 선택창
Artifact FIND_LOCK_GUARD RUN_ID=<실제 값>·heartbeat와 선택창 취소 기록
정상 결과 args Target을 찾지 못해 선택창으로 넘어갈 수 있으며 취소 뒤 Guard가 계속 실행됩니다.
확인 Guard heartbeat 증가와 Target 부재를 확인합니다. 실행 중 Task 목록에 Guard만 있는지 대조합니다. [S10]
실패 신호 Guard 종료, All Running Tasks 선택, 예상치 못한 다른 Task
복구와 재합류 즉시 추가 입력을 멈추고 로그를 보존합니다. 모든 항목 선택을 피하고 Esc로 취소합니다. Step 3/4에서 충돌·args를 점검한 후 연습 환경에서만 Step 10을 반복합니다.
11. Guard 수동 종료
목적 설정 정리 전에 연습 프로세스를 멈춥니다.
- Tasks: Terminate Task에서 JCOS Find Lock Guard label을 확인해 해당 연습 Task만 종료합니다.
입력 위치 Command Palette의 Task 종료 선택창
Artifact Guard 마지막 heartbeat와 실행 목록
정상 결과 Guard 출력이 멈추고 실행 중 연습 Task가 없습니다.
확인 Tasks: Show Running Tasks와 2초 뒤 Guard 출력 정지를 대조합니다.
실패 신호 다른 label, 연습 Task 잔존
복구와 재합류 선택을 Esc로 취소하고 연습 label을 다시 확인한 뒤 Step 11로 재합류합니다. 원인 불명일 때 프로세스 전체 강제 종료를 하지 않습니다.
12. User rule과 연습 객체 원복
목적 실습 이전 설정 상태로 돌아갑니다.
- 추가한 종료 rule과 두 Task 객체만 제거하고 이전 편 객체를 교체했다면 백업의 그 객체를 복원해 저장합니다.
입력 위치 User keybindings.json과 연습 .vscode/tasks.json
Artifact 백업과 비교한 최종 JSON 및 Troubleshooting 로그
정상 결과 추가한 label과 새 rule이 없고 기존 설정 내용이 보존됩니다.
확인 Problems에 JSON 오류가 없고 Keyboard Shortcuts에서 해당 새 User rule이 없으며 실행 중 연습 Task가 없음을 확인합니다. Troubleshooting은 같은 명령을 다시 실행해 끕니다.
실패 신호 JSON 오류, 기존 rule 손실, 예제 label 잔존
복구와 재합류 오류 원문을 저장하고 영향을 받은 객체를 백업과 대조해 복구합니다. Step 12를 반복한 뒤 완료 확인을 전부 다시 수행합니다.
4. 완료 확인하기
검색창 닫힘: 앞의 네 조건 통과와 terminalFindVisible=false를 확인합니다.
검색창 열림: 검색어가 유지되고 일치 결과가 보입니다. 입력란 포커스 상태만으로 마지막 항의 효과를 단정하지 않습니다.
열림+본문 포커스: 앞의 네 조건이 통과해도 terminalFindVisible=true로 rule이 제외됩니다. 원문 매칭 로그와 동일 RUN_ID heartbeat 증가로 교차 확인합니다.
닫기: Find가 사라지고 선택 없음·본문 포커스 상태에서 terminalFindVisible=false가 됩니다.
허용 후 종료: 로그의 종료 command, 동일 RUN_ID 출력 정지, 실행 중 Task 목록에서 Target 제거를 함께 확인합니다.
Target 부재: Guard만 있을 때 선택창을 Esc로 취소하고 Guard 출력을 보존합니다.
원복: 실행 중 연습 Task·새 User rule·두 연습 객체가 없고 기존 JSON과 Problems가 정상입니다.
자동화 검증 범위: 이 Run은 JSON 파싱, 원문 PowerShell 명령 실행, 조건식의 Boolean 모델 및 HTML/Cover 렌더를 검사합니다. 실제 VS Code Context 전환·chord dispatch·검색 강조는 사용자가 위 절차로 확인할 관찰 항목입니다. 모델 통과를 실제 UI 시험 통과로 표기하지 않습니다. UNCONFIRMED — 확장 프로그램·개별 User rule이 있는 독자 환경의 매칭 결과는 로컬 로그 확인 전 미확인입니다.
5. 문제가 생겼다면
Ctrl+F가 Editor Find 또는 셸로 전달됨
먼저 확인 현재 포커스와 실제 매칭 command를 확인합니다.
복구 Target Terminal 본문을 클릭하고 Terminal: Focus Find ID로 실행합니다. 사용자 변경이 의심되면 원문 로그를 보존하고 기본 설정을 추측해 바꾸지 않습니다.
재합류 Step 6
Find가 보이는데 terminalFindVisible=false
먼저 확인 활성 Terminal이 Target인지, 검사한 요소가 본문인지 확인합니다. Find 표시와 입력 포커스는 별도입니다.
복구 동일 Target에서 Hide Find→Focus Find를 한 번 비교하고 값·버전·확장 목록을 보존합니다. 재현되면 원인 UNKNOWN으로 중단합니다.
재합류 Step 6 또는 7
Find 열림 상태에서 Target이 종료됨
먼저 확인 when 마지막 항과 동일 chord의 다른 User rule, 로그의 실제 source/command를 확인합니다. 5분 자연 종료인지도 RUN_ID와 시간으로 구분합니다.
복구 추가 입력을 멈추고 원문 로그·오류 메시지·Context·마지막 heartbeat를 복사합니다. 확인된 충돌만 최소 수정하고 새 RUN_ID로 전체 비교를 반복합니다.
재합류 Step 3→4→5
Hide Find 후에도 종료 rule이 통과하지 않음
먼저 확인 taskRunning·terminalFocus·taskTerminalActive·terminalTextSelected를 하나씩 봅니다. 검사 UI 자체가 포커스를 옮겼을 수 있습니다.
복구 선택을 지우고 살아 있는 Target 본문으로 포커스합니다. 자연 종료했다면 Target을 다시 시작합니다. 오류 원문을 유지한 채 확인된 항목만 복구합니다.
재합류 Step 5 또는 8
Target 부재에서 선택창이 열림
먼저 확인 다른 Task만 실행 중인지, args label이 정확한지 봅니다.
복구 정상 fallback일 수 있으므로 Esc로 취소합니다. All Running Tasks나 Guard를 선택하지 말고 실제 Target을 새로 시작한 뒤 재검증합니다.
재합류 Step 5→9
JSON 오류 또는 단축키 원복 실패
먼저 확인 Problems의 실제 메시지와 줄·쉼표·배열 구조를 기록합니다.
복구 해당 추가 객체만 제거하고 백업과 대조합니다. 원인을 못 찾으면 UNKNOWN으로 두고 새 변경을 중단합니다. 복구 뒤 실행 목록과 완료 기준을 다시 확인합니다.
재합류 Step 12
6. 핵심 정리와 공식 자료
terminalFindVisible은 활성 Terminal의 검색창 표시 여부입니다. !terminalFindVisible을 추가해 검색창이 열린 동안 종료 rule을 제외합니다. 검색창을 둔 채 본문에 포커스를 돌린 비교가 핵심이며, 닫은 뒤에도 다른 네 조건을 확인해야 합니다. args Target이 없으면 선택창을 취소하고, 실습 뒤 프로세스와 설정을 원복합니다.
이번 주제의 새 독자 목표는 검색 UI가 표시된 동안의 종료 잠금입니다. 앞선 44부의 마우스 출력 선택·복사 잠금과 달리 Find 표시/비표시 및 표시 유지+본문 포커스 비교를 완료 상태로 삼습니다. 단축키 등록·Task 실행은 이번 목표의 준비 절차입니다.
다음 편 예고: 커맨드 팔레트 46부에서는 Keyboard Shortcuts Troubleshooting 원문 로그로 받은 chord와 실제 선택된 command·source·when을 비교해 충돌 rule 하나를 찾아 최소 수정합니다. 또 다른 Context Key를 덧붙이는 글이 아니라 매칭 실패 원인을 증거로 진단하는 독자 목표입니다.
공식 자료
2026-09-13 Asia/Seoul 확인. 모두 Microsoft 공식 자료·저장소에 접근했습니다. 문서는 현재 내용, 구현은 1.137.0 commit 고정입니다. 내부 Context Key의 향후 버전 안정성은 보장되지 않습니다.
- [S1] VS Code Stable Update API · Microsoft — Windows x64 User Stable 1.137.0·commit 확인. 설치나 업데이트를 수행하지 않음.
- [S2] Visual Studio Code 1.137 Release Notes · Microsoft — 2026-09-09 릴리스의 현재 버전 맥락. 이 글의 Find 조건이 이번 버전 신규 기능이라는 뜻은 아님.
- [S3] Keyboard shortcuts for Visual Studio Code · Microsoft — User JSON, chord, args, when, 충돌 확인 및 Troubleshooting 명령.
- [S4] when clause contexts · Microsoft — 논리 AND·NOT와 Inspect Context Keys. 공개 Context 목록은 완전한 목록이 아님.
- [S5] Terminal Basics · Microsoft — Windows Terminal Find 열기 Ctrl+F, 검색 강조, Terminal와 Tasks 연결.
- [S6] Integrate with External Tools via Tasks · Microsoft — Workspace process Task 정의와 수동 실행. 예제 heartbeat는 이 글의 자체 실습.
- [S7] Stable terminalContextKey.ts · Microsoft — terminalFindVisible Boolean·기본 false; terminalFocus·terminalTextSelected 정의. Stable commit 고정 구현 근거.
- [S8] Stable terminal.find.contribution.ts · Microsoft — Focus Find Ctrl+F·Hide Find Escape, 명령 ID. 사용자 단축키가 기본 바인딩을 바꿀 수 있음.
- [S9] Stable terminalFindWidget.ts · Microsoft — reveal/show에서 visible=true, hide에서 reset. 검색 입력 포커스와 표시 상태를 별도 관리.
- [S10] Stable abstractTaskService.ts · Microsoft — terminate String args의 활성 Task 매칭과 미일치 Quick Pick fallback. gate가 특정 Target 실행을 보장하지 않음.
- [S11] Stable tasks.ts · Microsoft — taskRunning·taskTerminalActive Boolean과 기본 false 정의.
- [S12] Stable terminalTaskSystem.ts · Microsoft — 활성 Terminal의 Task 유형에 따라 taskTerminalActive 값을 갱신.
- [S13] Stable task.contribution.ts · Microsoft — Tasks: Show Running Tasks와 Terminate Task 공식 명령 등록·표시 명칭.
'개발 > Visual Studio Code' 카테고리의 다른 글
| 커맨드 팔레트 47부: VS Code Task 단축키를 물리 키 위치로 고정하기 (1) | 2026.09.16 |
|---|---|
| 커맨드 팔레트 46부: VS Code Task 종료 단축키의 매칭 로그로 충돌 진단하기 (0) | 2026.09.16 |
| 커맨드 팔레트 44부: VS Code Terminal 텍스트 선택 중 Task 종료 단축키 잠그기 (0) | 2026.09.13 |
| 커맨드 팔레트 43부: VS Code Task Terminal에서만 종료 단축키 켜기 (0) | 2026.09.12 |
| 커맨드 팔레트 42부: VS Code Terminal 포커스일 때만 Task 종료 단축키 켜기 (0) | 2026.09.11 |