이 출시되었습니다! 11월의 새로운 기능 및 수정 사항을 읽어보세요.

2025년 3월 (버전 1.99)

업데이트 1.99.1: 이 업데이트는 이러한 보안 문제를 해결합니다.

업데이트 1.99.2: 이 업데이트는 이러한 문제를 해결합니다.

업데이트 1.99.3: 이 업데이트는 이러한 문제를 해결합니다.

다운로드: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap


Visual Studio Code의 2025년 3월 릴리스에 오신 것을 환영합니다. 이 버전에는 많은 업데이트가 포함되어 있으며, 주요 내용은 다음과 같습니다.

  • 에이전트 모드

    • 에이전트 모드가 VS Code Stable에서 제공됩니다. chat.agent.enabled (더 보기...) 설정을 통해 활성화하십시오.
    • Model Context Protocol (MCP) 서버 도구를 사용하여 에이전트 모드를 확장하십시오 (더 보기...).
    • 웹 콘텐츠 가져오기, 기호 참조 찾기, 심층 사고를 위한 에이전트 모드의 새로운 내장 도구를 사용해 보세요 (더 보기...).
  • 코드 편집

    • 다음 편집 제안이 이제 일반 공급됩니다 (더 보기...).
    • AI 편집이 편집기에서 적용되는 동안 진단 이벤트와 같은 방해 요소를 줄여 혜택을 누리세요 (더 보기...).
  • 채팅

    • 자체 API 키를 사용하여 채팅(미리 보기)에서 더 많은 언어 모델에 액세스하세요 (더 보기...).
    • 통합 채팅 환경에서 질문, 편집, 에이전트 모드를 쉽게 전환하세요 (더 보기...).
    • 즉각적인 원격 작업 공간 인덱싱으로 향상된 작업 공간 검색 속도 및 정확도를 경험하세요 (더 보기...).
  • 노트북 편집

    • 편집 및 에이전트 모드를 지원하여 코드 파일만큼 쉽게 노트북을 생성하고 편집하세요 (더 보기...).

온라인에서 릴리스 노트를 읽으려면 code.visualstudio.com업데이트로 이동하세요. Insiders: 새로운 기능을 가능한 한 빨리 사용해 보고 싶으신가요? 야간 빌드인 Insiders를 다운로드하여 최신 업데이트를 사용할 수 있을 때 즉시 사용해 볼 수 있습니다.

채팅

에이전트 모드가 VS Code Stable에서 제공됩니다

설정: chat.agent.enabled

VS Code Stable에서 에이전트 모드를 사용할 수 있게 되었음을 기쁘게 생각합니다! chat.agent.enabled 설정을 통해 활성화하십시오. 설정을 볼 수 없는 경우 VS Code를 다시 로드하십시오. 향후 몇 주 안에 모든 사용자에게 기본적으로 제공될 예정이므로, 설정을 활성화할 필요가 더 이상 없을 것입니다.

에이전트 모드 문서를 확인하거나 채팅 보기에서 채팅 모드 선택기에서 에이전트 모드를 선택하십시오.

Screenshot that shows the Chat view, highlighting agent mode selected in the chat mode picker.

Model Context Protocol 서버 지원

이번 릴리스는 에이전트 모드에서 Model Context Protocol(MCP) 서버를 지원합니다. MCP는 AI 모델이 외부 도구, 애플리케이션 및 데이터 소스를 검색하고 상호 작용하기 위한 표준화된 방법을 제공합니다. VS Code에서 에이전트 모드를 사용하여 채팅 프롬프트를 입력하면 모델이 다양한 도구를 호출하여 파일 작업, 데이터베이스 액세스 또는 웹 데이터 검색과 같은 작업을 수행할 수 있습니다. 이 통합은 보다 동적이고 컨텍스트 인식 코딩 지원을 가능하게 합니다.

MCP 서버는 사용자, 원격 또는 .code-workspace 설정의 mcp 섹션 아래에 구성하거나 작업 공간에 있는 .vscode/mcp.json에 구성할 수 있습니다. 구성은 비밀 및 상수를 하드코딩하는 것을 피하기 위해 입력 변수를 지원합니다. 예를 들어, ${env:API_KEY}를 사용하여 환경 변수를 참조하거나 서버 시작 시 값을 묻도록 ${input:ENDPOINT}를 사용할 수 있습니다.

MCP: 서버 추가 명령을 사용하여 명령줄 호출에서 MCP 서버를 빠르게 설정하거나 Docker, npm 또는 PyPI에 게시된 MCP 서버에서 AI 지원 설정을 사용할 수 있습니다.

새 MCP 서버가 추가되면 채팅 보기에 새로고침 작업이 표시되며, 이를 사용하여 서버를 시작하고 도구를 검색할 수 있습니다. 그 후에는 리소스를 절약하기 위해 서버가 온디맨드로 시작됩니다.

테마: Codesong (vscode.dev에서 미리보기)

Claude Desktop과 같은 다른 애플리케이션에서 이미 MCP 서버를 사용하고 있다면 VS Code가 이를 검색하고 실행할 수 있도록 제안합니다. 이 동작은 chat.mcp.discovery.enabled 설정으로 전환할 수 있습니다.

MCP: 서버 목록 명령을 사용하여 MCP 서버 목록과 현재 상태를 볼 수 있으며, 에이전트 모드에서 도구 선택 버튼을 사용하여 사용할 수 있는 도구를 선택할 수 있습니다.

문서에서 MCP 서버를 설치하고 사용하는 방법에 대해 자세히 알아볼 수 있습니다.

에이전트 모드 도구

이번 마일스톤에서는 에이전트 모드에 몇 가지 새로운 내장 도구를 추가했습니다.

사고 도구 (실험적)

설정: github.copilot.chat.agent.thinkingTool.

Anthropic의 연구에서 영감을 받아, 에이전트 모드에 사고 도구를 지원합니다. 이 도구를 사용하여 어떤 모델이라도 도구 호출 사이에 생각할 기회를 제공할 수 있습니다. 이를 통해 제품 내 및 SWE-bench 평가에서 복잡한 작업에 대한 에이전트 성능을 향상시킵니다.

가져오기 도구

#fetch 도구를 사용하여 공개적으로 액세스 가능한 웹페이지의 콘텐츠를 프롬프트에 포함시키세요. 예를 들어, MCP와 같은 주제에 대한 최신 문서를 포함하고 싶다면, 전체 문서(LLM이 소비하기에 편리하게 준비됨)를 가져와서 프롬프트에 사용할 수 있다고 요청할 수 있습니다. 이는 어떻게 보일지에 대한 비디오입니다.

에이전트 모드에서는 이 도구가 자동으로 인식되지만, 다른 모드에서도 #fetch와 함께 가져오려는 URL을 명시적으로 참조할 수 있습니다.

이 도구는 헤드리스 브라우저 창에서 웹 페이지를 렌더링하여 해당 페이지의 데이터를 로컬에 캐시하므로, 다시 렌더링하는 오버헤드 없이 모델에 내용을 반복해서 요청할 수 있습니다.

#fetch 도구를 어떻게 사용하는지, 그리고 어떤 기능을 보고 싶은지 알려주세요!

가져오기 도구 제한 사항

  • 현재 이 브라우저 창에서는 JavaScript가 비활성화되어 있습니다. 웹사이트가 콘텐츠 렌더링에 JavaScript에 완전히 의존하는 경우, 이 도구는 많은 컨텍스트를 얻을 수 없습니다. 이는 변경을 고려하고 있으며 JavaScript를 허용하도록 변경될 가능성이 있습니다.
  • 헤드리스 특성상 인증 뒤에 있는 페이지는 가져올 수 없습니다. 이 헤드리스 브라우저는 여러분이 사용하는 브라우저와 다른 브라우저 컨텍스트에 존재하기 때문입니다. 대신, 해당 대상에 대해 목적에 맞게 구축된 MCP 서버 또는 Playwright MCP 서버와 같은 일반 브라우저 MCP 서버를 가져오기 위해 MCP를 사용하는 것을 고려하십시오.

사용량 도구

#usages 도구는 "모든 참조 찾기", "구현 찾기", "정의로 이동"의 조합입니다. 이 도구는 채팅이 함수, 클래스 또는 인터페이스에 대해 더 많이 학습하는 데 도움이 될 수 있습니다. 예를 들어, 채팅은 이 도구를 사용하여 인터페이스의 샘플 구현을 찾거나 리팩터링 시 변경해야 하는 모든 위치를 찾을 수 있습니다.

에이전트 모드에서는 이 도구가 자동으로 인식되지만, #usages를 통해 명시적으로 참조할 수도 있습니다.

에이전트 모드로 새 작업 공간 만들기 (실험적)

설정: github.copilot.chat.newWorkspaceCreation.enabled

이제 VS Code 작업 공간을 에이전트 모드에서 스캐폴딩할 수 있습니다. VS Code 확장, MCP 서버 또는 기타 개발 환경을 설정하든 에이전트 모드는 필요한 종속성과 설정으로 이러한 프로젝트를 초기화, 구성 및 시작하는 데 도움이 됩니다.

에이전트 모드에서 VS Code 확장 도구

몇 달 전, VS Code 확장에서 제공하는 언어 모델 도구에 대한 확장 API를 최종 확정했습니다. 이제 에이전트 모드에서 이러한 도구를 사용할 수 있습니다.

toolReferenceNamecanBeReferencedInPrompt를 구성에 설정한 이 API에 기여하는 모든 도구는 에이전트 모드에서 자동으로 사용할 수 있습니다.

확장에서 도구를 제공하면 전체 VS Code 확장 API에 액세스할 수 있으며 확장 마켓플레이스를 통해 쉽게 설치할 수 있습니다.

MCP 서버의 도구와 유사하게, 에이전트 모드의 **도구 선택** 버튼을 사용하여 이러한 도구를 활성화 및 비활성화할 수 있습니다. 자체 도구를 구축하는 방법에 대한 자세한 내용은 언어 모델 도구 확장 가이드를 참조하십시오!

에이전트 모드 도구 승인

사용자 프롬프트에 대한 작업을 완료하는 과정에서 에이전트 모드는 도구와 터미널 명령을 실행할 수 있습니다. 이는 강력하지만 잠재적으로 위험을 수반할 수 있습니다. 따라서 에이전트 모드에서 도구 및 터미널 명령 사용을 승인해야 합니다.

이 경험을 최적화하기 위해 이제 세션, 작업 공간 또는 애플리케이션 수준에서 해당 승인을 기억할 수 있습니다. 현재 터미널 도구에는 이 기능이 활성화되어 있지 않지만, 향후 릴리스에서 터미널에 대한 승인 시스템을 개발할 계획입니다.

Screenshot that shows the agent mode tool Continue button dropdown options for remembering approval.

모든 도구를 자동 승인하려면 실험적인 chat.tools.autoApprove 설정을 사용할 수 있습니다. 이 설정은 모든 도구를 자동 승인하며, 언어 모델이 도구를 실행하려고 할 때 VS Code는 확인을 요청하지 않습니다. 이 설정을 활성화하면 모델이 수행하려는 잠재적으로 파괴적인 작업을 취소할 기회가 없다는 점을 명심하십시오.

향후 이 설정을 더 세분화된 기능으로 확장할 계획입니다.

SWE-bench에서 에이전트 평가

VS Code의 에이전트는 Claude 3.7 Sonnet과 함께 swebench-verified에서 56.0%의 통과율을 달성합니다. 이는 Anthropic의 SWE-bench 환경에서 사용자 입력 없이 에이전트를 실행하도록 구성하는 연구를 따른 것입니다. 우리의 실험은 Claude 3.5 및 3.7 Sonnet 모델에 대해 인-디스트리뷰션인 파일 편집을 위한 새로운 도구를 포함하여, 에이전트 모드를 위한 향상된 프롬프트, 도구 설명 및 도구 설계를 구현하는 것으로 이어졌습니다.

통합 채팅 보기

지난 몇 달 동안 언어 모델에 질문하는 "채팅" 보기와 AI 기반 코드 편집 세션을 위한 "Copilot 편집" 보기가 있었습니다. 이번 달에는 두 보기를 하나의 채팅 보기로 병합하여 채팅 기반 경험을 간소화하는 것을 목표로 합니다. 채팅 보기에서 세 가지 모드가 있는 드롭다운을 볼 수 있습니다.

Screenshot that shows the chat mode picker in the Chat view.

  • 질문: 이전 채팅 보기와 동일합니다. 작업 공간 또는 코딩에 대해 질문하고 어떤 모델이든 사용할 수 있습니다. @를 사용하여 내장 채팅 참가자를 호출하거나 설치된 확장 프로그램에서 가져올 수 있습니다. #를 사용하여 어떤 종류의 컨텍스트든 수동으로 첨부할 수 있습니다.
  • 에이전트: 컨텍스트를 자율적으로 수집하고, 터미널 명령을 실행하거나 작업을 완료하기 위한 다른 작업을 수행할 수 있는 도구 세트로 에이전트 코딩 흐름을 시작합니다. 에이전트 모드는 모든 VS Code Insiders 사용자에게 활성화되어 있으며, VS Code Stable 사용자에게도 점차적으로 배포되고 있습니다.
  • 편집: 편집 모드에서 모델은 여러 파일에 대한 직접 편집을 수행할 수 있습니다. #codebase를 첨부하여 편집할 파일을 자동으로 찾도록 할 수 있습니다. 하지만 터미널 명령을 실행하거나 다른 작업을 자동으로 수행하지는 않습니다.

참고: 이 목록에 에이전트 모드가 표시되지 않는 경우, 아직 사용자에게 활성화되지 않았거나 조직 정책에 의해 비활성화되어 조직 소유자가 활성화해야 할 수 있습니다.

채팅 경험을 단순화할 뿐만 아니라, 이 통합으로 AI 기반 코드 편집을 위한 몇 가지 새로운 기능이 가능해졌습니다.

  • 대화 중간에 모드 전환: 예를 들어, 질문 모드에서 앱 아이디어 브레인스토밍을 시작한 다음 에이전트 모드로 전환하여 계획을 실행할 수 있습니다. 팁: 를 눌러 모드를 빠르게 변경하십시오.
  • 기록에서 편집 세션: 채팅 보기 상단의 시계 아이콘인 채팅 보기 명령을 사용하여 이전 편집 세션을 복원하고 계속 작업할 수 있습니다.
  • 채팅을 편집기 또는 창으로 이동: 새 편집기/새 창에서 채팅 열기를 선택하여 채팅 대화를 사이드바에서 새 편집기 탭 또는 별도의 VS Code 창으로 내보낼 수 있습니다. 채팅은 오랫동안 이를 지원했지만, 이제 편집/에이전트 세션을 편집기 창이나 별도의 창에서도 실행할 수 있습니다.
  • 여러 에이전트 세션: 위의 내용에 이어, 동시에 여러 에이전트 세션을 실행할 수 있다는 것을 의미합니다. 한 에이전트 세션은 기능을 구현하는 데 사용하고, 다른 독립적인 세션은 검색 및 다른 도구를 사용하는 데 사용할 수 있습니다. 두 에이전트 세션이 동시에 파일을 편집하도록 지시하는 것은 권장되지 않습니다. 혼란을 야기할 수 있습니다.

자체 키 가져오기 (BYOK) (미리 보기)

Copilot Pro 및 Copilot Free 사용자는 이제 Azure, Anthropic, Gemini, OpenAI, Ollama 및 Open Router와 같은 인기 제공업체의 자체 API 키를 가져올 수 있습니다. 이를 통해 Copilot에서 네이티브로 지원하지 않는 새 모델을 출시 당일에 사용할 수 있습니다.

시도하려면 모델 선택기에서 모델 관리...를 선택하십시오. Copilot Business 및 Enterprise 고객을 위한 지원을 적극적으로 탐색 중이며, 향후 릴리스에서 업데이트를 공유할 예정입니다. 이 기능에 대해 자세히 알아보려면 문서를 참조하십시오.

A screenshot of a "Manage Models - Preview" dropdown menu in a user interface. The dropdown has the label "Select a provider" at the top, with a list of options below it. The options include "Anthropic" (highlighted in blue), "Azure," "Gemini," "OpenAI," "Ollama," and "OpenRouter." A gear icon is displayed next to the "Anthropic" option.

재사용 가능한 프롬프트 파일

개선된 구성

설정: chat.promptFilesLocations

이제 chat.promptFilesLocations 설정은 파일 경로에서 glob 패턴을 지원합니다. 예를 들어, 현재 열려 있는 작업 공간의 모든 .prompt.md 파일을 포함하려면 경로를 { "**": true }로 설정할 수 있습니다.

또한, 구성은 이제 적용되는 파일 시스템에서 대소문자를 구분하여 호스트 운영 체제의 동작과 일치합니다.

개선된 프롬프트 파일 편집

  • 이제 .prompt.md 파일은 파일 경로에 대한 기본 자동 완성 기능을 제공하며 유효한 파일 참조를 강조 표시합니다. 반대로 잘못된 링크는 경고 또는 오류 물결선으로 표시되고 자세한 진단 정보를 제공합니다.
  • 이제 채팅: 프롬프트 사용 명령의 프롬프트 파일 목록에서 편집 및 삭제 작업을 사용하여 프롬프트를 관리할 수 있습니다.
  • 프롬프트 파일의 폴더 참조가 더 이상 유효하지 않은 것으로 플래그 지정되지 않습니다.
  • 이제 마크다운 주석이 올바르게 처리됩니다. 예를 들어, LLM 모델에 전송되는 최종 프롬프트를 생성할 때 주석 처리된 링크는 모두 무시됩니다.

사용자 지정 지침과의 정렬

.github/copilot-instructions.md 파일은 이제 중첩 링크 확인 및 향상된 언어 기능을 지원하는 다른 재사용 가능한 .prompt.md 파일과 동일하게 작동합니다. 또한, 모든 .prompt.md 파일을 참조할 수 있으며 올바르게 처리됩니다.

사용자 지정 지침에 대해 자세히 알아보십시오.

사용자 프롬프트

사용자 프롬프트 만들기 명령을 통해 이제 *사용자 프롬프트*라고 하는 새로운 유형의 프롬프트를 만들 수 있습니다. 이 프롬프트는 사용자 데이터 폴더에 저장되며 코드 조각 또는 사용자 설정과 마찬가지로 여러 컴퓨터에서 동기화될 수 있습니다. 동기화는 동기화 리소스 목록의 프롬프트 항목을 사용하여 설정 동기화에서 구성할 수 있습니다.

향상된 비전 지원 (미리 보기)

이전 반복에서 Copilot Vision이 GPT-4o에 대해 활성화되었습니다. 채팅에 이미지를 첨부하고 사용하는 방법에 대해 자세히 알아보려면 릴리스 노트를 확인하십시오.

이번 릴리스에서는 브라우저에서 드래그 앤 드롭하여 이미지를 첨부할 수 있습니다. 브라우저에서 드래그 앤 드롭된 이미지에는 .jpg, .png, .gif, .webp 또는 .bmp와 같은 올바른 URL 확장자가 있어야 합니다.

편집기 구성

통합 채팅 환경

VS Code에서 채팅 경험을 단일 통합 채팅 보기로 간소화했습니다. 별도의 보기 간에 이동하고 대화의 컨텍스트를 잃을 필요 없이 이제 다른 채팅 모드 간에 쉽게 전환할 수 있습니다.

Screenshot that shows the chat mode picker in the Chat view.

시나리오에 따라 다음 모드 중 하나를 사용하고, 대화 중에 자유롭게 전환하십시오.

  • 질문 모드: 코드베이스에 대한 질문을 하고 아이디어를 브레인스토밍하는 데 최적화되었습니다.
  • 편집 모드: 코드베이스의 여러 파일에 대한 편집을 만드는 데 최적화되었습니다.
  • 에이전트 모드: 코드 편집과 도구 호출을 결합한 자율 코딩 흐름에 최적화되었습니다.

통합 채팅 보기에 대한 자세한 내용을 확인하십시오.

즉각적인 인덱싱으로 더 빠른 작업 공간 검색

원격 작업 공간 인덱스는 AI가 질문에 답변하고 편집을 생성하는 동안 관련 코드 조각에 대해 대규모 코드베이스를 검색하는 속도를 높입니다. 이러한 원격 인덱스는 수만 또는 수십만 개의 파일이 있는 대규모 코드베이스에 특히 유용합니다.

이전에는 원격 작업 공간 인덱스를 빌드하고 사용하기 시작하려면 버튼을 누르거나 명령을 실행해야 했습니다. 새로운 즉각적인 인덱싱 지원을 통해, #codebase/@workspace 질문을 처음 시도할 때 원격 작업 공간 인덱스를 자동으로 빌드합니다. 대부분의 경우 이 원격 인덱스는 몇 초 안에 빌드할 수 있습니다. 빌드된 후에는 해당 리포지토리에서 작업하는 여러분이나 다른 사람이 VS Code에서 수행하는 모든 코드베이스 검색은 자동으로 원격 인덱스를 사용합니다.

현재 원격 작업 공간 인덱스는 GitHub에 저장된 코드에만 사용할 수 있습니다. 원격 작업 공간 인덱스를 사용하려면 작업 공간에 GitHub 원격이 있는 git 프로젝트가 포함되어 있는지 확인하십시오. Copilot 상태 메뉴를 사용하여 현재 사용 중인 인덱스 유형을 확인할 수 있습니다.

Screenshot that shows the workspace index status in the Copilot Status Bar menu.

부하 관리를 위해 향후 몇 주에 걸쳐 즉각적인 인덱싱을 점진적으로 출시하고 있으므로 즉시 보이지 않을 수 있습니다. 즉각적인 인덱싱이 아직 활성화되지 않은 경우 GitHub Copilot: 원격 인덱스 빌드 명령을 실행하여 원격 인덱스 사용을 시작할 수 있습니다.

Copilot 상태 메뉴

상태 표시줄에서 액세스할 수 있는 Copilot 상태 메뉴가 이제 모든 사용자에게 활성화되었습니다. 이번 마일스톤에서는 몇 가지 새로운 기능을 추가했습니다.

  • 언제든지 작업 공간 인덱스 상태 정보를 확인하십시오.

    Screenshot that shows the workspace index status of a workspace in the Copilot menu.

  • 활성 편집기에서 코드 완성 기능이 활성화되었는지 확인하십시오.

    새 아이콘이 상태를 반영하므로 코드 완성이 활성화되었는지 여부를 빠르게 확인할 수 있습니다.

    Screenshot that shows the Copilot status icon when completions is disabled.

  • 코드 완성 및 NES를 활성화 또는 비활성화하십시오.

기본 제공 Copilot 설정 (실험적)

설정: chat.setupFromDialog

즉시 사용할 수 있는 기능적인 채팅 환경을 제공하기 위한 실험적인 기능을 제공합니다. 여기에는 채팅 보기, 편집기/터미널 인라인 채팅 및 빠른 채팅이 포함됩니다. 채팅 요청을 처음 보내면 Copilot Free에 가입하고 로그인하는 과정이 안내됩니다.

이 경험을 직접 확인하고 싶다면 chat.setupFromDialog 설정을 활성화하십시오.

채팅 사전 릴리스 채널 불일치

VS Code Stable에 Copilot Chat 확장 프로그램의 사전 릴리스 버전을 설치한 경우, 새 환영 화면에서 이 구성이 지원되지 않음을 알립니다. 채팅 기능의 빠른 개발로 인해 확장은 VS Code Stable에서 활성화되지 않습니다.

환영 화면에는 확장 프로그램의 릴리스 버전으로 전환하거나 VS Code Insiders를 다운로드하는 옵션이 제공됩니다.

Screenshot that shows the welcome view of chat, indicating that the pre-release version of the extension is not supported in VS Code stable. A button is shown to switch to the release version, and a secondary link is shown to switch to VS Code Insiders.

의미론적 텍스트 검색 개선 (실험적)

설정: github.copilot.chat.search.semanticTextResults

AI 기반 의미론적 텍스트 검색이 이제 검색 보기에서 기본적으로 활성화됩니다. search.action.searchWithAI 바로 가기 키(⌘I (Windows, Linux Ctrl+I))를 사용하여 의미론적 검색을 트리거할 수 있으며, 이는 일반 검색 결과 위에 쿼리에 기반한 가장 관련성 높은 결과를 보여줍니다.

#searchResults 도구를 사용하여 의미론적 검색 결과를 채팅 프롬프트에 참조할 수도 있습니다. 이를 통해 LLM에 결과 요약 또는 설명, 또는 결과를 기반으로 코드 생성을 요청할 수 있습니다.

설정 편집기 검색 업데이트

기본적으로 설정 편집기 검색은 이전 릴리스에서 도입된 키 일치 알고리즘을 사용합니다. 또한 설정 ID가 알려진 설정과 정확히 일치하더라도 추가 설정을 표시합니다.

테마: Light Pink (vscode.dev에서 미리 보기)

창 컨트롤을 위한 새 설정 (Linux, Windows)

설정: window.controlsStyle

제목 표시줄 스타일(window.titleBarStyle)을 custom으로 설정한 경우, 창 컨트롤에 대해 세 가지 다른 스타일 중에서 선택할 수 있습니다.

  • native: 기본값이며 기본 플랫폼에 따라 창 컨트롤을 렌더링합니다.
  • custom: 기본값보다 사용자 지정 스타일을 선호하는 경우 사용자 지정 스타일로 창 컨트롤을 렌더링합니다.
  • hidden: 제목 표시줄 공간을 확보하고 키보드 중심 사용자에게 더 적합한 경우 창 컨트롤을 완전히 숨깁니다.

코드 편집

다음 편집 제안 일반 공급

설정: github.copilot.nextEditSuggestions.enabled

다음 편집 제안(NES)의 일반 공급을 기쁘게 발표합니다! 또한 NES의 전체 사용자 경험을 개선했습니다.

  • 편집 제안을 더 간결하게 만들어 주변 코드와의 간섭을 줄이고 한눈에 더 쉽게 읽을 수 있도록 합니다.
  • 모든 제안이 더 쉽게 눈에 띄도록 홈통 표시기를 업데이트했습니다.

AI 편집 개선

AI로 편집을 생성할 때 몇 가지 작은 조정을 했습니다.

  • AI 편집으로 파일을 다시 작성하는 동안 편집기 외부의 진단 이벤트를 음소거합니다. 이전에도 이 시나리오에서 물결선은 비활성화했습니다. 이러한 변경은 문제 패널의 깜박임을 줄이고 빠른 수정 코드 작업에 대한 요청을 발행하지 않도록 합니다.

  • AI 편집을 유지하기로 결정하면 파일을 명시적으로 저장합니다.

도구 기반 편집 모드

설정: chat.edits2.enabled

채팅의 편집 모드가 작동하는 방식에 변경 사항을 적용하고 있습니다. 새 편집 모드는 파일 편집을 위해 도구를 호출하도록 하는 에이전트 모드와 동일한 접근 방식을 사용합니다. 이 정렬의 장점은 세 가지 모드 간에 원활하게 전환할 수 있으며, 내부적으로 이러한 모드가 작동하는 방식을 크게 단순화한다는 것입니다.

단점은 이 새 모드가 에이전트 모드에서 작동하는 것과 동일한 제한된 모델 세트, 즉 도구 호출을 지원하고 도구가 관련된 경우 좋은 경험을 보장할 수 있도록 테스트된 모델과만 작동한다는 것입니다. 편집 모드 목록에서 o3-miniClaude 3.7 (Thinking)과 같은 모델이 누락된 것을 볼 수 있습니다. 이러한 모델을 계속 사용하려면 chat.edits2.enabled 설정을 비활성화하여 이전 편집 모드로 되돌릴 수 있습니다. 모드를 전환할 때 세션을 지우라는 메시지가 표시됩니다.

도구를 사용할 때 다양한 모델 간에 일관된 결과를 얻기 위한 프롬프트가 더 어렵다는 것을 알았지만, 편집(및 에이전트) 모드에서 이러한 모델을 활성화하기 위해 노력하고 있습니다.

이 설정은 VS Code Stable 사용자에게 점진적으로 활성화됩니다.

인라인 제안 구문 강조

설정: editor.inlineSuggest.syntaxHighlightingEnabled

이 업데이트를 통해 인라인 제안에 대한 구문 강조가 이제 기본적으로 활성화됩니다. 다음 스크린샷에서 코드 제안에 구문 색상이 적용된 것을 볼 수 있습니다.

Screenshot of the editor, showing that syntax highlighting is enabled for ghost text.

구문 강조 없이 인라인 제안을 선호하는 경우, editor.inlineSuggest.syntaxHighlightingEnabled으로 비활성화할 수 있습니다.

Screenshot of the editor showing that highlighting for ghost text is turned off.

Tree-Sitter 기반 구문 강조 (미리 보기)

설정: editor.experimental.preferTreeSitter.csseditor.experimental.preferTreeSitter.regex

이전의 Tree-Sitter를 사용한 구문 강조 작업에 기반하여, 이제 CSS 파일 및 TypeScript 내의 정규식에 대한 실험적인 Tree-Sitter 기반 구문 강조를 지원합니다.

노트북

Jupyter 노트북 문서의 최소 버전 4.5

새 노트북의 nbformat 기본 버전이 4.2에서 4.5로 올라갔으며, 이제 노트북의 각 셀에 id 필드를 설정하여 차이를 계산하는 데 도움이 됩니다. 노트북의 원시 JSON에서 nbformat_minor5로 설정하여 기존 노트북을 수동으로 업데이트할 수도 있습니다.

AI 노트북 편집 개선

노트북에 대한 AI 기반 편집 지원(에이전트 모드 포함)이 이제 Stable 릴리스에서 제공됩니다. 이는 지난 달 VS Code Insiders에 미리 보기 기능으로 추가되었습니다.

이제 코드를 편집하는 것과 동일한 직관적인 경험으로 노트북 파일을 편집하기 위해 채팅을 사용할 수 있습니다. 여러 셀에 걸쳐 내용을 수정하고, 셀을 삽입 및 삭제하며, 셀 유형을 변경할 수 있습니다. 이 기능은 데이터 과학 또는 문서 노트북 작업 시 원활한 워크플로우를 제공합니다.

새로운 노트북 도구

VS Code는 이제 채팅에서 직접 새 Jupyter 노트북을 만들기 위한 전용 도구를 제공합니다. 이 도구는 쿼리를 기반으로 새 노트북을 계획하고 생성합니다.

agent 모드 또는 edit 모드에서 새 노트북 도구를 사용하세요 (chat.edits2.enabled을(를) 활성화해야 함). ask 모드를 사용하는 경우, 채팅 프롬프트에 /newNotebook을(를) 입력하여 새 노트북을 만드세요.

AI 편집 내용 탐색

diff 도구 모음을 사용하여 셀 전체의 각 AI 편집 내용을 반복하고 검토하세요.

AI 편집 내용 실행 취소

셀 컨테이너에 포커스가 있을 때 실행 취소 명령은 노트북 수준에서 AI 변경 사항 전체를 되돌립니다.

채팅에서 텍스트 및 이미지 출력 지원

이제 텍스트, 오류, 이미지와 같은 노트북 셀 출력을 컨텍스트로 직접 채팅에 추가할 수 있습니다. 이렇게 하면 ask, edit 또는 agent 모드를 사용할 때 출력을 참조할 수 있어 언어 모델이 노트북 콘텐츠를 더 쉽게 이해하고 지원할 수 있습니다.

세 개의 점 메뉴를 통해 또는 출력에서 마우스 오른쪽 버튼을 클릭하여 사용할 수 있는 셀 출력 채팅에 추가 작업을 사용하세요.

셀 오류 출력을 채팅 컨텍스트로 첨부하려면

셀 출력 이미지를 채팅 컨텍스트로 첨부하려면

접근성

채팅 에이전트 모드 개선 사항

이제 도구 호출 중에 "터미널에서 명령 실행"과 같이 수동 작업이 필요한 경우 알림을 받습니다. 이 정보는 관련 채팅 응답의 ARIA 레이블에도 포함되어 있어 화면 판독기 사용자의 접근성이 향상됩니다.

또한, 에이전트 모드에서 새로운 접근성 도움말 대화 상자를 사용할 수 있으며, 이 대화 상자는 사용자가 기능을 통해 기대할 수 있는 내용과 효과적으로 탐색하는 방법을 설명합니다.

채팅 편집 작업에 대한 접근성 신호

VS Code는 이제 AI 생성 편집 내용을 유지하거나 실행 취소할 때 소리 신호를 제공합니다. 이러한 신호는 accessibility.signals.editsKeptaccessibility.signals.editsUndone을(를) 통해 구성할 수 있습니다.

제안 컨트롤에 대한 ARIA 레이블 개선

제안 컨트롤 항목에 대한 ARIA 레이블은 이제 제안 유형(예: 메서드 또는 변수)과 같은 더 풍부하고 설명적인 정보를 포함합니다. 이 정보는 이전에는 아이콘을 통해 시각 장애가 있는 사용자만 사용할 수 있었습니다.

소스 제어

참조 피커 개선

설정: git.showReferenceDetails

이번 마일스톤에서는 체크아웃, 병합, 리베이스 또는 브랜치 삭제와 같은 다양한 소스 제어 작업에 사용되는 참조 피커를 개선했습니다. 업데이트된 참조 피커에는 마지막 커밋(작성자, 커밋 메시지, 커밋 날짜)의 세부 정보와 로컬 브랜치의 앞/뒤 정보가 포함됩니다. 이 추가 컨텍스트를 통해 다양한 작업에 대한 올바른 참조를 선택하는 데 도움이 됩니다.

git.showReferenceDetails 설정을 토글하여 추가 정보를 숨기세요.

Screenshot of the source control references picker showing a list of git branches with details of the last commit, and ahead/behind information.

리포지토리 상태 표시줄 항목

여러 리포지토리를 포함하는 작업 영역에는 이제 브랜치 피커 왼쪽에 활성 리포지토리를 표시하는 소스 제어 공급자 상태 표시줄 항목이 있습니다. 새로운 상태 표시줄 항목은 추가 컨텍스트를 제공하므로 편집기 간을 탐색하고 소스 제어 보기를 사용할 때 어떤 리포지토리가 활성 리포지토리인지 알 수 있습니다.

소스 제어 공급자 상태 표시줄 항목을 숨기려면 상태 표시줄을 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴에서 소스 제어 공급자를 선택 해제하세요.

Screenshot showing the repository status bar item for workspaces that contain more than one repository.

Git blame 편집기 장식 개선

"커밋되지 않음" 편집기 장식이 타이핑하는 동안 많은 가치를 제공하지 않고 오히려 방해가 된다는 피드백을 받았습니다. 이번 마일스톤부터 "커밋되지 않음" 편집기 장식은 키보드 또는 마우스를 사용하여 코드베이스 주위를 탐색할 때만 표시됩니다.

커밋 입력 커서 사용자 지정

이번 마일스톤에서는 커뮤니티 기여 덕분에 소스 제어 입력란에서 지원하는 설정 목록에 editor.cursorStyleeditor.cursorWidth 설정을 추가했습니다.

터미널

에이전트 모드의 안정성

에이전트 모드에서 터미널 명령을 실행할 수 있는 도구에 안정성 및 호환성 개선 사항이 많이 추가되었습니다. 도구가 멈추거나 명령이 출력 없이 완료되는 경우가 줄어들 것으로 예상됩니다.

더 큰 변경 사항 중 하나는 "기본" 및 "없음"에 반대되는 "풍부한" 품질의 셸 통합 개념을 도입한 것입니다. VS Code와 함께 제공되는 셸 통합 스크립트는 일반적으로 풍부한 셸 통합을 활성화하여 터미널에서 실행 도구(및 일반적으로 터미널 사용)에서 최상의 환경을 제공합니다. 터미널 탭에 마우스를 올리면 셸 통합 품질을 볼 수 있습니다.

터미널 IntelliSense 개선 (미리 보기)

code CLI에 대한 IntelliSense 강화

이제 IntelliSense는 code, code-insiderscode-tunnel CLI에 대한 하위 명령을 지원합니다. 예를 들어 code tunnel을 입력하면 help, kill, prune과 같은 사용 가능한 하위 명령과 각 설명 정보가 표시됩니다.

Screenshot of the terminal window, showing code tunnel has been typed. The suggest widget shows subcommands like help, kill, prune, and others, with descriptions for each command.

다음과 같은 옵션 제안도 추가했습니다.

  • --uninstall-extension
  • --disable-extension
  • --install-extension

이러한 항목은 설치된 확장 프로그램 목록을 표시하여 명령을 완료하는 데 도움이 됩니다.

Screenshot of the VSCode terminal with code --uninstall-extension. A list of available extensions is displayed, including vscode-eslint and editorconfig.

또한 code --locate-shell-integration-path는 이제 bash, zsh, fishpwsh와 같은 셸별 옵션을 제공합니다.

Screenshot of the VSCode terminal showing a command input: code --locate-shell-integration-path with a dropdown menu listing shell options bash, fish, pwsh, and zsh.

전역 명령에 대한 자동 새로 고침

이제 터미널은 시스템 bin 디렉토리의 변경 사항을 감지하면 전역 명령 목록을 자동으로 새로 고칩니다. 이는 새로 설치된 CLI 도구(예: npm install -g pnpm 실행 후)가 창을 다시 로드할 필요 없이 즉시 완료에 표시됨을 의미합니다.

이전에는 새 도구에 대한 완료가 캐싱으로 인해 창을 수동으로 다시 로드할 때까지 표시되지 않았습니다.

옵션 값 컨텍스트

터미널 제안은 이제 예상되는 옵션 값에 대한 컨텍스트 정보를 표시하여 명령을 더 쉽게 완료할 수 있도록 도와줍니다.

Screenshot of the terminal showing a command in progress: npm install --omit. The terminal suggest widget displays  to indicate that's the option that's expected.

fish 셸에 대한 풍부한 완성

이전 릴리스에서는 bash 및 zsh에 대한 자세한 명령 완성을 추가했습니다. 이번 반복에서는 fish까지 지원을 확장했습니다. 완성 세부 정보는 셸의 설명서 또는 내장 도움말 명령에서 가져옵니다.

예를 들어 fish에서 jobs를 입력하면 사용법 정보와 옵션이 표시됩니다.

Screenshot of the Visual Studio Code Terminal with a fish terminal showing a user has typed jobs. The suggest widget shown provides information about the jobs command with detailed usage examples and options.

제안에 파일 형식 아이콘

터미널의 제안에는 이제 다양한 파일 형식에 대한 특정 아이콘이 포함되어 있어 스크립트와 바이너리를 한눈에 더 쉽게 구분할 수 있습니다.

Screenshot of the terminal, showing suggestions for various script files, including code.sh, code-cli.sh, and code-server.js. Icons indicate the specific file type.

인라인 제안 세부 정보

터미널에 유령 텍스트로 표시되는 인라인 제안은 계속해서 제안 목록 상단에 나타납니다. 이번 릴리스에서는 이러한 항목에 명령 세부 정보를 추가하여 수락하기 전에 더 많은 컨텍스트를 제공했습니다.

Screenshot of the terminal, showing the Block command as ghost text in the terminal. The first suggestion is block and it contains usage information.

새로운 간소화된 상세 탭 호버

기본적으로 터미널 탭은 이제 훨씬 적은 세부 정보를 표시합니다.

Screenshot of the simple hover showing the terminal name, PID, command line, shell integration quality and actions

모든 것을 보려면 호버 하단에 있는 세부 정보 표시 버튼을 사용하세요.

Screenshot of the detailed hover showing extensions that contribute to the environment and detailed shell integration diagnostics

서명된 PowerShell 셸 통합

셸 통합 PowerShell 스크립트가 이제 서명되었습니다. 이는 기본 PowerShell 실행 정책이 RemoteSigned인 Windows에서 셸 통합이 이제 자동으로 작동하기 시작해야 함을 의미합니다. 셸 통합의 이점에 대해 더 자세히 읽어볼 수 있습니다.

터미널 셸 유형

이번 반복에서 터미널 셸 API를 최종 확정하여 확장이 사용자의 현재 셸 유형을 터미널에서 볼 수 있도록 했습니다. 이벤트 onDidChangeTerminalState를 구독하면 터미널에서 사용자의 셸 유형 변경을 볼 수 있습니다. 예를 들어 셸이 zsh에서 bash로 변경될 수 있습니다.

식별 가능한 모든 셸 목록은 현재 여기에 나열되어 있습니다.

원격 개발

Linux 레거시 서버 지원 종료

릴리스 1.99부터 이 서버에 더 이상 연결할 수 없습니다. 1.97 릴리스에 명시된 바와 같이, 지원되는 Linux 배포판으로 마이그레이션하는 데 추가 시간이 필요한 사용자는 glibclibstdc++의 사용자 지정 빌드를 해결 방법으로 제공할 수 있습니다. 이 해결 방법에 대한 자세한 내용은 FAQ 섹션에서 확인할 수 있습니다.

엔터프라이즈

macOS 장치 관리

VS Code는 이제 Windows 외에도 macOS에서 장치 관리를 지원합니다. 이를 통해 시스템 관리자는 Microsoft Intune과 같은 중앙 집중식 관리 시스템에서 정책을 푸시할 수 있습니다.

자세한 내용은 엔터프라이즈 지원 설명서를 참조하세요.

확장 프로그램 기여

Python

Pylance를 사용한 편집 가능한 설치에 대한 지원 개선

Pylance는 이제 PEP 660에 정의된 편집 모드(pip install -e .)로 설치된 패키지의 가져오기 경로를 확인하는 것을 지원하며, 이는 이러한 시나리오에서 IntelliSense 환경을 개선합니다.

이 기능은 python.analysis.enableEditableInstalls을 통해 활성화되며, 이번 달 내내 기본 환경으로 점진적으로 출시할 예정입니다. 문제가 발생하면 Pylance GitHub 리포지토리에 보고해 주세요.

Pylance (실험적)를 사용한 더 빠르고 안정적인 진단 환경

확장의 릴리스 버전을 사용할 때 Pylance의 진단 정확도와 응답성을 개선하는 변경 사항을 점진적으로 출시하고 있습니다. 이는 여러 파일이 열려 있거나 최근에 닫힌 파일이 있는 시나리오에 특히 유용합니다.

롤아웃을 기다리지 않으려면 python.analysis.usePullDiagnostics을 설정할 수 있습니다. 문제가 발생하면 Pylance GitHub 리포지토리에 보고해 주세요.

Pylance 사용자 지정 Node.js 인수

python.analysis.nodeArguments이라는 새 설정이 있어 python.analysis.nodeExecutable을(를) 사용할 때 Node.js에 사용자 지정 인수를 직접 전달할 수 있습니다. 기본적으로 "--max-old-space-size=8192"로 설정되어 있지만, 필요에 따라 수정할 수 있습니다(예: 대규모 작업 영역에서 작업할 때 Node.js에 더 많은 메모리 할당).

또한 python.analysis.nodeExecutable을(를) auto로 설정하면 Pylance가 이제 Node.js를 자동으로 다운로드합니다.

확장 프로그램 작성

Terminal.shellIntegration 조정

Terminal.shellIntegration API는 이제 명령 감지가 발생할 때만 활성화됩니다. 이전에는 현재 작업 디렉토리만 보고될 때 작동해야 했지만, 이로 인해 TerminalShellIntegration.executeCommand가 제대로 작동하지 않았습니다.

또한 TerminalShellIntegration.executeCommand는 이제 더 일관적으로 작동하고 실행된 여러 명령으로 이어진 단일 명령줄에 대한 여러 "하위 실행"을 추적합니다. 이는 에이전트 모드의 안정성 섹션에서 언급한 풍부한 셸 통합에 따라 달라집니다.

제안된 API

작업 문제 해결사 상태

확장이 작업의 문제 해결사가 줄 처리를 시작하고 완료할 때를 모니터링할 수 있도록 제안 API를 추가했습니다. taskProblemMatcherStatus로 활성화하세요.

이미지를 LLM으로 보내기

이번 반복에서는 확장이 이미지를 첨부하고 언어 모델에 비전 요청을 보낼 수 있도록 제안 API를 추가했습니다. 첨부 파일은 이미지의 원시, base64 인코딩되지 않은 바이너리 데이터(Uint8Array)여야 합니다. 최대 이미지 크기는 5MB입니다.

사용 예시를 확인하고 이 API의 상태를 최신으로 유지하려면 이 API 제안 이슈를 확인하세요.

엔지니어링

Marketplace의 새 /latest API를 사용하여 확장 업데이트 확인

몇 개의 마일스톤 전에 확장 업데이트를 확인하기 위해 vscode-unpkg 서비스에 새 API 엔드포인트를 도입했습니다. Marketplace는 동일한 엔드포인트를 지원하며 VS Code는 이제 확장 업데이트를 확인하는 데 이 엔드포인트를 사용합니다. 이는 실험 기능이며 사용자에게 단계적으로 출시될 것입니다.

감사합니다

마지막으로, VS Code 기여자에 대한 진심 어린 감사의 말씀을 전합니다.

이슈 추적

이슈 추적에 대한 기여

풀 리퀘스트

vscode 기여

vscode-css-languageservice에 대한 기여

vscode-custom-data에 대한 기여

vscode-extension-samples 기여

vscode-extension-telemetry에 대한 기여

vscode-js-debug 기여

vscode-mypy에 대한 기여

vscode-prompt-tsx 기여

vscode-pull-request-github 기여

vscode-python-debugger 기여

vscode-test 기여

language-server-protocol 기여

python-environment-tools 기여

© . This site is unofficial and not affiliated with Microsoft.