재사용 Terminal의 안내 문구만 숨기기
presentation.showReuseMessage를 비교해 Task 실제 출력은 유지하면서 재사용 안내만 정리합니다.
이번 편의 핵심
showReuseMessage: false로 바꾸면 전용 Terminal의 재사용 안내는 사라져도 REUSE_MESSAGE_LAB_OUTPUT은 남습니다.
이 설정은 출력 필터가 아니며 panel: "new"의 별도 닫기 문구까지 숨기지 않습니다.
1. 시작하기 전에
Windows 11에서 폴더로 연 연습 Workspace를 사용합니다. VS Code Stable 1.135.0과 Windows PowerShell을 기준으로 하며 실제 배포·삭제·외부 전송 명령은 사용하지 않습니다.
준비할 것
- 폴더로 연 Workspace — Explorer 상단에 폴더 이름이 보이고
Tasks: Run Task를 사용할 수 있는지 확인합니다. .vscode/tasks.json— 기존 파일이 있으면tasks.json.jcos-reuse-backup사본을 먼저 만듭니다.- Windows PowerShell —
$PSVersionTable.PSVersion으로 접근 가능 여부만 확인합니다.
적용 환경 한국어 초보자 · Windows 11 · VS Code Stable 1.135.0 · Windows PowerShell
tasks.json을 덮어쓰면 Build·Test Task를 잃을 수 있으므로 백업 전에는 붙여넣지 마세요. 예제는 Write-Output만 실행합니다. 중단 조건: 연습 폴더인지 확실하지 않거나 command·args에 토큰, 암호, 배포 명령이 있으면 저장하지 말고 중단합니다.2. 알아둘 핵심 개념
presentation.showReuseMessage
Task 종료 뒤 재사용 가능한 Terminal에 Terminal will be reused by tasks, press any key to close it. 안내를 표시할지 정하는 Boolean입니다. 기본값은 true이며 false는 이 안내만 숨깁니다.
panel: "dedicated"
한 Task에 전용 Terminal을 배정하고 같은 Task를 다시 실행할 때 그 Terminal을 재사용합니다. 서로 다른 Task의 출력이 섞이지 않아 표시·숨김 비교에 적합합니다.
echo와의 차이
echo는 시작할 때 실행 명령을 표시할지 정하고, showReuseMessage는 종료 뒤 재사용 안내를 표시할지 정합니다. 이번 실습은 echo: false로 고정해 두 효과를 분리합니다.
panel: "new" 예외
Stable 구현은 panel: "new"일 때 별도의 Press any key to close the terminal. 문구를 먼저 선택합니다. 따라서 이 설정으로 모든 종료 문구를 숨길 수 있다고 일반화하면 안 됩니다.
3. 순서대로 진행하기
각 단계의 정상 결과를 확인한 뒤 다음 단계로 이동합니다.
1. 연습 폴더와 백업 확인
목적 기존 Task를 잃지 않고 실습을 시작합니다.
- 연습 폴더를 열고
.vscode/tasks.json이 있으면tasks.json.jcos-reuse-backup사본을 만듭니다.
입력 위치 Explorer의 Workspace 루트와 .vscode 폴더
<연습 폴더>\.vscode\tasks.json
<연습 폴더>\.vscode\tasks.json.jcos-reuse-backup
정상 결과 원본과 백업이 함께 보이거나 기존 파일이 없었다는 사실을 확인했습니다.
확인 백업을 열어 원본과 내용이 같은지 비교합니다.
실패 신호 백업 없이 실제 프로젝트의 JSON을 선택했습니다.
2. Workspace Task 파일 열기
목적 변경 범위를 Workspace에 한정합니다.
- Ctrl+Shift+P를 누르고
Tasks: Open Workspace Tasks를 실행합니다.
입력 위치 Command Palette
Tasks: Open Workspace Tasks
정상 결과 현재 연습 폴더 아래의 .vscode/tasks.json이 열렸습니다.
확인 편집기 탭의 전체 경로를 확인합니다.
실패 신호 User Tasks가 열리거나 단일 파일 모드입니다.
File > Open Folder...로 연습 폴더를 열고 Step 2로 돌아옵니다.3. 비교용 두 Task 입력
목적 showReuseMessage 값만 다른 비교 조건을 만듭니다.
- 새 파일이면 아래 JSON 전체를 입력합니다. 기존 파일이면 백업 후
tasks배열에 두 객체만 병합하고 label 중복을 피합니다.
입력 위치 .vscode/tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "JCOS 재사용 안내 표시",
"type": "process",
"command": "powershell.exe",
"args": ["-NoProfile", "-Command", "Write-Output 'REUSE_MESSAGE_LAB_OUTPUT'; exit 0"],
"presentation": {
"echo": false,
"reveal": "always",
"focus": false,
"panel": "dedicated",
"clear": true,
"showReuseMessage": true
},
"problemMatcher": []
},
{
"label": "JCOS 재사용 안내 숨김",
"type": "process",
"command": "powershell.exe",
"args": ["-NoProfile", "-Command", "Write-Output 'REUSE_MESSAGE_LAB_OUTPUT'; exit 0"],
"presentation": {
"echo": false,
"reveal": "always",
"focus": false,
"panel": "dedicated",
"clear": true,
"showReuseMessage": false
},
"problemMatcher": []
}
]
}
정상 결과 빨간 물결 밑줄이 없고 두 label이 IntelliSense에 인식됩니다. <연습 폴더>는 경로를 설명하는 Placeholder이며 JSON에 입력하지 않습니다.
확인 Ctrl+Space로 showReuseMessage가 Boolean인지 확인합니다.
실패 신호 Expected comma, Incorrect type, Duplicate object key가 보입니다.
4. 저장하고 Task 목록 확인
목적 두 Task가 실제 실행 대상으로 읽혔는지 확인합니다.
- Ctrl+S로 저장하고
Tasks: Run Task를 엽니다.
입력 위치 편집기와 Command Palette
JCOS 재사용 안내 표시
JCOS 재사용 안내 숨김
정상 결과 두 항목이 각각 한 번씩 보입니다.
확인 label과 개수를 확인한 뒤 Esc로 닫습니다.
실패 신호 항목이 없거나 같은 label이 중복됩니다.
5. 재사용 안내 표시 Task를 두 번 실행
목적 기본값 true의 기준 화면과 전용 Terminal 재사용을 확인합니다.
JCOS 재사용 안내 표시를 실행해 종료를 기다린 뒤 같은 Task를 한 번 더 실행합니다.
입력 위치 Tasks: Run Task와 Integrated Terminal
REUSE_MESSAGE_LAB_OUTPUT
Terminal will be reused by tasks, press any key to close it.
정상 결과 실제 출력과 재사용 안내가 보이며, 두 번째 실행도 같은 Task Terminal 탭을 사용합니다.
확인 Terminal 탭 이름과 개수가 늘지 않았는지, 출력과 안내가 별도 줄인지 확인합니다.
실패 신호 안내가 없거나 매번 새 Terminal이 생깁니다.
true, panel: "dedicated", 실행 label을 확인하고 Step 5를 반복합니다.6. 재사용 안내 숨김 Task를 두 번 실행
목적 false가 안내만 숨기고 실제 출력은 유지하는지 확인합니다.
JCOS 재사용 안내 숨김을 실행해 종료를 기다린 뒤 같은 Task를 다시 실행합니다.
입력 위치 Command Palette와 별도의 전용 Terminal
REUSE_MESSAGE_LAB_OUTPUT
정상 결과 실제 출력은 보이지만 재사용 안내는 보이지 않으며, 두 번째 실행도 같은 전용 Terminal을 사용합니다.
확인 출력 존재, 안내 부재, Terminal 탭 재사용을 각각 확인합니다.
실패 신호 실제 출력까지 사라지거나 안내가 계속 보입니다.
echo나 clear와 혼동하지 마세요. 되돌리기: Boolean false의 위치와 실행 label을 확인하고 Step 6으로 돌아옵니다.7. 기능 경계 확인
목적 안내 숨김을 출력 필터나 모든 종료 문구 숨김으로 오해하지 않습니다.
- 두 Task의 실제 출력이 같은지 확인하고
panel을new로 바꾸지 않은 채 관찰 내용을 기록합니다.
입력 위치 두 전용 Terminal과 tasks.json
재사용 안내만 차이
실제 출력은 동일
panel은 dedicated
정상 결과showReuseMessage가echo, 출력, 오류,panel: "new"의 별도 닫기 문구를 제어하지 않는다고 설명할 수 있습니다.
확인 두 Terminal에서 정확히 같은 출력 문자열을 가리킵니다.
실패 신호 false가 비밀값·오류·모든 종료 문구를 숨긴다고 판단합니다.
panel: new 우선 분기를 다시 확인하고 Step 7에 재합류합니다.8. Rollback 또는 선택 적용
목적 실습을 안전하게 종료합니다.
- 원상 복구하려면 백업을
.vscode/tasks.json으로 복원합니다. 선택 적용하려면 필요한 반복 Task에만showReuseMessage: false를 남기고 실습 Task를 제거합니다.
입력 위치 .vscode/tasks.json과 백업 파일
tasks.json.jcos-reuse-backup → tasks.json
또는 필요한 Task에만 "showReuseMessage": false
정상 결과 기존 Task 목록이 복원되었거나 선택 적용 상태가 명시되어 있습니다.
확인 Tasks: Run Task를 다시 열어 원래 항목과 개수를 확인합니다.
실패 신호 백업과 현재 파일 중 어느 것이 최신인지 알 수 없습니다.
4. 완료 확인하기
입력 화면과 독립된 방법을 포함해 결과를 교차 확인합니다.
- JSON 구조 — 두 Task, 서로 다른 label, Boolean
true/false,panel: "dedicated",clear: true,echo: false를 확인합니다. - 독립 실행 — 작성한 두 Task의 command와 args를 그대로 실행하면 둘 다 정확히
REUSE_MESSAGE_LAB_OUTPUT, exit code 0을 반환합니다. - UI Human Gate — 표시 Task에는 재사용 안내가, 숨김 Task에는 안내 없이 실제 출력만 보이는지 각각 두 번 실행해 확인합니다.
- 범위 —
panel: "new"의 별도 닫기 문구는 재사용 안내 분기와 다름을 설명합니다. - Rollback — 원래 Task 목록으로 돌아왔거나 필요한 개별 Task에만 의도적으로 적용했습니다.
완료 기준 재사용 Terminal 안내와 실제 출력을 구분하고, showReuseMessage: false에서도 실제 출력이 남는 것을 확인했으며 원래 설정으로 되돌릴 수 있습니다.
5. 문제가 생겼다면
안내 문구가 계속 보입니다
먼저 확인 실행한 label, presentation.showReuseMessage의 위치, 값이 문자열이 아닌 Boolean인지 확인합니다.
복구 "false"가 아니라 false로 고치고 저장한 뒤 숨김 Task를 다시 실행합니다.
재합류 Step 6
출력도 함께 사라졌습니다
먼저 확인 powershell.exe가 실행됐는지, Write-Output args가 남아 있는지 확인합니다.
복구 command와 args를 예제로 되돌리고 JSON 오류를 해결합니다.
재합류 Step 5
매번 새 Terminal이 열립니다
먼저 확인 panel이 "dedicated"인지, Task label을 바꾸지 않았는지 확인합니다.
복구 panel: "new"를 "dedicated"로 되돌리고 기존 실습 Terminal만 닫습니다.
재합류 Step 5
Press any key to close the terminal.이 남습니다
먼저 확인 panel: "new"를 사용했는지 확인합니다. 이것은 재사용 안내와 다른 문구입니다.
복구 이 실습에서는 panel: "dedicated"로 되돌립니다. 새 Terminal이 꼭 필요하면 별도 문구가 남을 수 있음을 기록합니다.
재합류 Step 5
원인을 확인할 수 없습니다
먼저 확인 오류 원문, 실행 label, tasks.json, Terminal 탭 이름을 보존하고 원인을 UNKNOWN으로 기록합니다.
복구 임의 설정을 더 추가하지 말고 백업으로 복원합니다.
재합류 원본이 복구된 Step 1
showReuseMessage는 재사용 안내의 가시성만 다룹니다. 원인을 확인하지 못하면 Evidence를 보존하고 임의 변경 없이 중단합니다.6. 핵심 정리와 공식 자료
presentation.showReuseMessage는 Boolean이며 기본값은true입니다.false는 재사용 가능한 Task Terminal의 안내만 숨기고 실제 출력·오류를 숨기지 않습니다.echo와 역할이 다르며panel: "new"의 별도 닫기 문구까지 숨기는 설정은 아닙니다.
공식 자료
아래 자료는 2026-09-02 KST에 확인했습니다. Stable 버전과 구현은 이후 변경될 수 있으므로 고정 commit 링크와 접근 시점을 함께 기록했습니다.
- VS Code Stable Update API · Microsoft
- Integrate with External Tools via Tasks — Output behavior · Microsoft
- Stable taskConfiguration.ts · Microsoft
- Stable jsonSchema_v2.ts · Microsoft
- Stable terminalTaskSystem.ts · Microsoft
presentation.close Boolean, 기본 동작과 showReuseMessage 관계, 성공·실패 Task의 종료 후 Terminal 보존 여부, 안전한 적용과 Rollback을 다룹니다.'개발 > Visual Studio Code' 카테고리의 다른 글
| 커맨드 팔레트 36부: VS Code Terminal 탭에서 같은 Task 바로 재실행하기 (0) | 2026.09.05 |
|---|---|
| 커맨드 팔레트 35부: VS Code Task Terminal을 아이콘과 색으로 빠르게 구분하기 (1) | 2026.09.04 |
| 커맨드 팔레트 33부: VS Code Task 실행 명령만 숨기고 출력은 그대로 보기 (0) | 2026.09.01 |
| 커맨드 팔레트 32부: VS Code Task Terminal을 보여도 편집기 포커스 유지하기 (0) | 2026.09.01 |
| 커맨드 팔레트 31부: VS Code Task 오류일 때만 Problems 패널 열기 (0) | 2026.08.31 |