VS Code 1.140 릴리스 노트 (한국어 번역)

VS Code 1.140 릴리스 노트 (한국어 번역)

📌 이 글은 VS Code 1.140 릴리스 노트를 한국어로 번역한 것입니다.

이미 설치되어 있으신가요? VS Code에서 Check for Updates를 실행해 주세요. 출시 예정인 기능을 미리 확인하려면 Insiders 빌드를 사용하실 수 있습니다.

주요 업데이트

이번 릴리스에서는 에이전트 워크플로우 확장, worktree 재사용성 개선, 엔터프라이즈 AI 제어 기능 등이 새로 추가되었습니다.


Agents

Copilot harness

Copilot harness는 기존 작업 방식을 그대로 유지하면서 VS Code에 흥미로운 새로운 에이전트 기능을 추가합니다. Copilot SDK를 기반으로 작동하므로 독립 실행형 GitHub Copilot 앱 및 Copilot CLI를 포함한 다른 Copilot 제품과 일관된 동작 및 기능을 제공합니다.

Copilot harness 사용을 시작하려면 채팅 입력창의 harness 선택기에서 해당 항목을 선택하세요. 이번 릴리스에서는 이미 기본 선택 항목으로 설정되어 있을 수 있습니다. 기존에 작업하던 방식대로 계속 작업하시면 됩니다.

harness 선택기에서 Copilot harness가 선택된 모습을 보여주는 스크린샷

harness는 AHP(Agent Host Protocol) 기반의 전용 agent host 프로세스에서 실행되므로, 여러 VS Code 창에서 동일한 에이전트 세션에 연결할 수 있습니다.

Copilot harness 활용 방법을 자세히 알아보거나, agent host 블로그 게시물에서 아키텍처와 워크플로우를 살펴보세요. 의견이나 요청 사항이 있으시면 이슈를 등록해 주세요.

HydraFusion model orchestration (Research Preview)

HydraFusion은 각 코딩 작업에 적합한 모델과 워크플로우를 선택하는 적응형 모델 오케스트레이션 시스템입니다. 하나의 모델로 작업을 해결하거나, 더 성능이 뛰어난 모델로 에스컬레이션하거나, 다른 모델이 결과를 검토하고 수정하도록 할 수 있습니다. 이 방식은 사용자가 직접 모델을 조정할 필요 없이 속도와 비용의 균형을 맞추면서 결과의 품질을 향상시키는 것을 목표로 합니다.

프리뷰 기능이 활성화된 대상 사용자는 모델 선택기에서 HydraFusion을 선택할 수 있습니다.

Multi-folder sessions (Experimental)

다중 폴더 세션을 사용하면 여러 리포지토리 또는 격리된 worktree에 걸친 관련 작업을 하나의 세션에서 조율할 수 있습니다. 이전에는 multi-chat session의 모든 채팅이 동일한 폴더와 체크아웃 상태를 공유했습니다. 이번 릴리스에서는 각 채팅 간에 변경 사항이 유출되지 않으면서 개별 폴더나 worktree를 사용할 수 있습니다.

각 채팅은 터미널, 작업, 변경 사항, pull request 및 Agent 병합 상태에 자체 폴더를 사용합니다. 동일한 폴더를 사용하는 채팅은 해당 상태를 공유합니다. 세션 목록에서 세션 위에 마우스를 올리면 모든 폴더의 요약을 볼 수 있고, 중첩된 채팅 위에 마우스를 올리면 해당 폴더에 대한 세부 정보만 확인할 수 있습니다.

메인 채팅의 워크스페이스, worktree, 브랜치, pull request 및 두 개의 리포지토리와 pull request를 나열하는 세션 요약 마우스 오버 스크린샷

주요 활용 사례는 다음과 같습니다.

  • 여러 리포지토리에 걸쳐 기능 구현: 메인 채팅에 하나의 리포지토리에서 작업하도록 요청하고, 두 번째 리포지토리를 위한 피어(peer) 채팅을 생성합니다.
  • 별도의 worktree에서 접근 방식 비교: 메인 채팅에 동일한 리포지토리의 새로운 worktree를 각각 사용하는 피어 채팅을 생성하도록 요청합니다. 각 접근 방식은 자체 브랜치, 변경 사항 및 pull request를 갖게 됩니다.

다중 폴더 세션은 실험적 기능이며 기본적으로 비활성화되어 있습니다. 설정 에디터에는 해당 설정이 표시되지 않습니다. 사용자 범위의 settings.json 파일에서 사용하는 harness의 설정을 true로 지정한 후 세션을 생성하세요.

  • Copilot: chat.agentHost.copilotAgent.multiRootEnabled
  • Claude: chat.agentHost.claudeAgent.multiRootEnabled
  • Codex: chat.agentHost.codexAgent.multiRootEnabled

새 세션은 Agent Host를 다시 시작하지 않고도 설정 변경 사항을 적용합니다. 폴더를 추가하거나 피어 채팅의 폴더를 선택하는 UI는 제공되지 않으므로, 메인 채팅에 피어 채팅을 생성하고 사용할 리포지토리나 worktree를 설명하도록 요청하세요.

Archive chats in a session

하나의 채팅이 작업을 완료했을 때 세션의 나머지 부분을 활성 상태로 유지할 수 있습니다. 세션에는 여러 채팅이 포함될 수 있으므로 Mark as Done을 선택하면 전체 세션이 아닌 완료된 피어 채팅만 아카이브됩니다. 제목과 트랜스크립트가 유지된 상태로 복원하려면 세션 목록에서 Done 필터를 선택하세요.

Automatic Dev Container cleanup

설정: chat.agentHost.devContainer.enabled, chat.agentHost.devContainer.idleTimeout (Agents 창 전용)

Dev Container를 사용하는 모든 세션이 5분 동안 비활성화되면 VS Code가 컨테이너를 중지합니다. 작업을 계속하면 자동으로 다시 시작됩니다. 마지막 세션을 완료 처리(Mark as Done)하거나 삭제하면 컨테이너가 제거됩니다.

Faster Dev Container startup

설정: chat.agentHost.devContainer.enabled (Agents 창 전용)

Dev Container 세션을 통해 에이전트는 격리된 환경에서 프로젝트의 도구와 종속성을 사용할 수 있습니다. 새 컨테이너는 캐시된 VS Code Server 및 CLI 다운로드를 재사용할 수 있어 설정 시간과 프로젝트 간 반복 다운로드를 줄여줍니다.

Choose the session relationship and workspace for delegated work

에이전트에게 작업을 위임하도록 요청할 때는 두 가지 개별 결정을 내립니다. 먼저 해당 작업이 현재 세션의 계획 또는 결과물에 속하는지 결정합니다. 그런 다음 작업에 리포지토리 파일이 필요한 경우에만 워크스페이스를 지정하고, 파일 변경 사항을 격리해야 하는 경우에만 worktree를 요청합니다. 관련 작업에서도 다른 워크스페이스를 사용할 수 있습니다.

  • 관련 작업을 위한 피어 채팅 생성: 에이전트에게 현재 세션에 피어 채팅을 생성하도록 요청합니다. 현재 워크스페이스와 체크아웃 상태를 재사용하려면 프롬프트에 이를 명시하세요. 피어 채팅은 체크아웃 상태를 공유하므로 격리된 파일 변경이 필요 없는 조사, 계획 또는 관련 작업에 이 옵션을 사용하세요.
Create a peer chat in this session that reuses the current workspace and checkout to review the authentication flow. Do not modify files.
  • 관련 없는 작업을 위한 독립 세션 생성: 별도의 결과물에 리포지토리 파일이 필요하지 않은 경우, 에이전트에게 워크스페이스가 없는 독립 세션을 생성하도록 요청합니다. 새 세션은 소스 폴더를 상속하지 않습니다. 작업에 리포지토리가 필요한 경우 프로젝트나 폴더 이름을 지정하고 변경 사항 격리가 필요할 때 worktree를 명시적으로 요청하세요.
Create an independent session with no workspace to research licensing options for a separate project.

채팅 및 세션 조율에 대해 자세히 알아보세요.

Create workspace-less chats on remote agent hosts

설정: sessions.chat.unifiedWorkspacePicker.enabled (Agents 창 전용)

Agent Host를 사용하면 원격 호스트에서 에이전트 세션을 실행하고 추적할 수 있습니다. 이번 릴리스에서는 원격 호스트에서 워크스페이스가 없는 채팅을 실행할 수 있는 지원이 추가되었습니다.

워크스페이스를 선택하지 않고 통합 워크스페이스 선택기에서 연결된 호스트를 선택하세요. Chat 항목이 선택한 호스트를 식별하므로 시작하기 전에 세션이 실행되는 위치를 확인할 수 있습니다.

선택한 호스트가 Chat 항목에 식별되어 있는 원격 에이전트 호스트의 워크스페이스 없는 채팅 스크린샷

원격 폴더도 메인 선택기에서 로컬 폴더와 함께 표시됩니다. 이를 통해 Remote 하위 메뉴를 열지 않고도 자주 사용하는 원격 워크스페이스를 더 쉽게 선택할 수 있습니다.

Delegate tasks to remote agent hosts (Experimental)

설정: chat.remoteAgentHostsEnabled, chat.remoteSessions.tools.enabled (Agents 창 전용)

각 작업마다 선택기에서 호스트를 지정할 필요 없이 Agents 창에서 연결된 원격 에이전트 호스트로 에이전트가 작업을 위임할 수 있습니다.

새로운 내장 도구를 사용하여 에이전트는 다음을 수행할 수 있습니다.

  • list_agent_hosts로 호스트, 모델, 리소스 용량 및 세션 부하를 확인합니다.
  • create_remote_session으로 세션을 시작합니다. 호스트를 직접 지정하거나, 자동 배치가 운영체제(Windows, Linux, macOS), 최소 메모리 용량, 논리 CPU 수 및 선택적 모델을 일치시키도록 합니다. 일치하는 호스트 중에서는 실행 중인 세션과 대기 중인 생성 요청이 가장 적은 호스트가 우선 선택됩니다.
  • get_remote_session으로 원격 세션의 상태와 최신 응답을 확인합니다.
  • send_remote_message로 후속 작업을 전송하거나 결과 및 문의 사항을 원래 채팅으로 보고합니다.

이 도구들은 기본적으로 비활성화되어 있습니다. chat.remoteAgentHostsEnabled 설정과 함께 이 기능을 활성화하고 사용할 호스트를 연결하세요. 에이전트 호스트에서 실행 중인 채팅에서 다음과 같이 요청할 수 있습니다.

Start a remote session on a connected Linux host with at least 16 GiB of memory and eight logical CPUs. Check the installed Node.js and Python versions and report back to this chat.

명시적으로 지정하지 않는 한 세션에는 워크스페이스가 없습니다. 리포지토리 작업의 경우 직접 또는 새 Git worktree에서 대상 호스트의 기존 신뢰할 수 있는 폴더를 사용하세요. 도구는 원래 워크스페이스를 복제하거나 복사하지 않으며, 일반적인 승인 절차가 그대로 적용됩니다.

메시지가 원활하게 오갈 수 있도록 조율 중인 Agents 창을 열린 상태로 유지하고 연결을 유지하세요. 원격 에이전트는 send_remote_message를 통해 보고하며, 최종 답변이 자동으로 전달되지는 않습니다.

Personalize new-session welcome phrases (Experimental)

설정: sessions.chat.experimental.welcomePhrases, sessions.chat.experimental.welcomeName, accessibility.verbosity.newSessionWelcome (Agents 창 전용)

Agents 창에서 새 세션을 생성할 때 옵션 환영 문구를 표시하여 독창성을 더할 수 있습니다. 제목에는 What are we building? 또는 Let's ship something과 같은 5가지 문구 중 하나가 표시되며, GitHub 프로필의 이름(First Name)이 추가될 수 있습니다.

개인화된 환영 문구 Let's cook, Megan이 포함된 Agents 창 새 세션 작성기 스크린샷

환영 문구는 기본적으로 비활성화되어 있습니다. 활성화되면 제목, 컨텍스트 메뉴 또는 Command Palette에서 Set Welcome Name을 사용하여 다른 이름을 선택할 수 있습니다. 이름은 기기 간에 동기화됩니다. 이름을 지우면 GitHub 프로필의 이름을 사용하며, 프로필에 이름이 없는 경우 일반적인 문구가 사용됩니다.

스크린 리더 최적화 모드가 활성화되어 있으면 작성기가 나타날 때 VS Code가 제목을 한 번 읽어줍니다. 안내 음성을 듣고 싶지 않다면 accessibility.verbosity.newSessionWelcome을 비활성화하세요.

Improved session composer controls (Experimental)

설정: sessions.chat.experimental.newSessionComposerLayout, sessions.chat.unifiedWorkspacePicker.enabled (Agents 창 전용)

실험적인 세션 작성기 레이아웃을 통해 Agents 창의 여러 부분을 번거롭게 이동할 필요성이 줄어듭니다. 새 세션에서는 워크스페이스, 브랜치, worktree 및 harness 컨트롤이 채팅 입력창 위쪽에 그룹화되어 표시됩니다.

워크스페이스, 브랜치, worktree, harness 컨트롤이 채팅 입력창 위에 그룹화된 실험적 세션 작성기 레이아웃 스크린샷

이 레이아웃을 사용하려면 두 설정을 모두 활성화하세요.

통합 워크스페이스 선택기에는 해당 컨트롤로 직접 이동할 수 있는 명령어도 포함되어 있습니다. ⌘K ⌘F (Windows, Linux Ctrl+K Ctrl+F)를 사용하여 워크스페이스 선택기에 포커스를 맞추거나 ⌘K ⌘H (Windows, Linux Ctrl+K Ctrl+H)를 사용하여 harness 선택기에 포커스를 맞출 수 있습니다. 마우스를 올리면 설정된 단축키가 표시되며, 각 선택기의 컨텍스트 메뉴에서 Configure Keybinding 단축키 설정 작업을 제공합니다. 이러한 키보드 개선 사항은 통합 워크스페이스 선택기만 있으면 되며, 실험적 작성기 레이아웃이 필수 요구 사항은 아닙니다.

이번 마일스톤부터 새 worktree 세션을 생성할 때 브랜치 선택기의 기본값이 현재 브랜치의 업스트림 브랜치(예: origin/main)로 설정됩니다. worktree를 생성하기 전에 VS Code는 세션이 최신 원격 상태에서 시작할 수 있도록 선택한 원격 브랜치의 가져오기(fetch)를 자동으로 시도합니다.

또한 선택기는 워크스페이스당 한 번씩 브랜치를 로드하고 로컬에서 필터링하므로, 특히 대규모 리포지토리에서 검색 지연 시간이 크게 줄어듭니다.

새 세션 페이지에서 New Worktree가 선택되고 origin/main이 기본 브랜치로 설정된 스크린샷

See recently completed sessions first

이제 Agents 창의 Done 섹션에서 완료 처리(Mark as Done)한 시점을 기준으로 세션을 정렬하며, 가장 최근에 완료된 세션이 맨 위에 표시됩니다. 이 정렬 순서는 Created 및 Updated 정렬 간에 전환하거나 VS Code를 다시 로드한 후에도 유지됩니다.

More reliable agent orchestration (Experimental)

설정: chat.agentHost.agentOrchestrationLimits

조율 작업이 많은 에이전트 워크플로우가 작업이 완료되기 전에 중단될 가능성이 줄어듭니다. 이번 릴리스에서는 에이전트가 생성한 세션, 채팅, 세션 간 메시지 및 재귀적 세션 생성에 대한 프로세스 전반의 제한을 상향 조정했습니다.

예를 들어, 에이전트는 CI 실패를 분류하고 각 수정을 별도의 세션에 위임하며, 작업이 완료되기 전에 메시지 제한에 도달하지 않고 해당 세션들을 조율할 수 있습니다. 제한에 도달하더라도 새로운 조율 동작만 차단될 뿐 이미 실행 중인 작업은 중단되지 않습니다.

이 설정의 기본값은 on이며, Agent Host를 다시 시작하지 않고도 변경 사항이 적용됩니다. 조율 제한을 해제하려면 off로 설정하세요. 확인 요구 사항 및 입력 유효성 검사는 계속 적용됩니다.

Open a new session in the Agents window from a URL

URL을 사용하여 다른 도구나 웹페이지에서 워크스페이스 및 검토 준비가 완료된 편집 가능한 프롬프트와 함께 Agents 창을 열 수 있습니다. agents/new 경로와 선택적 prompt 및 workspace 쿼리 매개변수가 포함된 URL을 사용하세요.

예를 들어 다음 URL은 워크스페이스가 없고 프롬프트가 이미 입력된 새 세션을 엽니다.

vscode://agents/new?prompt=Explain%20how%20this%20project%20runs%20its%20tests.%20Do%20not%20run%20anything%20yet.

VS Code는 디코딩된 프롬프트를 전송하지 않고 New Session 작성기에 배치합니다. 워크스페이스를 선택하려면 URL 인코딩된 폴더 URI가 포함된 workspace 매개변수를 추가하세요. URL에서 workspace가 생략되면 초안은 No Workspace를 사용합니다. 이미 사용 중인 기존 작성기는 변경되지 않으므로 링크를 열어도 진행 중인 작업이 덮어씌워지지 않습니다.

URL로 VS Code 열기에 대해 자세히 알아보세요.

참고: VS Code Insiders의 경우 vscode:// 대신 vscode-insiders://를 사용하세요.


Chat

Persistent progress for agent responses (Experimental)

설정: chat.experimental.persistentProgress, chat.experimental.persistentProgressVerbosity

지속적인 진행 표시를 통해 오래 걸리는 에이전트 응답을 더 쉽게 추적할 수 있습니다. 이 기능을 활성화하면 응답이 완료될 때까지 채팅 하단에 진행 상태 표시기가 계속 유지됩니다.

지속적 진행 표시를 활성화하면 진행 중인 응답의 렌더링 및 가시성도 향상됩니다. 추론 과정이 접을 수 있는 별도의 미리보기에 표시되며, 도구 호출이 실행되는 동안 계속 표시됩니다. Compact 상세도를 사용하면 응답 텍스트가 다시 시작되거나 응답이 완료될 때 완료된 도구 그룹이 확장 가능한 요약으로 접힙니다. 도구 호출의 전체 세부 정보를 계속 보려면 Verbose를 선택하세요.

chat.experimental.persistentProgress를 사용하여 표시기를 끄거나 컬러/단색 Draw 애니메이션을 선택할 수 있습니다. 이 설정은 VS Code Insiders에서 기본적으로 Draw로 설정되며 Stable 버전에는 순차적으로 적용 중입니다.

Terminal output reflow

설정: chat.tools.terminal.outputReflow

VS Code 1.132부터 채팅의 터미널 출력이 출력 미리보기 너비에 맞게 자동으로 줄바꿈(reflow)됩니다.

새로운 chat.tools.terminal.outputReflow 설정을 통해 이 동작을 제어할 수 있습니다. 출력을 고정 너비로 유지하고 싶다면 설정을 비활성화하고 가로로 스크롤하여 긴 줄을 확인하세요. 자동 줄바꿈은 기본적으로 활성화되어 있습니다.

Use multiple chats in the editor window

하나의 세션에 여러 채팅이 포함될 수 있습니다. 지금까지는 중첩된 피어 채팅이 있는 메인 채팅이 Agents 창에만 표시되었습니다. 이제 에디터 창에도 표시됩니다. Sessions 뷰는 Chat 뷰 옆에 메인 채팅과 그 아래 중첩된 피어 채팅을 나열합니다. 임의의 행을 선택하면 해당 채팅이 Chat 뷰에서 열립니다.

선택한 채팅을 보여주는 Chat 뷰 옆에 세션과 중첩된 피어 채팅을 나열하는 Sessions 뷰가 포함된 에디터 창 스크린샷


MCP

Add MCP servers to portable configuration files

MCP: Add Server 흐름을 통해 휴대용 구성 파일에 MCP 서버를 추가할 수 있으므로, JSON을 직접 수정하지 않고도 호환되는 Copilot 도구 전반에서 동일한 서버 구성을 사용할 수 있습니다.

전역 서버의 경우 Copilot Global을 선택하여 서버를 $COPILOT_HOME/mcp-config.json에 저장하거나, COPILOT_HOME이 설정되어 있지 않은 경우 ~/.copilot/mcp-config.json에 저장하세요.

전역 MCP 서버 대상으로 Copilot Global 및 사용되지 않는 사용자 구성을 보여주는 스크린샷

워크스페이스 서버의 경우 .mcp.json을 선택하여 워크스페이스 루트에 서버를 저장하세요.

워크스페이스 MCP 서버 대상으로 워크스페이스 루트 .mcp.json 및 사용되지 않는 .vscode/mcp.json을 보여주는 스크린샷


Accessibility

Hear when confetti appears

설정: accessibility.signals.confetti

새로운 Confetti 접근성 신호는 애니메이션을 볼 수 없을 때 동일한 축하 피드백을 제공합니다. 채팅 추천(thumbs-up) 꽃가루 애니메이션이 나타날 때와 Agents 창에서 세션을 성공적으로 완료 처리(Mark as Done)할 때 즐거운 소리가 재생됩니다.


Source Control

Reuse ignored folders across worktrees (Experimental)

설정: git.worktreeSymlinkFolders

각 Git worktree에서 종속성을 다시 설치하거나 대용량 빌드 아티팩트를 중복으로 생성하지 않도록 방지합니다. git.worktreeSymlinkFolders에 node_modules와 같은 무시된 폴더에 대한 .gitignore 스타일 패턴을 구성하세요. VS Code가 에이전트 세션을 포함한 새 worktree를 생성할 때, 현재 체크아웃의 일치하는 폴더에 심볼릭 링크(symlink)를 생성합니다.


Code Editing

New option to control selection text matching case sensitivity

설정: editor.selectedTextMatchMode

선택 영역 일치의 대소문자 구분을 제어하는 새로운 설정인 editor.selectedTextMatchMode가 추가되었습니다.

기본값인 findOptions는 이전과 마찬가지로 선택 일치 대소문자 구분이 Find 위젯에 연결됨을 의미합니다. 각각 대소문자를 구분하는 일치와 대소문자를 구분하지 않는 일치에 해당하는 caseSensitive 및 caseInsensitive 두 가지 다른 값이 있습니다.


Terminal

Sharper terminal text on macOS (Experimental)

설정: terminal.integrated.fontRendering

macOS 고해상도(high-DPI) 디스플레이에서는 터미널 텍스트가 다른 터미널의 동일한 폰트보다 부드럽게(흐리게) 보일 수 있습니다. terminal.integrated.fontRendering 설정을 통해 선명도를 조정할 수 있습니다.