2023년 11월 (버전 1.85)
업데이트 1.85.1: 이 업데이트는 다음 이슈들을 해결합니다.
업데이트 1.85.2: 이 업데이트는 다음 이슈들을 해결합니다.
다운로드: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap
Visual Studio Code의 2023년 11월 릴리스에 오신 것을 환영합니다. 이번 버전에는 많은 업데이트가 포함되어 있으며, 주요 내용으로는 다음과 같은 것들이 있습니다.
- 플로팅 편집기 창 - 편집기를 데스크톱으로 드래그 앤 드롭할 수 있습니다.
- 액세스 가능한 보기 워크플로우 - 액세스 가능한 보기와 원활하게 전환됩니다.
- 확장 프로그램 자동 업데이트 제어 강화 - 자동 업데이트할 확장 프로그램을 선택할 수 있습니다.
- 소스 제어 수신 및 발신 보기 - 보류 중인 리포지토리 변경 사항을 쉽게 검토할 수 있습니다.
- JavaScript 힙 스냅샷 - 메모리 객체 그래프를 포함한 힙 스냅샷을 시각화합니다.
- 인레이 힌트에서 TypeScript 정의로 이동 - 인레이 힌트 호버에서 정의로 점프합니다.
- Python 타입 계층 구조 표시 - 복잡한 타입 관계를 빠르게 검토하고 탐색합니다.
- GitHub Copilot 업데이트 - 인라인 채팅 개선, Rust 코드 설명.
- 미리 보기: 고정 스크롤 지원 확장 - 트리 보기 및 터미널에서 고정 스크롤.
이 릴리스 노트를 온라인으로 읽으려면 code.visualstudio.com의 업데이트로 이동하십시오.
Insider: 새로운 기능을 최대한 빨리 사용해 보고 싶으신가요? 야간 빌드인 Insider 빌드를 다운로드하고 사용 가능한 최신 업데이트를 즉시 사용해 보세요.
GitHub Universe, Copilot 및 VS Code
올해 GitHub Universe를 시청하거나 참석하셨다면 GitHub Copilot이 중심이었다는 것을 보셨을 것입니다. Copilot은 오프닝 키노트 및 GitHub Copilot: 오늘과 내일을 위한 AI 페어 프로그래머와 같은 세션에서 소개되었습니다.
VS Code 팀은 Copilot을 편집기에 통합하기 위해 열심히 노력해 왔으며, GitHub Universe를 앞두고 진행된 최근 VS Code에서 "놀랍도록 똑똑함"을 추구하며 블로그 게시물에서 팀의 진행 상황에 대해 더 자세히 알아볼 수 있습니다. 이 게시물은 코드베이스와 기술에 대한 전문가처럼 행동하는 Copilot Chat 에이전트의 개발을 자세히 설명하고 확장 프로그램 작성자가 VS Code에 사용자 지정 에이전트를 기여할 수 있는 방법을 설명합니다.
접근성
접근 가능한 보기
지난 반복에서 UI 구성 요소와 액세스 가능한 보기 간의 원활한 전환을 위해 키를 누를 때 액세스 가능한 보기가 자동으로 닫히도록 했습니다. 경우에 따라 이 동작이 바람직하지 않을 수 있으며, 이제 accessibility.accessibleView.closeOnKeyPress 설정을 통해 비활성화할 수 있습니다.
터미널과 터미널의 액세스 가능한 보기 간에 전환하는 경우, 터미널에서 명령을 실행한 후 액세스 가능한 보기가 자동으로 열리는 terminal.integrated.accessibleViewFocusOnCommandExecution을 활성화하는 것이 좋습니다.
키보드 포커스 시 툴팁 표시
키보드 사용자 경험을 개선하기 위해 활동 표시줄 및 상태 표시줄 항목과 같이 사용자 지정 호버가 있는 항목에 대해 키보드 포커스 시 툴팁이 표시됩니다.

음성 감지 시간 초과
새로운 설정 accessibility.voice.speechTimeout은 음성 입력(예: Copilot Chat)을 수락하기 전에 침묵 중에 기다리는 시간을 제어합니다. 기본적으로 음성 입력은 1.2초의 침묵 후 자동으로 제출됩니다. 음성 입력을 완전히 비활성화하려면 이 값을 0으로 설정할 수 있습니다.
워크벤치
플로팅 편집기 창
이번 릴리스에서는 편집기를 기본 창에서 자체적인 경량 창으로 이동할 수 있게 되었음을 기쁘게 생각합니다. 한 창에서 편집기의 변경 사항은 해당 편집기가 열려 있는 다른 모든 창에 즉시 적용됩니다.
플로팅 편집기 창을 만드는 가장 쉬운 방법은 편집기를 현재 창에서 드래그하여 데스크톱의 빈 공간에 놓는 것입니다.
테마: GitHub Dark (vscode.dev에서 미리 보기: vscode.dev)
새로운 workbench.editor.dragToOpenWindow 설정으로 이 동작을 비활성화할 수 있습니다.
편집기와 편집기 그룹을 자체 창으로 이동하거나 복사하는 새로운 전역 및 컨텍스트 명령도 있습니다.
- 보기: 편집기 복사하여 새 창으로 (
workbench.action.editor.copyWithSyntaxHighlightingAction) - 보기: 편집기 이동하여 새 창으로 (
workbench.action.editor.moveEditorToNextWindow) - 보기: 편집기 그룹 복사하여 새 창으로 (
workbench.action.editor.copyGroupToNextWindow) - 보기: 편집기 그룹 이동하여 새 창으로 (
workbench.action.editor.moveGroupToNextWindow) - 보기: 새 빈 편집기 창 (
workbench.action.newWindow)
플로팅 창의 편집기 영역은 원하는 복잡한 레이아웃으로 배열할 수 있습니다. 터미널과 검색 결과도 편집기로 열 수 있으므로 이제 이러한 기능도 별도의 창에서 사용할 수 있습니다!

이 새로운 기능을 사용해보고 발생하는 문제를 보고해 주세요. 기존 이슈를 검토하고 누락된 기능에 투표하는 것을 잊지 마십시오.
파일 탐색기에서 네이티브 붙여넣기 지원
VS Code는 이제 운영 체제의 탐색기에서 VS Code 파일 탐색기로 파일을 네이티브하게 붙여넣는 것을 지원합니다.
확장 프로그램 자동 업데이트 제어
이제 어떤 확장 프로그램을 자동 업데이트할지 선택할 수 있습니다. 모든 확장 프로그램을 자동 업데이트하고 싶지 않고 업데이트할 프로그램을 선택적으로 선택하려는 경우 유용합니다. 게시자별로 확장 프로그램 하나 또는 모든 확장 프로그램을 선택할 수 있습니다. 게시자의 모든 확장 프로그램을 자동 업데이트하도록 선택한 경우 해당 게시자의 개별 확장 프로그램을 선택 해제할 수 있습니다.

이 기능을 사용하려면 자동 업데이트를 비활성화(없음)하거나 선택한 확장 프로그램(선택한 확장 프로그램)에 대해 활성화해야 합니다.

새 프로필 아이콘
다음과 같은 새로운 프로필 아이콘을 프로필에 추가할 수 있습니다.
![]()
vrpianocoffeesnakerobotgamechipmusic
설정 편집기 검색 개선 및 버그 수정
설정 편집기는 이제 목차별로만 정렬하는 대신 일치 유형별로 검색 결과가 정렬됩니다. 즉, 제목 및 키워드 일치가 상단에 표시되므로 일치하는 제목이 있는 설정을 찾기 위해 아래로 스크롤할 필요가 없습니다.

테마: Light Pink (vscode.dev에서 미리 보기)
설정 편집기는 여전히 동점 처리 시 목차별로 설정을 정렬하므로, 확장 프로그램 작성자의 order 키는 @ext:<extension-id>와 같은 검색 쿼리에 대해 존중됩니다.
이번 반복에서는 네트워크 문제로 인해 설정 편집기가 로드되지 않거나 특정 검색 쿼리에서 중단되는 등의 설정 편집기 회귀 문제도 많이 수정되었습니다.
편집기
저장 시 코드 동작 및 자동
이제 편집기에서 저장 시 코드 동작을 활성화할 수 있으며, 편집기: 저장 시 코드 동작(editor.codeActionsOnSave) 설정이 해당 열거형 값으로 마이그레이션되었습니다. always로 설정하면 창 변경(onWindowChange) 또는 포커스 변경(onFocusChange) 시 저장하거나 자동 저장할 때 코드 동작을 실행할 수 있습니다. 이 기능을 활성화하려면 편집기: 저장 시 코드 동작(editor.codeActionsOnSave)을 선택하고 각 코드 동작 설정을 always로 변경합니다.
설정 값 업데이트는 다음과 같으며, 이전의 부울 값은 문자열에 해당하는 값으로 대체될 예정입니다.
옵션은 다음과 같습니다.
explicit- 명시적으로 저장할 때 코드 동작을 트리거합니다.true와 동일합니다.always- 명시적으로 저장할 때 및 창 또는 포커스 변경으로 인한 자동 저장 시 코드 동작을 트리거합니다.never- 저장 시 코드 동작을 트리거하지 않습니다.false와 동일합니다.
다중 문서 강조 표시
다중 문서 강조 표시는 새로운 제안된 MultiDocumentHighlightProvider API를 통해 추가 지원됩니다. 이제 TypeScript 언어에 대한 의미론적 발생 강조 표시가 내장 지원되며, 편집기: 발생 항목 강조 표시 (editor.occurrencesHighlight) 설정 값을 singleFile에서 multiFile로 변경하여 활성화할 수 있습니다. TypeScript 이외의 언어에서는 추가적인 언어별 제공자가 구현될 때까지 텍스트 발생 항목을 기반으로 다중 문서 발생 항목이 강조 표시됩니다. 의미론적 발생 항목을 기반으로 하는 것이 아닙니다.
소스 제어
수신/발신 변경 사항
이번 마일스톤에서는 소스 제어 보기에 수신/발신 섹션을 새로 도입하여 현재 브랜치와 원격 브랜치 간의 수신 및 발신 변경 사항을 표시합니다. 새 섹션에는 변경된 리소스 수와 삽입 및 삭제가 포함된 개별 변경 사항과 모든 변경 사항을 요약하는 모든 변경 사항 항목이 표시됩니다. 새 섹션의 가시성은 scm.showIncomingChanges 및 scm.showOutgoingChanges 설정을 사용하여 제어할 수 있습니다. 두 설정 모두 always, auto (기본값), never 값을 지원합니다.

입력 최대 줄 수
이전에는 소스 제어 입력이 최대 6줄까지 자동 확장되어 대부분의 커밋 메시지에 충분한 공간을 제공했습니다. 하지만 더 많은 공간이 유용한 경우가 있었으며, 소스 제어 입력 줄의 최대 수를 제어하는 새 설정 scm.inputMaxLines가 있습니다.
터미널
고정 스크롤
고정 스크롤이 터미널에 적용되었습니다! 셸 통합에서 제공하는 지식을 사용하여 뷰포트 상단의 명령 프롬프트가 터미널 상단에 고정됩니다. 이는 편집기의 고정 스크롤 작동 방식과 유사합니다.

고정 스크롤 요소를 클릭하면 터미널 버퍼의 해당 부분으로 스크롤됩니다.
현재 이 기능은 기본적으로 비활성화되어 있지만 "terminal.integrated.stickyScroll.enabled": true로 설정하여 활성화할 수 있습니다. 향후 이 기능을 기본적으로 활성화할 예정이며, 그때는 마우스 오른쪽 버튼을 클릭하고 토글하여 비활성화할 수 있습니다.
명령어 하이라이팅
터미널에서 명령 위에 마우스를 올리면 왼쪽에 하이라이트 막대가 표시됩니다. 이는 한 명령이 시작되고 다른 명령이 끝나는 지점을 알기 어려운 일반 터미널 프롬프트에 유용합니다.

셸 통합 및 명령어 탐색 개선
고정 스크롤 도입으로 셸 통합에 많은 개선이 이루어졌습니다. 특히 Windows에서 실행되는 터미널의 경우 셸 통합에서 받은 마커가 완전히 신뢰할 수 있지 않았습니다. 이제 터미널 콘텐츠를 지능적으로 스캔하고 터미널 명령을 사용 가능하게 만들기 전에 마커를 조정하는 로직이 있습니다.
셸 통합은 이제 프롬프트의 개별 부분을 감지할 수 있습니다. 즉, 프롬프트와 해당 입력입니다. 이는 고정 스크롤을 사용할 때 명령의 어떤 부분이 표시될지를 결정합니다. 또한 출력과 터미널 가독성을 분리하기 위해 자주 사용되는 프롬프트 상단의 빈 줄을 잘라냅니다.
기존 명령어 탐색 기능도 고정 스크롤에서 사용되는 덜 신뢰할 수 있는 프롬프트 줄 대신 고정 스크롤에 사용되는 더 신뢰할 수 있는 프롬프트로 이동할 수 있다는 이점이 있습니다.
이전

이후

밑줄 렌더링 개선
터미널의 점선 및 점으로 된 밑줄이 픽셀 단위로 완벽하게 렌더링됩니다.


Git pull 빠른 수정
Git 브랜치 체크아웃이 fast-forward 될 수 있는 경우, 새로운 터미널 빠른 수정 기능이 git pull을 실행하는 옵션을 제공합니다.
작업
npm.packageManager 설정을 bun으로 설정하여 package.json에 정의된 Bun 스크립트의 감지 및 실행을 활성화할 수 있습니다.
디버그
JavaScript 디버거
힙 스냅샷 시각화
.heapsnapshot으로 저장된 V8 힙 스냅샷을 VS Code에서 시각화할 수 있습니다. 전통적인 표 보기와 주어진 메모리 객체의 리테이너에 대한 그래픽 표현이 모두 제공됩니다.

테마: Codesong (vscode.dev에서 미리보기)
힙 스냅샷은 JavaScript 코드를 디버깅하는 동안 성능 프로필 찍기 명령을 사용하여 캡처할 수 있습니다. 또한 브라우저 개발자 도구의 메모리 탭을 통해 캡처할 수도 있습니다.
이벤트 리스너 중단점 보기 개선
Microsoft Edge 또는 Google Chrome 브라우저를 디버깅하는 동안 표시되는 이벤트 리스너 중단점 보기가 개선되었습니다. 이제 체크박스 목록이며 URL을 기반으로 XHR/fetch 요청에서 일시 중지를 지원합니다.

Rust를 사용한 WebAssembly 디버깅
VS Code와 wasm-bindgen 모두 Rust가 WebAssembly로 컴파일된 것을 VS Code에서 디버깅할 수 있도록 하는 변경 사항을 만들었습니다. 자세한 내용은 WebAssembly 디버깅에 대한 문서를 참조하세요.
테스트
찾기 컨트롤이 이제 테스트 결과 보기 터미널에서 지원됩니다.
언어
TypeScript 5.3
이번 릴리스에는 TypeScript 5.3이 포함됩니다. 이 주요 업데이트는 import 속성, 더 나은 타입 좁히기 등을 지원합니다. 또한 새로운 언어 도구 기능과 버그 수정도 포함됩니다.
TypeScript 블로그에서 TypeScript 5.3에 대해 자세히 알아볼 수 있습니다.
node_module 심볼이 작업 영역 심볼 검색에서 제외됨
작업 영역에서 심볼로 이동은 이제 기본적으로 node_modules에서 심볼을 제외합니다. 이렇게 하면 설치된 패키지의 심볼에 압도되지 않고 코드의 심볼을 더 쉽게 찾을 수 있습니다.
"typescript.workspaceSymbols.excludeLibrarySymbols": false를 설정하여 프로젝트의 모든 심볼을 포함하는 이전 동작으로 되돌릴 수 있습니다.
인레이 힌트에 대한 정의로 이동
JavaScript 및 TypeScript 인레이 힌트의 타입이 이제 상호 작용 가능합니다. Windows 및 Linux에서는 Ctrl, macOS에서는 Cmd를 누른 상태로 타입 위로 마우스를 올리고 클릭하면 타입의 정의로 빠르게 이동할 수 있습니다.

자동 가져오기에 'type' 사용 선호
타입 전용 가져오기를 사용하면 런타임에 가져오기가 완전히 제거되도록 하면서 타입을 가져올 수 있습니다. type 가져오기를 항상 기본으로 사용하려면 이제 "typescript.preferences.preferTypeOnlyAutoImports": true를 설정하면 자동 가져오기가 타입 전용 가져오기를 사용합니다. 이 설정은 기본적으로 꺼져 있습니다.
원격 개발
원격 개발 확장 프로그램을 사용하면 개발 컨테이너, SSH 또는 원격 터널을 통해 원격 머신 또는 Windows Subsystem for Linux(WSL)를 완전한 기능을 갖춘 개발 환경으로 사용할 수 있습니다.
주요 내용은 다음과 같습니다.
- Dev Containers에 GitHub Copilot 및 Pull Requests and Issues 확장 프로그램을 자동으로 설치합니다.
- Dev Containers에 설치되는 확장 프로그램을 더 세밀하게 제어할 수 있습니다.
- 로컬 Dev Containers 및 WSL 세션에서 로컬 머신 인증서를 재사용합니다.
이 기능들에 대한 자세한 내용은 원격 개발 릴리스 노트에서 확인할 수 있습니다.
확장 프로그램 기여
GitHub Copilot
인라인 채팅 UI 개선
인라인 채팅 프롬프트 기록이 이제 VS Code 세션 간에 유지됩니다. 이전 및 다음 프롬프트를 표시하는 바로 가기 키도 VS Code의 다른 이전/다음 항목 바로 가기와 일치하도록 위쪽 및 아래쪽으로 변경되었습니다.
/test 슬래시 명령과 같이 인라인 채팅이 새 파일 생성을 제안할 때, 만들기 드롭다운에서 이름으로 만들기를 선택하여 파일 이름과 위치를 선택할 수 있습니다.

마지막으로, 인라인 채팅을 위한 새로운 실험적인 경량 UI 모드가 있습니다. 더 부드러운 스트리밍 경험을 제공하고 요청 시에만 diff를 렌더링합니다. "inlineChat.mode": "live3" 설정을 통해 활성화할 수 있습니다.

수정 사항에 대한 인라인 채팅이 요약 및 후속 작업 표시
/fix와 같은 수정 사항에 대한 인라인 채팅을 사용할 때, 수정 사항이 하는 일에 대한 짧은 요약도 제공됩니다. 남은 오류가 있는 경우 제공된 후속 작업을 클릭하여 수정 사항을 개선할 수 있습니다.

인라인 채팅에서 점진적인 메시지 렌더링
인라인 채팅은 이제 채팅 보기와 동일한 점진적인 렌더링을 사용합니다.

터미널 커밋 메시지 생성 빠른 수정
지난 릴리스에는 소스 제어 보기 입력 상자에 Copilot 커밋 메시지 생성 "스파클"이 추가되었습니다. 터미널 사용자의 경우, git add... 명령을 실행한 후 터미널에서 편집 가능한 커밋 메시지를 생성하는 빠른 수정 기능이 추가되었습니다.
터미널 에이전트 및 명령어 제안 개선
터미널 관련 모든 기능이 @terminal 에이전트로 이동되었습니다. 이는 터미널 에이전트가 작업 영역 정보를 가져오지 않을 수 있다는 점을 명확히 하고, 기능을 통합하며, 사용 편의성을 높이기 위한 것입니다.
다음은 이전 프롬프트에서 새 프롬프트로의 매핑입니다.
| 이전 | 새로운 |
|---|---|
@workspace /terminal 파일 목록은 어떻게 보나요? |
@terminal 파일 목록은 어떻게 보나요? |
@workspace /explain #terminalSelection |
@terminal #terminalSelection |
@workspace /explain #terminalLastCommand |
@terminal #terminalLastCommand |
또한, 이번 릴리스에서는 명령어 제안이 크게 개선되었습니다. 터미널 명령어 제안은 이제 운영 체제와 사용되는 셸을 인식합니다. 작업 영역 정보도 Copilot이 질문이 작업 영역과 관련이 있다고 판단하는지에 따라 조건부로 가져옵니다. 작업 영역 컨텍스트 수집은 속도와 실제로 참조되는 내용 모두에서 더 개선될 것입니다.

이 예시에서 @terminal 에이전트가 microsoft/vscode 리포지토리에서 파일 경로가 어떻게 형성되는지 알고 있다는 점에 주목하세요.

제안된 명령을 설명하는 편리한 후속 작업도 있으며, 채팅 입력란 바로 위에 파란색 스파클 링크로 표시됩니다.

설명 후속 작업을 활성화하면 제안된 명령에 대한 자세한 설명이 제공됩니다.

개인 정보 보호 리포지토리에서 GitHub 원격 검색 기능을 사용할 때 인증 업그레이드 대화 상자
사용자 계정에 대해 활성화된 경우 @workspace 에이전트를 사용할 때 Copilot Chat은 원격 검색 기능을 사용하여 작업 영역을 검색합니다. 개인 정보 보호 리포지토리와 함께 원격 검색을 사용하려면 더 많은 권한이 있는 인증 토큰이 필요합니다. 필요한 권한이 있는 토큰이 이미 없는 경우 추가 권한을 요청받게 됩니다.

이 대화 상자는 한 번만 표시되며, @workspace 에이전트에 대한 향후 쿼리는 캐시된 토큰을 사용합니다.
@workspace에 더 쉽게 요청 보내기
@workspace 에이전트는 많은 Copilot 쿼리에서 사용되므로 가능한 한 쉽게 활성화할 수 있도록 하고 싶었습니다. 이제 채팅 입력란에 질문을 입력한 후 을 눌러 질문을 보내고 @workspace을 자동으로 앞에 붙일 수 있습니다.
Copilot으로 Rust 코드 설명
Copilot Chat은 Rust 언어 서비스 확장 프로그램(예: rust-analyzer)을 설치한 경우, Rust 코드를 설명하도록 요청할 때 코드베이스에서 여러 파일의 컨텍스트를 수집합니다. Copilot 설명을 보려면 활성 편집기에서 코드를 선택한 다음 컨텍스트 메뉴에서 Copilot > 이것 설명을 사용하거나 인라인 채팅 또는 채팅 보기에서 /explain을 사용하십시오.

코드 블록에서 잠재적 취약점 탐지
Copilot에서 생성된 소스 코드의 가능한 문제점을 인지하도록 하기 위해, 이제 채팅 보기 코드 블록의 코드를 취약점 탐지 모델을 통해 실행하고 감지된 문제를 플래그 지정합니다. 이 기능은 즉시 보이지 않을 수 있지만, Copilot Chat 사용자에게 점진적으로 롤아웃하고 감지되는 취약점 유형을 조정할 것입니다.
취약점이 포함된 것으로 확인된 코드 블록은 코드 블록 하단에 주석으로 표시됩니다. 취약점 탐지 모델은 파일럿으로 진행 중인 모델이므로, Copilot의 제안 및 가능한 취약점을 검토할 때 최선의 판단을 내리십시오.

Copilot 비디오 및 라이브스트림 세션
YouTube의 VS Code Copilot 비디오를 놓치지 마세요. 최신 Copilot Chat 기능과 Copilot이 "훨씬 더 똑똑해진" 방법에 대해 알아보세요.
아직 VS Code 라이브스트림을 시청하지 않으셨다면, 1.84 릴리스 파티에서 소개된 Copilot 데모를 꼭 시청하세요.
Python
Pylance를 사용한 타입 계층 구조 표시
이제 Pylance를 사용할 때 Python 프로젝트의 타입 관계를 더 편리하게 탐색하고 탐색할 수 있습니다. 복잡한 타입 관계를 가진 대규모 코드베이스에서 작업할 때 도움이 될 수 있습니다.
심볼에서 마우스 오른쪽 버튼을 클릭하고 타입 계층 구조 표시를 선택하면 타입 계층 구조 보기가 열립니다. 거기서 심볼의 하위 타입 및 상위 타입을 탐색할 수 있습니다.
테마: Catppuccin Macchiato (vscode.dev에서 미리 보기: vscode.dev)
실행 버튼 메뉴에서 구성 가능한 디버깅 옵션
이제 Python 디버거 확장 프로그램에 실행 버튼 메뉴에 구성 가능한 디버그 옵션이 있습니다. Python Debugger: launch.json으로 디버그를 선택하고 작업 영역에 기존 launch.json이 있는 경우, 디버거를 시작하기 위해 선택할 수 있는 모든 사용 가능한 디버그 구성을 표시합니다. 구성이 없으면 Python 애플리케이션에 대한 launch.json 파일을 생성하기 위해 디버그 구성 템플릿을 선택하라는 메시지가 표시됩니다.

환경 변수를 사용하여 활성화된 경우 비활성화 명령 지원
이제 Python 확장은 기본 터미널에서 선택한 환경을 명시적인 활성화 명령을 실행하지 않고 활성화하는 새로운 활성화 메커니즘을 가지고 있습니다. 현재 실험 플래그 뒤에 있으며 다음 사용자 설정을 통해 활성화할 수 있습니다: "python.experiments.optInto": ["pythonTerminalEnvVarActivation"].
하지만 이 활성화 메커니즘의 초기 단점 중 하나는 deactivate 명령을 지원하지 않는다는 것이었습니다. 일부 사용자의 워크플로우에서 중요한 부분이라는 피드백을 받았으므로, 선택한 기본 터미널이 PowerShell 또는 명령 프롬프트인 경우 deactivate 지원을 추가했습니다. 향후 추가 터미널에 대한 지원을 추가할 계획입니다.
REPL 스마트 보내기 경고 메시지 및 설정
Python 파일에 유효하지 않거나 사용되지 않는 코드가 포함된 상태에서 Shift+Enter를 사용하여 스마트 보내기를 사용하려고 할 때, 이제 경고 메시지와 REPL 스마트 보내기 비활성화 옵션이 있습니다. 사용자는 Python.REPL: REPLSmart Send 활성화 (python.REPL.enableREPLSmartSend) 설정을 통해 REPL 스마트 보내기에 대한 사용자 및 작업 영역별 동작을 변경할 수 있습니다.

테스트 아키텍처 재작성
Python 테스트 어댑터 재작성 실험이 100% 사용자에게 롤아웃되었습니다. 현재 "python.experiments.optOutFrom" : "pythonTestAdapter"를 settings.json에 추가하여 옵트아웃할 수 있지만, 곧 이 실험 플래그를 제거하고 이 새로운 아키텍처를 채택할 것입니다.
GitHub Pull Requests 및 Issues
풀 리퀘스트 및 이슈 관리 기능을 제공하는 GitHub Pull Requests and Issues 확장 프로그램에 더 많은 진전이 있었습니다.
- PR 설명 및 만들기 보기에서 이제 병합 큐가 지원됩니다.
- 새 설정
"githubPullRequests.allowFetch": false는fetch실행을 방지합니다. - 하위 모듈 지원이 개선되었습니다.
확장 프로그램 0.78.0 릴리스의 변경 로그를 검토하여 다른 주요 내용을 알아보십시오.
미리보기 기능
트리에서의 고정 스크롤
편집기에서의 고정 스크롤 성공을 기반으로, 이 기능을 모든 트리 보기로 확장하여 사용자가 프로젝트 트리를 더 쉽게 탐색할 수 있도록 했습니다. 트리 고정 스크롤은 workbench.tree.enableStickyScroll: true를 설정하여 활성화할 수 있습니다. 고정 스크롤이 너무 많은 공간을 차지하지 않도록 하기 위해 보기 높이의 최대 40%까지만 차지할 수 있습니다. 또한 사용자는 workbench.tree.stickyScrollMaxItemCount(기본값 7)을 구성하여 최대 고정 항목 수를 사용자 정의할 수 있습니다.
트리 탐색 경험 개선을 위해 고정된 요소를 클릭하면 트리 내 해당 위치로 바로 이동하거나, 부모 요소의 셰브론을 누르면 해당 요소의 모든 하위 요소를 숨길 수 있습니다. 또한, 고정 스크롤이 활성화되면 체크박스 및 작업 항목에 더 쉽게 접근할 수 있습니다.
다중 파일 diff 편집기
이번 릴리스에는 다중 diff 편집기의 미리 보기가 포함됩니다. 다중 diff 편집기를 사용하면 여러 파일의 변경 사항을 하나의 스크롤 가능한 보기에서 볼 수 있습니다.
다중 diff 편집기를 활성화하려면 "multiDiffEditor.experimental.enabled": true를 설정하십시오. 현재 다중 diff 편집기는 로컬 변경 사항, 스테이징된 변경 사항, 수신/발신 변경 사항 및 풀 리퀘스트의 변경 사항을 검토하는 데 사용할 수 있습니다. 다중 diff 편집기는 아직 기능이 완전하지 않으며 모든 시나리오에서 작동하지 않을 수 있습니다.
한국어 대체 문자 필터링
입력 언어 편집기(IME)를 전환하는 것을 잊는 경우가 흔하므로, VS Code는 이제 워크벤치 전체에서 필터링을 사용하는 다양한 기능에 대해 QWERTY 키보드에 해당하는 문자를 검색합니다. 이는 검색 엔진과 유사하게 실시간으로 작동합니다. 예를 들어, 한국어 IME에서 debug를 입력하면 ㅇ듀ㅕㅎ이 되는데, 이는 의미가 없습니다.

현재 이 기능은 단어 중간에서 필터링할 때는 작동하지 않습니다.
문제 장식 숨기기
편집기와 워크벤치 전체에서 문제 장식(문제 보기 제외)을 숨기는 새로운 설정이 있습니다. 문제: 가시성 (problems.visibility) 설정은 기본적으로 모든 문제를 표시하도록 활성화되어 있습니다.
문제: 가시성이 꺼져 있으면 일부 문제 UI 설정이 비활성화됩니다.
- 개요 > 문제: 배지 (
outline.problems.badges) - 개요 > 문제: 색상 (
outline.problems.colors) - 개요 > 문제: 사용 (
outline.problems.enabled) - 문제 > 장식: 사용 (
problems.decorations.enabled)
문제: 가시성이 꺼져 있으면 상태 표시줄에 경고가 표시됩니다.

제안된 API
모든 마일스톤에는 새로운 제안 API가 제공되며 확장 저자는 이를 시험해 볼 수 있습니다. 항상 그렇듯이 피드백을 원합니다. 제안 API를 시험해 보는 단계는 다음과 같습니다.
- 시험하고 싶은 제안을 찾아
package.json#enabledApiProposals에 해당 이름을 추가하세요. - 최신 @vscode/dts를 사용하고
npx @vscode/dts dev를 실행하세요. 그러면 해당d.ts파일이 작업 영역으로 다운로드됩니다. - 이제 제안에 대한 프로그래밍을 할 수 있습니다.
제안 API를 사용하는 확장은 게시할 수 없습니다. 다음 릴리스에서 호환성이 깨지는 변경 사항이 있을 수 있으며, 기존 확장을 깨뜨리는 일은 절대 없을 것입니다.
테스트 커버리지
이번 반복에서 테스트 커버리지 작업을 다시 시작했으며, 초기 UI 통합과 오래된 제안에 대한 몇 가지 사소한 업데이트가 이루어졌습니다. API는 여기에 포함하기에는 너무 길지만, 비교적 간단하다고 생각하며 이슈 #123713에서 제안에 대한 의견을 환영합니다.
채팅 에이전트
최근 블로그 게시물 VS Code에서 "놀랍도록 똑똑함"을 추구하며에서 언급했듯이, 확장 프로그램이 Copilot Chat 보기에 채팅 에이전트를 기여할 수 있는 모델을 개발하고 있습니다. 채팅 에이전트 API는 제안 단계이지만, 지금 바로 사용자 지정 채팅 에이전트를 추가하여 실험할 수 있습니다. 업데이트는 이슈 #199908을 구독하여 받아보세요.
다중 문서 강조 표시 API
이전 릴리스에서 소개된 바와 같이, 이제 VS Code 내에서 다중 문서 강조 표시 지원이 가능합니다. 이번 반복에서는 다중 문서 강조 표시 제공자를 등록하기 위한 제안된 MultiDocumentHighlightProvider API를 추가했습니다. 이를 통해 특정 프로그래밍 언어에 대한 의미론적 발생 강조 표시 기능을 제공할 수 있습니다. 제공자는 URI를 DocumentHighlight에 매핑하는 새로운 MultiDocumentHighlight 구조를 반환합니다. 피드백 및 추가 업데이트는 이슈 #196354를 통해 추적할 수 있습니다.
엔지니어링
새 CDN
새 CDN 엔드포인트: vscode.download.prss.microsoft.com로의 배포를 롤아웃하고 있습니다. 시스템 관리자는 이 엔드포인트로부터의 트래픽을 허용하도록 네트워크 규칙을 구성해야 합니다.
macOS 10.13 및 10.14 지원 종료
VS Code 1.85는 macOS 10.13 (macOS High Sierra) 및 10.14 (macOS Mojave)를 지원하는 마지막 릴리스입니다. 자세한 내용은 FAQ를 참조하세요.
주요 수정 사항
- 195796 설정 편집기에서 지역화 후 텍스트 검색 지원 안 됨
- 197319 vscode://file// 링크 더 이상 작동 안 함
- 194094 프로필 아이콘 선택기 외부로 마우스를 이동할 때 프로필 아이콘 선택기 닫지 않기
- 197070 사용자 지정 제목 표시줄에 디버그 도구 모음 배치 지원
감사합니다
마지막으로, VS Code 기여자에 대한 진심 어린 감사의 말씀을 전합니다.
이슈 추적
이슈 추적에 대한 기여
풀 리퀘스트
vscode 기여
- @a-stewart (Anthony Stewart): viewPaneContainer.ts의
'solid' || ''단순화 PR #198515 - @abhijit-chikane (Abhijit Chikane): treeStickyScroll 기본값 부울로 변경 PR #198849
- @amaust (Andrew Maust): URL 툴팁에 "검증된 도메인" 식별자 추가 PR #197037
- @andrewbranch (Andrew Branch)
- 타입 전용 가져오기 선호 설정을 추가합니다. PR #196123
- [typescript-language-features] preferTypeOnlyAutoImports에 대한 누락된 기본 설정 설명 추가 PR #197403
- @arvid220u (Arvid Lunnemark)
- 빈 설정 페이지 수정 PR #198261
- 조건 이름을 업데이트하여 노드 허용 PR #198274
- @cobey (Cody Beyer)
- 누락된 py azure 패키지 추가 PR #195508
- Cobey 누락된 js 추가 PR #197600
- @d-mahard (Dipta Mahardhika): chore: 댓글 입력란 색상 변수 이름 변경 PR #197950
- @elseifthen: 검색 결과 앞에 줄 번호 표시 (#_190742) PR #195452
- @gjsjohnmurray (John Murray)
- 보조 창에 '그룹 잠금' 버튼 추가 (#_182265) PR #182294
- 데이터 중단점에 조건 및 히트 수 지원 (수정 #188721) PR #195710
- 불필요한 작업 시스템 메시지 및 FSP에 영향을 미치는 조기 반환 제거 (수정 #192490) PR #196247
- 리포지토리 하위 메뉴에서 비어 있거나 모호한 리포지토리 레이블 방지 (수정 #196613) PR #196623
typescript.implementationsCodeLens.showOnInterfaceMethods설정 추가 (#_136282) PR #198419- Timeline 설정에 대한 사용되지 않는 마이그레이션 코드 제거 PR #198542
- 다중 diff 편집기에 '모든 diff 접기' 작업 버튼 추가 PR #199064
- 다중 diff 편집기: 모든 diff 확장 작업 추가 PR #199623
- @gtritchie (Gary Ritchie): 검색 아이콘 aria-hide PR #197577
- @hamirmahal (Hamir Mahal): feat: 터미널 복사 명령에 대한 바로가기 키 생성 허용 PR #197099
- @hsfzxjy (Xie Jingyi)
- '@installed'이 확장 설명과 일치 PR #196602
- '이전/다음 변경 사항 보기' 클릭 시 커서 설정 PR #197501
- inlineSuggest.showToolbar.never 추가 PR #198227
- @idootop (Del): feat: editor.action.showHover에 대한 새로운 호버 포커스 옵션 소개 PR #196891
- @jsoref (Josh Soref): 'Cannot'을 풀어서 작성 PR #198377
- @jtbandes (Jacob Bandes-Storch): Swift 문법 및 업스트림 리포지토리 업데이트 PR #197470
- @marrej (Marcus Revaj): # 제안 드롭다운/인라인 완료 부분 수락 (다음 토큰/줄을 통한) 경합 수정 PR #197633
- @marvinruder (Marvin A. Ruder): `npm` 확장에 Bun을 패키지 관리자로 추가 PR #198005
- @mrgharabaghi (Mohammad Reza Gharabaghi): theme-defaults 업데이트 PR #197449
- @myty (Michael Tyson): 컨텍스트 메뉴에서 확장 제공 터미널 프로필 사용 PR #195108
- @n-gist (n-gist): 고정 탭 버튼 (아이콘) 제어 설정 추가 PR #196896
- @nolddor (Jack Nolddor): fix: 새 빈 창 데스크톱 동작에 대한 누락된 번역 PR #199129
- @noritada (Noritada Kobayashi): Rust 문자열의 \xN8 및 \xN9가 잘못 색칠되는 문제 수정 PR #196198
- @oxcened (Alen Ajam): fix: 편집기의 모델 내용 변경 시 호버 숨김 방지 PR #198100
- @PrathamLalwani: 음성 채팅 청취 시간 기능 추가 PR #197801
- @r3m0t (Tomer Chachamu): [Acc] 키보드 접근 가능한 도구 설명 - #132344 수정 PR #197965
- @rehmsen (Ole)
- 환영 화면에서 터미널로 전환 시 레이아웃. PR #173368
- browserHostService.ts -> web.api.ts 순환 참조 제거. PR #198221
- xtermTerminal.test.ts를 고립되도록 만듭니다. PR #198403
- @remcohaszing (Remco Haszing): Monaco의 타겟을 es6에서 es2018로 증가 PR #192050
- @ronakj (Ronak Jain): 네비게이션을 위한 tsconfig 해석 수정 PR #192851
- @scripthunter7 (David): YAML에 TMLanguage 별칭 추가 PR #198300
- @SimonSiefke (Simon Siefke)
- feature: 클립보드에서 파일을 붙여넣을 수 있도록 허용 PR #195730
- fix: 드롭다운 작업의 메모리 누수 PR #197769
- fix: 댓글 컨트롤러의 메모리 누수 PR #198237
- @tisilent (xiejialong)
- 터미널 검색에 mousedown, contextmenu 이벤트 추가 PR #194817
- _adoptConfiguration*에서 hide 할당 삭제 PR #197526
- @WardenGnaw (Andrew Wang)
- 컨텍스트 없음 (파일 열림) 동적 구성 제공자 표시 PR #196768
- serverReadyAction으로 DebugConfigurations 실행 지원 추가 PR #197597
- @zobo (Damjan Cvetko): fix: 내장 PHP 유효성 검사 제공자의 잘못된 endCharacter 값 PR #196166
vscode-css-languageservice에 대한 기여
- @dyhagho (Dyhagho Briceño): [scss] 부분 파일 지원을 포함하는 경로 해결자 PR #373
vscode-pull-request-github 기여
- @flpcury (Felipe Cury): createDraft 및 setAutoMerge에 대한 사용 중단 메시지 수정 PR #5429
- @gjsjohnmurray (John Murray): `githubIssues.useBranchForIssues` 설정 설명을 마크다운으로 처리 (수정 #5506) PR #5508
- @kurowski (Brandt Kurowski): 기본 브랜치 PR 무시를 항상 비활성화하는 설정 추가 PR #5435
- @ThomsonTan (Tom Tan): 활성 PR의 diff를 순서대로 반복 PR #5437