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

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월 릴리스에 오신 것을 환영합니다. 이번 버전에는 많은 업데이트가 포함되어 있으며, 주요 내용으로는 다음과 같은 것들이 있습니다.

이 릴리스 노트를 온라인으로 읽으려면 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을 활성화하는 것이 좋습니다.

키보드 포커스 시 툴팁 표시

키보드 사용자 경험을 개선하기 위해 활동 표시줄 및 상태 표시줄 항목과 같이 사용자 지정 호버가 있는 항목에 대해 키보드 포커스 시 툴팁이 표시됩니다.

Tooltip for Extensions view icon in the Activity Bar

음성 감지 시간 초과

새로운 설정 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)

플로팅 창의 편집기 영역은 원하는 복잡한 레이아웃으로 배열할 수 있습니다. 터미널과 검색 결과도 편집기로 열 수 있으므로 이제 이러한 기능도 별도의 창에서 사용할 수 있습니다!

Terminal and Search as editors in a floating window

이 새로운 기능을 사용해보고 발생하는 문제를 보고해 주세요. 기존 이슈를 검토하고 누락된 기능에 투표하는 것을 잊지 마십시오.

파일 탐색기에서 네이티브 붙여넣기 지원

VS Code는 이제 운영 체제의 탐색기에서 VS Code 파일 탐색기로 파일을 네이티브하게 붙여넣는 것을 지원합니다.

확장 프로그램 자동 업데이트 제어

이제 어떤 확장 프로그램을 자동 업데이트할지 선택할 수 있습니다. 모든 확장 프로그램을 자동 업데이트하고 싶지 않고 업데이트할 프로그램을 선택적으로 선택하려는 경우 유용합니다. 게시자별로 확장 프로그램 하나 또는 모든 확장 프로그램을 선택할 수 있습니다. 게시자의 모든 확장 프로그램을 자동 업데이트하도록 선택한 경우 해당 게시자의 개별 확장 프로그램을 선택 해제할 수 있습니다.

Choose extensions to auto update

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

Auto update mode options with Selected Extensions checked

새 프로필 아이콘

다음과 같은 새로운 프로필 아이콘을 프로필에 추가할 수 있습니다.

New Profile icons

  • vr
  • piano
  • coffee
  • snake
  • robot
  • game
  • chip
  • music

설정 편집기 검색 개선 및 버그 수정

설정 편집기는 이제 목차별로만 정렬하는 대신 일치 유형별로 검색 결과가 정렬됩니다. 즉, 제목 및 키워드 일치가 상단에 표시되므로 일치하는 제목이 있는 설정을 찾기 위해 아래로 스크롤할 필요가 없습니다.

Settings editor showing the windows.titleBarStyle setting appearing first when searching "title bar style"

테마: 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.showIncomingChangesscm.showOutgoingChanges 설정을 사용하여 제어할 수 있습니다. 두 설정 모두 always, auto (기본값), never 값을 지원합니다.

Incoming/Outgoing changes in the Source Control view

입력 최대 줄 수

이전에는 소스 제어 입력이 최대 6줄까지 자동 확장되어 대부분의 커밋 메시지에 충분한 공간을 제공했습니다. 하지만 더 많은 공간이 유용한 경우가 있었으며, 소스 제어 입력 줄의 최대 수를 제어하는 새 설정 scm.inputMaxLines가 있습니다.

터미널

고정 스크롤

고정 스크롤이 터미널에 적용되었습니다! 셸 통합에서 제공하는 지식을 사용하여 뷰포트 상단의 명령 프롬프트가 터미널 상단에 고정됩니다. 이는 편집기의 고정 스크롤 작동 방식과 유사합니다.

Running 'ls' command in the terminal will show the 'ls' prompt at the top of the terminal

고정 스크롤 요소를 클릭하면 터미널 버퍼의 해당 부분으로 스크롤됩니다.

현재 이 기능은 기본적으로 비활성화되어 있지만 "terminal.integrated.stickyScroll.enabled": true로 설정하여 활성화할 수 있습니다. 향후 이 기능을 기본적으로 활성화할 예정이며, 그때는 마우스 오른쪽 버튼을 클릭하고 토글하여 비활성화할 수 있습니다.

명령어 하이라이팅

터미널에서 명령 위에 마우스를 올리면 왼쪽에 하이라이트 막대가 표시됩니다. 이는 한 명령이 시작되고 다른 명령이 끝나는 지점을 알기 어려운 일반 터미널 프롬프트에 유용합니다.

Hovering a command will show a line to the left that highlights the command and its output

셸 통합 및 명령어 탐색 개선

고정 스크롤 도입으로 셸 통합에 많은 개선이 이루어졌습니다. 특히 Windows에서 실행되는 터미널의 경우 셸 통합에서 받은 마커가 완전히 신뢰할 수 있지 않았습니다. 이제 터미널 콘텐츠를 지능적으로 스캔하고 터미널 명령을 사용 가능하게 만들기 전에 마커를 조정하는 로직이 있습니다.

셸 통합은 이제 프롬프트의 개별 부분을 감지할 수 있습니다. 즉, 프롬프트와 해당 입력입니다. 이는 고정 스크롤을 사용할 때 명령의 어떤 부분이 표시될지를 결정합니다. 또한 출력과 터미널 가독성을 분리하기 위해 자주 사용되는 프롬프트 상단의 빈 줄을 잘라냅니다.

기존 명령어 탐색 기능도 고정 스크롤에서 사용되는 덜 신뢰할 수 있는 프롬프트 줄 대신 고정 스크롤에 사용되는 더 신뢰할 수 있는 프롬프트로 이동할 수 있다는 이점이 있습니다.

이전

Before only a single line would be highlighted

이후

When navigating commands, the entire prompt is now highlighted

밑줄 렌더링 개선

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

Dotted and dashed underlines are now pixel perfect

The underline improvements also work when zoomed in

Git pull 빠른 수정

Git 브랜치 체크아웃이 fast-forward 될 수 있는 경우, 새로운 터미널 빠른 수정 기능이 git pull을 실행하는 옵션을 제공합니다.

작업

npm.packageManager 설정을 bun으로 설정하여 package.json에 정의된 Bun 스크립트의 감지 및 실행을 활성화할 수 있습니다.

디버그

JavaScript 디버거

힙 스냅샷 시각화

.heapsnapshot으로 저장된 V8 힙 스냅샷을 VS Code에서 시각화할 수 있습니다. 전통적인 표 보기와 주어진 메모리 객체의 리테이너에 대한 그래픽 표현이 모두 제공됩니다.

Graphical view of a heap snapshot showing references to a specific memory object

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

힙 스냅샷은 JavaScript 코드를 디버깅하는 동안 성능 프로필 찍기 명령을 사용하여 캡처할 수 있습니다. 또한 브라우저 개발자 도구의 메모리 탭을 통해 캡처할 수도 있습니다.

이벤트 리스너 중단점 보기 개선

Microsoft Edge 또는 Google Chrome 브라우저를 디버깅하는 동안 표시되는 이벤트 리스너 중단점 보기가 개선되었습니다. 이제 체크박스 목록이며 URL을 기반으로 XHR/fetch 요청에서 일시 중지를 지원합니다.

Event Listener Breakpoints view with "XHR/fetch URL" checked and "Add new URL" option highlighted

Rust를 사용한 WebAssembly 디버깅

VS Code와 wasm-bindgen 모두 Rust가 WebAssembly로 컴파일된 것을 VS Code에서 디버깅할 수 있도록 하는 변경 사항을 만들었습니다. 자세한 내용은 WebAssembly 디버깅에 대한 문서를 참조하세요.

테스트

찾기 컨트롤이 이제 테스트 결과 보기 터미널에서 지원됩니다.

언어

TypeScript 5.3

이번 릴리스에는 TypeScript 5.3이 포함됩니다. 이 주요 업데이트는 import 속성, 더 나은 타입 좁히기 등을 지원합니다. 또한 새로운 언어 도구 기능과 버그 수정도 포함됩니다.

TypeScript 블로그에서 TypeScript 5.3에 대해 자세히 알아볼 수 있습니다.

작업 영역에서 심볼로 이동은 이제 기본적으로 node_modules에서 심볼을 제외합니다. 이렇게 하면 설치된 패키지의 심볼에 압도되지 않고 코드의 심볼을 더 쉽게 찾을 수 있습니다.

"typescript.workspaceSymbols.excludeLibrarySymbols": false를 설정하여 프로젝트의 모든 심볼을 포함하는 이전 동작으로 되돌릴 수 있습니다.

인레이 힌트에 대한 정의로 이동

JavaScript 및 TypeScript 인레이 힌트의 타입이 이제 상호 작용 가능합니다. Windows 및 Linux에서는 Ctrl, macOS에서는 Cmd를 누른 상태로 타입 위로 마우스를 올리고 클릭하면 타입의 정의로 빠르게 이동할 수 있습니다.

Inlay hint hover showing Go to Definition by using Ctrl/Cmd + click

자동 가져오기에 'type' 사용 선호

타입 전용 가져오기를 사용하면 런타임에 가져오기가 완전히 제거되도록 하면서 타입을 가져올 수 있습니다. type 가져오기를 항상 기본으로 사용하려면 이제 "typescript.preferences.preferTypeOnlyAutoImports": true를 설정하면 자동 가져오기가 타입 전용 가져오기를 사용합니다. 이 설정은 기본적으로 꺼져 있습니다.

원격 개발

원격 개발 확장 프로그램을 사용하면 개발 컨테이너, SSH 또는 원격 터널을 통해 원격 머신 또는 Windows Subsystem for Linux(WSL)를 완전한 기능을 갖춘 개발 환경으로 사용할 수 있습니다.

주요 내용은 다음과 같습니다.

  • Dev Containers에 GitHub CopilotPull Requests and Issues 확장 프로그램을 자동으로 설치합니다.
  • Dev Containers에 설치되는 확장 프로그램을 더 세밀하게 제어할 수 있습니다.
  • 로컬 Dev Containers 및 WSL 세션에서 로컬 머신 인증서를 재사용합니다.

이 기능들에 대한 자세한 내용은 원격 개발 릴리스 노트에서 확인할 수 있습니다.

확장 프로그램 기여

GitHub Copilot

인라인 채팅 UI 개선

인라인 채팅 프롬프트 기록이 이제 VS Code 세션 간에 유지됩니다. 이전 및 다음 프롬프트를 표시하는 바로 가기 키도 VS Code의 다른 이전/다음 항목 바로 가기와 일치하도록 위쪽아래쪽으로 변경되었습니다.

/test 슬래시 명령과 같이 인라인 채팅이 새 파일 생성을 제안할 때, 만들기 드롭다운에서 이름으로 만들기를 선택하여 파일 이름과 위치를 선택할 수 있습니다.

Create and Create As actions for newly suggested files from inline chat

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

Inline chat lightweight mode with diff on demand

수정 사항에 대한 인라인 채팅이 요약 및 후속 작업 표시

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

Inline chat with summary

인라인 채팅에서 점진적인 메시지 렌더링

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

Inline chat progressive rendering

터미널 커밋 메시지 생성 빠른 수정

지난 릴리스에는 소스 제어 보기 입력 상자에 Copilot 커밋 메시지 생성 "스파클"이 추가되었습니다. 터미널 사용자의 경우, git add... 명령을 실행한 후 터미널에서 편집 가능한 커밋 메시지를 생성하는 빠른 수정 기능이 추가되었습니다.

터미널 에이전트 및 명령어 제안 개선

터미널 관련 모든 기능이 @terminal 에이전트로 이동되었습니다. 이는 터미널 에이전트가 작업 영역 정보를 가져오지 않을 수 있다는 점을 명확히 하고, 기능을 통합하며, 사용 편의성을 높이기 위한 것입니다.

다음은 이전 프롬프트에서 새 프롬프트로의 매핑입니다.

이전 새로운
@workspace /terminal 파일 목록은 어떻게 보나요? @terminal 파일 목록은 어떻게 보나요?
@workspace /explain #terminalSelection @terminal #terminalSelection
@workspace /explain #terminalLastCommand @terminal #terminalLastCommand

또한, 이번 릴리스에서는 명령어 제안이 크게 개선되었습니다. 터미널 명령어 제안은 이제 운영 체제와 사용되는 셸을 인식합니다. 작업 영역 정보도 Copilot이 질문이 작업 영역과 관련이 있다고 판단하는지에 따라 조건부로 가져옵니다. 작업 영역 컨텍스트 수집은 속도와 실제로 참조되는 내용 모두에서 더 개선될 것입니다.

Progress is displayed while fetching workspace details

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

The terminal agent is capable of answering questions that need knowledge about file naming standards in the repository

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

The blue sparkle link just before the input box explains the suggestion

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

The detailed explanation typically explains the command and each argument

개인 정보 보호 리포지토리에서 GitHub 원격 검색 기능을 사용할 때 인증 업그레이드 대화 상자

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

Authentication dialog when searching the workspace

이 대화 상자는 한 번만 표시되며, @workspace 에이전트에 대한 향후 쿼리는 캐시된 토큰을 사용합니다.

@workspace에 더 쉽게 요청 보내기

@workspace 에이전트는 많은 Copilot 쿼리에서 사용되므로 가능한 한 쉽게 활성화할 수 있도록 하고 싶었습니다. 이제 채팅 입력란에 질문을 입력한 후 을 눌러 질문을 보내고 @workspace을 자동으로 앞에 붙일 수 있습니다.

Copilot으로 Rust 코드 설명

Copilot Chat은 Rust 언어 서비스 확장 프로그램(예: rust-analyzer)을 설치한 경우, Rust 코드를 설명하도록 요청할 때 코드베이스에서 여러 파일의 컨텍스트를 수집합니다. Copilot 설명을 보려면 활성 편집기에서 코드를 선택한 다음 컨텍스트 메뉴에서 Copilot > 이것 설명을 사용하거나 인라인 채팅 또는 채팅 보기에서 /explain을 사용하십시오.

Copilot > Explain This action in the editor context menu

코드 블록에서 잠재적 취약점 탐지

Copilot에서 생성된 소스 코드의 가능한 문제점을 인지하도록 하기 위해, 이제 채팅 보기 코드 블록의 코드를 취약점 탐지 모델을 통해 실행하고 감지된 문제를 플래그 지정합니다. 이 기능은 즉시 보이지 않을 수 있지만, Copilot Chat 사용자에게 점진적으로 롤아웃하고 감지되는 취약점 유형을 조정할 것입니다.

취약점이 포함된 것으로 확인된 코드 블록은 코드 블록 하단에 주석으로 표시됩니다. 취약점 탐지 모델은 파일럿으로 진행 중인 모델이므로, Copilot의 제안 및 가능한 취약점을 검토할 때 최선의 판단을 내리십시오.

Copilot code vulnerability warning displayed in the Chat view

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 Debugger: Debug using launch.json option under the Run button menu

환경 변수를 사용하여 활성화된 경우 비활성화 명령 지원

이제 Python 확장은 기본 터미널에서 선택한 환경을 명시적인 활성화 명령을 실행하지 않고 활성화하는 새로운 활성화 메커니즘을 가지고 있습니다. 현재 실험 플래그 뒤에 있으며 다음 사용자 설정을 통해 활성화할 수 있습니다: "python.experiments.optInto": ["pythonTerminalEnvVarActivation"].

하지만 이 활성화 메커니즘의 초기 단점 중 하나는 deactivate 명령을 지원하지 않는다는 것이었습니다. 일부 사용자의 워크플로우에서 중요한 부분이라는 피드백을 받았으므로, 선택한 기본 터미널이 PowerShell 또는 명령 프롬프트인 경우 deactivate 지원을 추가했습니다. 향후 추가 터미널에 대한 지원을 추가할 계획입니다.

REPL 스마트 보내기 경고 메시지 및 설정

Python 파일에 유효하지 않거나 사용되지 않는 코드가 포함된 상태에서 Shift+Enter를 사용하여 스마트 보내기를 사용하려고 할 때, 이제 경고 메시지와 REPL 스마트 보내기 비활성화 옵션이 있습니다. 사용자는 Python.REPL: REPLSmart Send 활성화 (python.REPL.enableREPLSmartSend) 설정을 통해 REPL 스마트 보내기에 대한 사용자 및 작업 영역별 동작을 변경할 수 있습니다.

Settings editor entry for Python REPL Smart Send

테스트 아키텍처 재작성

Python 테스트 어댑터 재작성 실험이 100% 사용자에게 롤아웃되었습니다. 현재 "python.experiments.optOutFrom" : "pythonTestAdapter"settings.json에 추가하여 옵트아웃할 수 있지만, 곧 이 실험 플래그를 제거하고 이 새로운 아키텍처를 채택할 것입니다.

GitHub Pull Requests 및 Issues

풀 리퀘스트 및 이슈 관리 기능을 제공하는 GitHub Pull Requests and Issues 확장 프로그램에 더 많은 진전이 있었습니다.

  • PR 설명 및 만들기 보기에서 이제 병합 큐가 지원됩니다.
  • 새 설정 "githubPullRequests.allowFetch": falsefetch 실행을 방지합니다.
  • 하위 모듈 지원이 개선되었습니다.

확장 프로그램 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를 입력하면 ㅇ듀ㅕㅎ이 되는데, 이는 의미가 없습니다.

Searching for a "ㅇ듀ㅕㅎ" command will now present results for "debug"

현재 이 기능은 단어 중간에서 필터링할 때는 작동하지 않습니다.

문제 장식 숨기기

편집기와 워크벤치 전체에서 문제 장식(문제 보기 제외)을 숨기는 새로운 설정이 있습니다. 문제: 가시성 (problems.visibility) 설정은 기본적으로 모든 문제를 표시하도록 활성화되어 있습니다.

문제: 가시성이 꺼져 있으면 일부 문제 UI 설정이 비활성화됩니다.

  • 개요 > 문제: 배지 (outline.problems.badges)
  • 개요 > 문제: 색상 (outline.problems.colors)
  • 개요 > 문제: 사용 (outline.problems.enabled)
  • 문제 > 장식: 사용 (problems.decorations.enabled)

문제: 가시성이 꺼져 있으면 상태 표시줄에 경고가 표시됩니다.

Problems: Visibility off Status Bar item and hover

제안된 API

모든 마일스톤에는 새로운 제안 API가 제공되며 확장 저자는 이를 시험해 볼 수 있습니다. 항상 그렇듯이 피드백을 원합니다. 제안 API를 시험해 보는 단계는 다음과 같습니다.

  1. 시험하고 싶은 제안을 찾아 package.json#enabledApiProposals에 해당 이름을 추가하세요.
  2. 최신 @vscode/dts를 사용하고 npx @vscode/dts dev를 실행하세요. 그러면 해당 d.ts 파일이 작업 영역으로 다운로드됩니다.
  3. 이제 제안에 대한 프로그래밍을 할 수 있습니다.

제안 API를 사용하는 확장은 게시할 수 없습니다. 다음 릴리스에서 호환성이 깨지는 변경 사항이 있을 수 있으며, 기존 확장을 깨뜨리는 일은 절대 없을 것입니다.

테스트 커버리지

이번 반복에서 테스트 커버리지 작업을 다시 시작했으며, 초기 UI 통합과 오래된 제안에 대한 몇 가지 사소한 업데이트가 이루어졌습니다. API는 여기에 포함하기에는 너무 길지만, 비교적 간단하다고 생각하며 이슈 #123713에서 제안에 대한 의견을 환영합니다.

채팅 에이전트

최근 블로그 게시물 VS Code에서 "놀랍도록 똑똑함"을 추구하며에서 언급했듯이, 확장 프로그램이 Copilot Chat 보기에 채팅 에이전트를 기여할 수 있는 모델을 개발하고 있습니다. 채팅 에이전트 API는 제안 단계이지만, 지금 바로 사용자 지정 채팅 에이전트를 추가하여 실험할 수 있습니다. 업데이트는 이슈 #199908을 구독하여 받아보세요.

다중 문서 강조 표시 API

이전 릴리스에서 소개된 바와 같이, 이제 VS Code 내에서 다중 문서 강조 표시 지원이 가능합니다. 이번 반복에서는 다중 문서 강조 표시 제공자를 등록하기 위한 제안된 MultiDocumentHighlightProvider API를 추가했습니다. 이를 통해 특정 프로그래밍 언어에 대한 의미론적 발생 강조 표시 기능을 제공할 수 있습니다. 제공자는 URIDocumentHighlight에 매핑하는 새로운 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 기여

vscode-css-languageservice에 대한 기여

vscode-pull-request-github 기여

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