2023년 10월 (버전 1.84)
업데이트 1.84.1: 이 업데이트는 다음 이슈를 해결합니다.
업데이트 1.84.2: 이 업데이트는 다음 이슈를 해결합니다.
다운로드: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap
Visual Studio Code의 2023년 10월 릴리스에 오신 것을 환영합니다. 이번 버전에는 여러분이 좋아할 만한 많은 업데이트가 있으며, 주요 내용 중 일부는 다음과 같습니다.
- 더 많은 오디오 큐 - 지우기, 저장, 서식 지정 작업을 나타내는 새로운 오디오 큐.
- 활동 표시줄 위치 - 압축된 표시를 위해 활동 표시줄을 위로 이동.
- 편집기 탭 숨기기 - 여러 개, 하나 또는 탭 없는 편집기 탭 표시.
- 편집기 그룹 최대화 - 활성 편집기 그룹을 빠르게 확장.
- Python 개선 사항 - 터미널에서 코드 실행 향상, 가상 환경 생성 용이.
- FastAPI 튜토리얼 - VS Code로 Python FastAPI 앱 개발에 대해 알아보기.
- Java용 Gradle - Java Gradle 프로젝트에 대한 지원 향상.
- 미리 보기: GitHub Copilot - 채팅 "에이전트", 커밋 메시지 생성, 터미널 지원.
이 릴리스 노트를 온라인으로 읽으려면 code.visualstudio.com의 업데이트로 이동하십시오.
Insider: 새로운 기능을 최대한 빨리 사용해 보고 싶으신가요? 야간 빌드인 Insider 빌드를 다운로드하고 사용 가능한 최신 업데이트를 즉시 사용해 보세요.
접근성
지우기, 서식 지정, 저장 시 오디오 큐 선택 사용
audioCues.clear가 활성화되면 터미널, 알림 또는 채팅 응답이 지워졌음을 알리는 소리가 납니다.
파일 및 노트북에서 audioCues.save 및 audioCues.format은 사용자 제스처 또는 각 이벤트에 대해 항상 재생되도록 설정할 수 있습니다. 비활성화된 경우 대신 ARIA 경고가 사용되며 accessibility.alert.format 및 accessibility.alert.save로 사용자 지정할 수 있습니다.
Windows 돋보기 동기화
Windows 돋보기가 이제 VS Code에서 커서를 제대로 따라갑니다.
액세스 가능한 보기 개선 사항
기본적으로 사용자의 커서는 터미널 액세스 가능한 보기의 하단에 위치합니다. 대신 위치를 유지하려면 terminal.integrated.accessibleViewPreserveCursorPosition을 true로 설정할 수 있습니다.
액세스 가능한 보기는 accessibility.hideAccessibleView로 숨길 수 있으며, 화면을 시각 장애가 없는 사용자에게 공유하는 경우 유용합니다.
액세스 가능한 보기는 사용자가 타이핑을 시작하고 이전 요소를 포커스하면 닫혀 더 원활한 작업 흐름을 제공합니다.
창 제목 포커스 보기의 텍스트 편집기
지난 반복에서 window.title에 ${focusedView} 변수를 추가했습니다. 이제 Text Editor가 포커스된 경우도 표시합니다.
워크벤치
활동 표시줄 위치 사용자 지정
이제 다음 비디오와 같이 활동 표시줄을 사이드 바의 위쪽으로 이동할 수 있습니다.

활동 표시줄이 상단에 배치되면 계정 및 관리 버튼이 창 제목 표시줄의 가장 오른쪽으로 이동합니다.
참고: 사용자 지정 창 제목 표시줄이 활성화된 경우("window.titleBarStyle": "custom")에만 지원됩니다.
편집기 탭 숨기기
사용자는 이제 workbench.editor.showTabs를 none으로 설정하여 편집기 탭을 숨길 수 있습니다. 다른 showTabs 옵션은 multiple(기본값) 및 활성 편집기의 단일 편집기 탭을 표시하는 single입니다.

편집기 그룹 최대화
편집기 그룹을 최대화하는 새로운 명령 보기: 편집기 그룹 최대화 전환 (⌘K ⌘M (Windows, Linux Ctrl+K Ctrl+M))이 있습니다. 이렇게 하면 다른 모든 그룹이 숨겨지고 탭 표시줄에 버튼이 추가되어 사용자가 이전 레이아웃을 복원할 수 있습니다. workbench.editor.doubleClickTabToToggleEditorGroupSizes 설정이 maximize로 설정된 경우 사용자는 편집기 탭을 두 번 클릭하여 편집기 그룹을 최대화 및 최대화 해제할 수 있습니다.

설정 편집기에서 유사한 설정 검색
명령 팔레트와 마찬가지로 설정 편집기에서도 유사한 설정 검색을 실행하여 지정된 쿼리에 대한 더 관련성 있는 결과를 수집합니다.
이 구현은 현재 초기 단계이며 다음 몇 번의 반복에서 개선될 것으로 예상됩니다.

프로토콜 링크 열기 확인
파일 또는 작업 영역에 대한 프로토콜 링크가 VS Code에서 열리면 이제 확인을 요청하는 대화 상자가 표시됩니다.

프로토콜 링크는 로컬 파일(예: vscode://file/path/to/file) 또는 원격 파일(예: vscode://vscode-remote/ssh-remote+[USER@]HOST[:PORT]/path/to/file)을 가리킬 수 있습니다. 각 경우에 이 동작을 비활성화하는 새로운 설정이 있습니다.
security.promptForLocalFileProtocolHandling- 로컬 프로토콜 링크용security.promptForRemoteFileProtocolHandling- 원격 프로토콜 링크용
편집기
가장 가까운 빠른 수정 키보드 단축키
해당 줄의 커서 위치에 상관없이 가장 가까운 빠른 수정을 활성화하는 새로운 설정이 있습니다. ⌘. (Windows, Linux Ctrl+.) (명령 ID editor.action.quickFix)입니다. 이전에는 미리 보기 기능이었던 코드 작업 위젯: 가까운 빠른 수정 포함(editor.codeActionWidget.includeNearbyQuickFixes)이 이제 기본적으로 활성화됩니다.
이 명령은 리팩토링되거나 빠른 수정을 통해 수정될 소스 코드를 강조 표시합니다. 일반 코드 작업 및 수정이 아닌 리팩토링은 여전히 커서 위치에서 활성화할 수 있습니다.

여러 문서 강조 표시
여러 문서에 걸친 코드 강조 표시에 대한 초기 지원은 편집기: 여러 문서 발생(editor.multiDocumentOccurrencesHighlight) 설정을 통해 추가되었습니다. 이 초기 구현은 텍스트 발생만 포함하며 향후 의미론적 강조 표시 지원이 제공될 예정입니다.
소스 제어
--force-if-includes를 사용한 강제 푸시
이번 마일스톤에는 Git 2.30에 추가된 --force-with-lease의 보조 옵션인 --force-if-includes 옵션에 대한 지원이 추가되었습니다. 새 옵션은 강제 푸시되는 커밋이 원격 참조의 팁에 있는 커밋을 검사한 후에 생성되었는지 확인하고, 자동 페치가 활성화된 경우 커밋 손실 가능성을 줄여줍니다. git.useForcePushIfIncludes 설정을 비활성화하여 --force-if-includes 사용을 비활성화할 수 있습니다.
노트북
실행 시 스크롤 개선 사항
Shift+Enter를 통해 실행할 때 다음 셀이 표시되는 방식이 개선되어 출력에 집중하는 데 도움이 됩니다. 또한 이미 출력이 있는 셀을 다시 실행할 때 셀 이동량이 줄어듭니다.
IPython 스택 추적 렌더링
IPython의 예외 스택 추적에 오류로 이동할 수 있는 클릭 가능한 링크가 렌더링됩니다. 이는 Jupyter 확장 프로그램이 먼저 스택 추적을 변경하지 않는 경우에만 적용됩니다: "jupyter.formatStackTraces": false.
디버그
JavaScript 디버거
이벤트 수신기 중단점 보기 개선
이벤트 수신기 중단점 보기가 더 친근해졌으며 이제 체크박스가 있는 트리로 표시됩니다.

소스 맵 이름 변경 처리 개선
코드가 번들러로 컴파일될 때 변수 이름을 바꿀 수 있습니다. 이는 모든 번들러의 가져오기 및 esbuild의 특정 로컬 식별자에서 특히 일반적입니다. 디버거는 이제 각 이름 변경이 적용되는 범위에 대해 인지하고 있어 사용자들이 역사적으로 겪었던 많은 문제를 해결합니다.
이를 위해서는 컴파일된 모듈의 구문 트리를 파싱해야 합니다. 이는 백그라운드 스레드에서 이름 변경이 감지될 때만 수행되지만, 성능 영향을 피하려면 launch.json에서 "sourceMapRenames": false로 설정을 비활성화할 수 있습니다.
원격 개발
원격 개발 확장 프로그램을 사용하면 개발 컨테이너, SSH 또는 원격 터널을 통해 원격 머신 또는 Windows Subsystem for Linux(WSL)를 완전한 기능을 갖춘 개발 환경으로 사용할 수 있습니다.
주요 내용은 다음과 같습니다.
- 이제 Microsoft 계정으로 터널에 로그인할 수 있습니다.
- Windows에서 SSH 및 터널을 통한 개발 컨테이너 연결 지원.
이 기능에 대한 자세한 내용은 원격 개발 릴리스 노트에서 확인할 수 있습니다.
확장 프로그램 기여
GitHub Copilot
인라인 채팅 스트리밍
GitHub Copilot Chat 확장 프로그램의 인라인 채팅은 이제 점진적인 텍스트 편집을 수행하고 응답을 받는 속도로 "타이핑"할 수 있습니다. 이는 전체 채팅 응답을 받은 후에 편집기에 적용하는 이전 동작보다 더 자연스러운 경험입니다.
모든 편집이 삽입은 아니며, 복사의 경우 Copilot가 시작점을 파악하는 데 어려움을 겪을 때가 있습니다. 이 경우 스트리밍이 아직 예상대로 작동하지 않을 수 있습니다. 이 영역의 개선 사항을 계속 지켜봐 주십시오.
채팅 에이전트
이번 반복에서는 Copilot Chat와 상호 작용하는 새로운 방법인 **에이전트**를 구축했습니다. 에이전트는 전문 분야가 있어 도움을 줄 수 있는 전문가와 같으며, @ 기호를 사용하여 채팅에서 언급하여 대화할 수 있습니다. 현재 두 가지 에이전트가 있습니다.
@workspace는 작업 영역의 코드에 대한 컨텍스트를 가지고 있어 코드를 탐색하고 관련 파일을 찾거나 클래스를 찾는 데 도움을 줄 수 있습니다.@vscode는 VS Code 편집기 자체의 명령 및 기능에 대해 알고 있으며 이를 사용하는 데 도움을 줄 수 있습니다.
각 에이전트는 몇 가지 슬래시 명령도 지원하며, 이전에 사용했던 슬래시 명령은 이제 에이전트와 함께 사용해야 합니다. 예를 들어 /explain은 이제 @workspace /explain입니다. 하지만 바로 가기로 /를 입력하여 전체 에이전트 및 명령으로 확장되는 완료 목록을 볼 수도 있습니다.
@workspace
@workspace 에이전트는 메타 프롬프트를 사용하여 질문에 답하는 데 필요한 정보가 무엇인지 결정합니다. 메타 프롬프트가 사용하는 한 가지 접근 방식은 대화 기록을 살펴봐서 모호한 단어/구문을 질문에서 해결하는 것입니다. 예를 들어, @workspace 그것은 무엇을 하나요?라고 물으면 메타 프롬프트는 이제 기록을 고려하여 그것이 실제로 무엇인지, 그리고 질문에 답하기 위해 어떤 정보를 수집해야 하는지 파악합니다. 메타 프롬프트는 또한 더 많은 동의어를 포함한 광범위한 용어를 사용하여 잠재적으로 관련성 있는 용어 목록을 생성합니다.
@workspace 응답의 파일 경로 및 기호는 클릭 가능한 링크입니다. 이를 통해 Copilot가 참조하는 코드로 쉽게 이동할 수 있습니다.
@workspace 에이전트는 .gitignore 및 .copilotignore를 존중하여 작업 영역에서 인덱싱할 파일을 결정합니다.
에이전트가 슬래시 명령을 대체
새로운 에이전트는 추가 슬래시 수정자와 함께 /createWorkspace 및 /createNotebook과 같은 슬래시 명령의 기능을 대체합니다.
/createWorkspace-->@workspace /new/createNotebook-->@workspace /newNotebook/explain-->@workspace /explain/fix-->@workspace /fix/test-->@workspace /test/vscode-->@vscode /api

새로운 에이전트를 사용해보고 /help를 입력하여 더 많은 팁을 얻으십시오!
커밋 메시지 생성
Copilot Chat는 이제 소스 제어 입력 상자의 새로운 "반짝임" 액션을 사용하여 보류 중인 변경 사항을 기반으로 커밋 메시지를 생성할 수 있습니다.
가져오기 그룹화
생성된 가져오기는 이제 항상 파일 상단이나 기존 가져오기 블록 아래에 배치됩니다. 이는 대부분의 일반적인 프로그래밍 언어에서 지원됩니다.
/explain 컨텍스트 개선
@workspace /explain 명령 또는 컨텍스트 메뉴의 Copilot로 설명 액션을 통해 활성 편집기의 코드 선택을 Copilot Chat에게 설명하도록 요청할 수 있습니다. Copilot Chat는 이제 함수 및 클래스와 같은 참조된 기호의 구현을 포함하여 더 정확하고 유용한 설명을 제공합니다. TypeScript/JavaScript, Python, Java, C#, C++, Go 또는 Ruby에 대한 언어 서비스를 제공하는 확장 프로그램이 설치된 경우 파일 간에 가장 잘 작동합니다.
지속적인 채팅 보기 상태
이전에는 Copilot Chat 보기가 처음에 숨겨졌다가 나중에 표시되었습니다. Copilot Chat 보기는 이제 창 새로 고침 간에도 활성 상태를 유지하므로 수동으로 다시 열 필요가 없습니다. 또한 채팅 보기는 이제 GitHub에 로그인하고 GitHub Copilot 무료 평가판을 활성화하는 과정을 안내합니다.
설정된 표시 언어로 채팅
기본적으로 Copilot Chat는 이제 VS Code에서 설정된 표시 언어를 사용하여 응답합니다. github.copilot.chat.localeOverride를 구성하여 이 자동 동작을 재정의할 수 있습니다.
환영 메시지 장황함 줄이기
이제 github.copilot.chat.welcomeMessage를 구성하여 대화를 처음 시작할 때 Copilot Chat가 장황한 환영 메시지를 표시할지 여부를 제어할 수 있습니다. 옵션은 first(기본값), always, never입니다.
터미널 빠른 수정
터미널에서 실패한 명령이 실행되면 Copilot가 이제 무엇이 일어났는지 설명하는 빠른 수정을 제공합니다.

이는 현재 터미널 프롬프트 옆의 반짝임 아이콘(⌘. (Windows, Linux Ctrl+.))을 통해 트리거할 수 있습니다.
터미널 명령 제안
Copilot는 이제 터미널이 포커스된 경우 ⌘I (Windows, Linux Ctrl+I) 키 바인딩을 통해 CLI 명령 제안을 제공할 수 있습니다. 이렇게 하면 @workspace /terminal이 미리 채워진 빠른 채팅이 표시됩니다.

이 /terminal 슬래시 명령은 현재 셸을 사용하여 셸 명령을 제안하도록 최적화되어 있습니다. 다음 릴리스에서는 제안의 품질과 UX가 더 개선될 것입니다.
터미널에서 실행 액션 노출 개선
코드 블록에 셸 언어 유형이 있는 경우, 코드 블록에 마우스를 올리면 **터미널에서 실행** 액션이 이제 노출됩니다.

인라인 채팅이 터미널 명령으로 응답할 수 있음
인라인 채팅은 이제 터미널에서 실행할 명령으로 응답할 수 있습니다.

Python
터미널에서 줄 실행 개선
Python 확장은 코드가 선택되지 않은 상태에서 Python REPL로 줄을 보내는 동작(Shift+Enter)을 개선했습니다. 이전에는 Python 코드 줄에 커서를 놓고 Shift+Enter를 누르면 Python 확장이 줄의 정확한 내용을 REPL로 보냈으며, 예를 들어 여러 줄 명령의 일부이어서 실패하는 경우에도 마찬가지였습니다.
새로운 실험적 **스마트 보내기** 기능을 사용하면 Python 확장이 실행을 위해 REPL로 커서 위치를 둘러싼 가장 작은 실행 가능한 코드 블록을 보냅니다. 이렇게 하면 실행 가능한 전체 코드 부분만 REPL로 전송됩니다. 또한 실행 중인 여러 청크를 반복적으로 실행할 때 원활한 경험을 제공하기 위해 커서가 다음 실행 가능한 줄로 자동 이동됩니다.
이를 시도하려면 다음 사용자 설정을 추가할 수 있습니다: "python.experiments.optInto": ["pythonREPLSmartSend"]. 이 기능은 현재 실험 상태이지만 향후 기본 동작이 될 것으로 예상됩니다. 이 기능을 어떻게 개선할 수 있는지에 대한 피드백이나 제안이 있다면 알려주십시오!
테마: Catppuccin Macchiato (vscode.dev에서 미리 보기: vscode.dev)
Python 린팅 확장 프로그램 개선
가장 좋아하는 Python 도구를 더욱 구성 가능하고 유연하게 사용할 수 있도록 지원되는 린팅 확장 프로그램에 몇 가지 개선 사항을 적용했습니다.
Pylint, Mypy 및 Flake8 확장 프로그램은 이제 린팅에서 제외하려는 파일에 대한 glob 패턴을 지정할 수 있는 설정을 제공합니다. 이는 여러 하위 프로젝트가 있는 대규모 코드베이스로 작업 중이고 특정 폴더를 린팅에서 제외하려는 경우 유용할 수 있습니다. 이러한 설정은 "pylint.ignorePatterns", "mypy-type-checker.ignorePatterns" 및 "flake8.ignorePatterns"입니다.
이러한 확장 프로그램은 cwd 설정도 지원하므로 린터의 작업 디렉터리를 지정할 수 있습니다. 이 설정은 ${fileDirname} 변수를 지원하도록 업데이트되어 작업 디렉터리를 편집기에서 열린 파일의 부모 폴더로 동적으로 설정할 수 있습니다. 이는 모노 레포로 작업 중이고 린터 작업 디렉터리가 다른 하위 프로젝트의 파일을 열 때 동적으로 업데이트되도록 하려는 경우 유용합니다. 이러한 설정은 "pylint.cwd", "mypy-type-checker.cwd" 및 "flake8.cwd"입니다.
"mypy-type-checker.preferDaemon" 설정의 기본값이 변경되었습니다(Mypy 확장 프로그램에만 해당). 이전에는 true로 설정되어 기본적으로 Mypy 데몬이 사용되었습니다. 피드백을 받은 후 기본값을 false로 변경했습니다. 어떤 값이 자신에게 가장 적합할지 궁금하다면, 성능상의 이유로 Mypy 보고 범위가 전체 작업 영역("mypy-type-checker.reportingScope": "workspace")으로 설정된 경우 Mypy 데몬을 사용하는 것이 좋습니다. 그렇지 않고 보고 범위가 현재 파일로 설정된 경우 확장 프로그램과 함께 제공된 Mypy 실행 파일을 사용하는 것이 좋습니다.
내장 린팅 및 서식 기능 사용 중단
VS Code의 린팅 및 서식 확장 프로그램에 대한 많은 작업과 개선 사항으로 인해 Python 확장 프로그램에 포함된 내장 린팅 및 서식 기능이 사용 중단되었습니다. 여기에는 모든 린팅 및 서식 명령과 설정(python.linting.* 및 python.formatting.*)이 포함됩니다. 아직 사용 중인 경우 이러한 사용 중단된 설정을 제거하고 대신 지원되는 린팅 및 서식 확장 프로그램을 사용하는 것이 좋습니다.
지원되는 확장 프로그램 없이 린터를 사용하는 경우 커뮤니티에서 제공하는 Ruff 확장 프로그램을 확인하십시오. Ruff는 Rust로 작성된 Python 린터이며 pyflakes, pycodestyle, pydocstyle 등 다양한 린터를 지원합니다. 최근 VS Code에서 Ruff를 서식 지정기로 사용하는 지원이 추가되었습니다("[python]": { "editor.defaultFormatter": "charliermarsh.ruff" }).
직접 즐겨 사용하는 Python 도구에 대한 VS Code 확장 프로그램 린터 또는 서식 지정기를 만들 수도 있습니다. 빠른 시작을 위해 Python 도구 확장 프로그램 템플릿을 확인하십시오.
환경 생성 알림
가상 환경은 설치가 필요한 종속성이 있는 Python 프로젝트와 함께 작업하는 데 권장되는 방법입니다. 격리와 재현성을 제공하며 Python 프로젝트에서 매우 인기가 있습니다.
이러한 이유로 Python 확장은 작업 영역에 선택된 가상 환경이 없을 때 나열된 종속성이 있는 Python 파일 또는 프로젝트를 실행하거나 디버그하려고 할 때 알림을 표시합니다. 이 알림은 **Python: 환경 만들기** 명령을 통해 새 가상 환경을 만드는 빠른 방법을 제공합니다.
작업 영역에 이미 가상 환경이 있는 경우, 선택하거나 삭제하고 다시 만들 수 있습니다.
이 알림은 python.python.createEnvironment.trigger를 off로 설정하여 비활성화할 수 있습니다.

가상 환경 비활성화 도우미
몇 달 전, 개발 워크플로를 향상시키기 위해 명시적인 활성화 명령 없이 자동으로 터미널에서 선택한 환경을 활성화하여 환경 변수를 사용한 터미널 활성화에 대한 새로운 실험적 기능을 발표했습니다. 하지만 명시적인 활성화 스크립트가 작동하지 않기 때문에 이 실험이 활성화되었을 때 deactivate 명령이 더 이상 작동하지 않았습니다.
Python 확장은 이제 deactivate 명령을 실행하려고 할 때 이를 감지하고 환경 변수를 통해 환경이 활성화될 때 명령이 다시 작동하도록 셸에 대한 스크립트를 추가하는 방법을 안내하는 도우미 알림을 표시합니다. 또한 셸 프로필 파일을 열어 필요한 스크립트를 추가할 수 있는 버튼을 제공합니다.

셸에 필요한 스크립트를 추가하는 방법에 대한 전체 문서는 vscode-python 위키에서 찾을 수 있습니다.
실험에 참여하지 않고 이 기능을 사용해 보려면 다음 사용자 설정을 추가할 수 있습니다: "python.experiments.optInto": ["pythonTerminalEnvVarActivation"].
테스트 출력 개선
몇 달 전에 발표된 pythonTestAdapter 실험이 활성화된 상태에서 Python 확장 프로그램에서 테스트 출력을 보고 상호 작용하는 방식에 상당한 개선이 이루어졌습니다. 이전에는 테스트 검색 및 실행의 출력이 Python Test Log 출력 채널과 Test Results 패널에 일관되지 않게 흩어져 있었고 일부 정보는 두 곳 모두에 중복되었습니다. 경험을 통합하기 위해 테스트 실행과 관련된 출력은 Test Results 패널에, 테스트 검색은 Python 출력 채널에 표시됩니다. 자세한 내용은 관련 vscode-python 위키를 읽어보십시오.
이 새로운 접근 방식은 Pytest를 사용하고 settings.json에 "python.testing.pytestArgs": ["--color=yes"]를 설정한 경우 출력에 대한 색상화를 지원합니다. 색상화는 Test Results 패널의 테스트 실행에만 적용되며 검색이나 Python Test Log 패널의 출력에는 적용되지 않습니다.

테스트 검색 중에 오류가 발생하면 테스트 로그를 쉽게 열 수 있는 **출력 보기** 버튼도 있습니다.

Python 디버거 확장 프로그램의 플랫폼별 버전
Python Debugger 확장 프로그램은 이제 플랫폼별 버전을 제공하므로 업데이트마다 필요한 플랫폼별 파일만 설치됩니다. 이렇게 하면 확장 프로그램의 크기가 줄어들고 시작 시간이 개선됩니다.
Tensorboard 확장 프로그램
Tensorboard 기능이 Python 확장 프로그램에서 독립 실행형 Tensorboard 확장 프로그램으로 이동되었습니다.
이 새로운 확장 프로그램에 문제가 있거나 피드백을 제공하고 싶다면 Tensorboard 확장 프로그램 GitHub 저장소에 이슈를 제기할 수 있습니다.
Jupyter
선행/종속 셀로 실행
Jupyter 확장 프로그램을 사용하면 이제 **셀 실행** 버튼 옆의 드롭다운 메뉴에서 대상 셀의 모든 선행 또는 종속 셀을 실행할 수 있습니다. 이는 여전히 미리 보기 기능이며 jupyter.executionAnalysis.enabled 설정과 notebook.consolidatedRunButton 설정을 통해 활성화할 수 있습니다.
이 기능은 현재 Pylance 확장 프로그램에 의해 구동되므로 이 기능을 사용하려면 Pylance의 최신 미리 보기 버전을 설치해야 합니다.
VS Code 음성
VS Code에 음성 지원을 제공하는 새로운 확장 프로그램을 소개합니다! 새로운 VS Code Speech 확장 프로그램은 GitHub Copilot Chat와 통합되어 채팅 입력에 대한 음성-텍스트 변환 서비스를 제공합니다.
설치 후 마이크 아이콘이 나타나고 이를 선택하면 음성 전사 결과에 따라 채팅 입력란에 텍스트가 채워지기 시작합니다. 전사는 로컬에서 컴퓨터에서 처리되며 인터넷 연결이 필요하지 않습니다.

GitHub Pull Requests 및 Issues
풀 리퀘스트 및 이슈 관리 기능을 제공하는 GitHub Pull Requests and Issues 확장 프로그램에 더 많은 진전이 있었습니다.
- 프로젝트가 표시되며 풀 리퀘스트 설명 웹뷰에서 추가할 수 있습니다.
- PR **만들기** 보기에서 GitHub Copilot와 통합되어 PR 제목 및 설명을 생성합니다.
- GitHub CLI(
gh pr checkout)로 체크아웃된 PR은 확장 프로그램에서 인식됩니다.
확장 프로그램의 0.76.0 릴리스 변경 기록을 검토하여 다른 주요 내용을 확인하십시오.
미리보기 기능
플로팅 편집기 창
작업 영역 창에서 편집기를 별도의 창으로 분리하는 방법을 계속 탐색하고 있으며 이제 VS Code Insiders 커뮤니티를 초대하여 이 흥미로운 새 기능을 시험해보고 피드백을 제공하고자 합니다.
반드시 VS Code Insiders를 설치하고 새로운 보기: 활성 편집기를 새 창으로 이동 명령을 편집기에 실행하여 편집기를 플로팅 창으로 여십시오.
아직 많은 이슈를 해결하고 누락된 기능을 제공해야 하지만, 가까운 미래에 이 기능을 Stable 버전으로 출시할 수 있을 것으로 낙관합니다.
테스트해 주셔서 감사합니다!
언어 서버용 WASM-WASI 지원
실험적인 wasm-wasi-core 확장에 WASM/WASI에서 언어 서버 지원이 추가되었습니다.
또한 Rust로 작성되어 WASM으로 컴파일된 간단한 언어 서버를 보여주는 확장 프로그램이 vscode-wasm 저장소에 있습니다. 이 확장은 Rust analyzer 팀에서 유지 관리하는 언어 서버 크레이트에 의존합니다.
확장 프로그램 작성
테스트 실행기 개선
확장 프로그램의 테스트 실행을 더 쉽게 하기 위해 VS Code용 명령줄 실행기와 확장이 이제 제공됩니다. 새로운 접근 방식을 사용하는 확장 프로그램은 VS Code의 테스트 UI에서 실행할 수 있습니다. 일부 마이그레이션이 필요하지만 일반적으로 몇 분밖에 걸리지 않습니다. 자세한 내용은 VS Code 테스트 확장 프로그램 문서를 참조하십시오.
TestMessage.contextValue API 최종 확정
TestMessage에 contextValue를 제공하여 사용자가 해당 메시지에 대해 작업을 수행할 때 표시되도록 할 수 있습니다. 또한 testing/message/context 및 testing/message/content의 두 가지 새로운 메뉴 기여 지점이 제공됩니다. 전자는 테스트 결과 트리 뷰의 메시지에 표시되고, 후자는 편집기의 메시지 위에 표시됩니다. 예를 들어, 스냅샷 테스트에서 픽스처를 업데이트하는 작업을 제공하는 데 사용될 수 있습니다.

contextValue에 대한 자세한 내용은 이슈 #190277을 참조하십시오.
업데이트된 코드 아이콘
다음 새 아이콘이 codicon 라이브러리에 추가되었습니다.
![]()
copilotgit-fetchmicmic-filledthumbsup-filledthumbsdown-filledcoffeegamesnakevrchipmusicpiano
새로운 테마 색상
textPreformat.background: 서식이 지정된 텍스트 세그먼트의 배경색
이름별 루트 폴더 아이콘
파일 아이콘 테마 작성자는 이제 새로운 속성 rootFolderNames 및 rootFolderNamesExpanded를 사용하여 이름별 아이콘을 루트 폴더에 정의할 수 있습니다. 자세한 내용은 파일 아이콘 테마 가이드를 참조하십시오.
제안된 API
모든 마일스톤에는 새로운 제안 API가 제공되며 확장 저자는 이를 시험해 볼 수 있습니다. 항상 그렇듯이 피드백을 원합니다. 제안 API를 시험해 보는 단계는 다음과 같습니다.
- 시험하고 싶은 제안을 찾아
package.json#enabledApiProposals에 해당 이름을 추가하세요. - 최신 @vscode/dts를 사용하고
npx @vscode/dts dev를 실행하세요. 그러면 해당d.ts파일이 작업 영역으로 다운로드됩니다. - 이제 제안에 대한 프로그래밍을 할 수 있습니다.
제안 API를 사용하는 확장은 게시할 수 없습니다. 다음 릴리스에서 호환성이 깨지는 변경 사항이 있을 수 있으며, 기존 확장을 깨뜨리는 일은 절대 없을 것입니다.
이슈 보고서를 통해 확장 프로그램으로 전송되는 데이터 구성 지원
새로운 제안 API를 통해 확장 프로그램 작성자가 이슈 보고서를 통해 추가 데이터를 보낼 수 있습니다.
export interface IssueUriRequestHandler {
// Handle the request by the issue reporter for the Uri you want to direct the user to.
handleIssueUrlRequest(): ProviderResult<Uri>;
}
export interface IssueDataProvider {
// Provide the data to be used in the issue reporter.
provideIssueData(token: CancellationToken): ProviderResult<string>;
// Provide the template to be used in the description of issue reporter.
provideIssueTemplate(token: CancellationToken): ProviderResult<string>;
}
export namespace env {
export function registerIssueUriRequestHandler(
handler: IssueUriRequestHandler
): Disposable;
export function registerIssueDataProvider(provider: IssueDataProvider): Disposable;
}
handleIssueUrlRequest를 통해 URI를 제공하여 확장 프로그램 이슈를 외부 GitHub에서 파일로 만들거나, provideIssueData 및 provideIssueTemplate에 대한 템플릿 문자열과 확장 프로그램 데이터 문자열을 제공하여 이슈 보고서를 통해 추가 확장 프로그램 데이터를 GitHub로 보낼 수 있습니다.
이 제안에 대한 자세한 내용은 이슈 #196863을 참조하십시오.
사용자 지정 제외 규칙이 있는 파일 감시자
이번 마일스톤에서는 제외 규칙을 완전히 제어할 수 있는 파일 시스템 감시자를 만들기 위한 제안 API를 추가했습니다.
export interface FileSystemWatcherOptions {
/**
* An optional set of glob patterns to exclude from watching.
* Glob patterns are always matched relative to the watched folder.
*/
readonly excludes?: string[];
}
export function createFileSystemWatcher(
pattern: RelativePattern,
options?: FileSystemWatcherOptions
): FileSystemWatcher;
이 새로운 API는 재귀적 또는 비재귀적 감시자인지, 또는 작업 영역 내부 또는 외부를 감시하려는 것인지에 관계없이 확장 프로그램에 파일 감시자에 대한 완전한 제어를 제공합니다. 파일 감시에 대한 사용자 또는 기본 구성 제외 규칙은 적용되지 않으므로 구독한 이벤트만 수신할 수 있습니다.
엔지니어링
Windows 32비트 지원 종료
32비트 Windows용 VS Code 지원이 중단되었습니다. 아직 32비트 빌드를 사용 중인 경우 64비트 버전으로 업데이트해야 합니다.
확장 프로그램 및 문서
Java용 Gradle
VS Code의 Java 개발은 개선된 Gradle for Java 확장 프로그램 덕분에 더 쉬워졌습니다. 미리 보기 버전은 Build Server Protocol(BSP)을 채택하여 Gradle 프로젝트 빌드에 대한 지원이 향상되었습니다. VS Code에서 사용되는 다른 프로토콜(예: Language Server Protocol(LSP))과 유사하게 BSP는 개발 환경과 Gradle과 같은 빌드 도구 간의 추상화 계층을 제공합니다.
새로운 Gradle 지원을 사용해 보려면 Extension Pack for Java와 Gradle for Java 확장 프로그램의 미리 보기 버전을 모두 설치하십시오. Java 확장 팀의 최근 블로그 게시물에서 Gradle 및 BSP에 대해 자세히 알아볼 수 있습니다.

FastAPI 튜토리얼
FastAPI는 Python API 구축을 위한 현대적이고 빠른 웹 프레임워크이며, 단순성과 성능 덕분에 점점 더 인기를 얻고 있습니다.
VS Code와 Python 확장을 최대한 활용하여 FastAPI 애플리케이션을 생성하고 디버그하는 방법을 새로운 FastAPI 튜토리얼에서 알아보세요!
사용자 지정 레이아웃 사용자 가이드
작업대 및 편집기 레이아웃 사용자 지정을 설명하는 새로운 사용자 지정 레이아웃 문서가 있습니다. 여기서는 VS Code의 기본 UI 요소(보기, 패널, 편집기 등)를 선호하는 워크플로에 맞게 수정하는 방법을 배울 수 있습니다.

주요 내용
- 기본 및 보조 사이드 바
- 패널 위치 및 정렬
- 고정된 편집기 탭
- 편집기 그룹 레이아웃
- 등
주요 수정 사항
- 194812 workbench.settings.settingsSearchTocBehavior를 hide로 설정한 상태에서 검색 시 목차가 표시됨
- 195722 네트워크 문제 발생 시 빈 설정 편집기
감사합니다
마지막으로, VS Code 기여자에 대한 진심 어린 감사의 말씀을 전합니다.
이슈 추적
이슈 추적에 대한 기여
- @gjsjohnmurray (John Murray)
- @IllusionMH (Andrii Dieiev)
- @starball5 (starball)
- @ArturoDent (ArturoDent)
풀 리퀘스트
vscode 기여
- @amaust (Andrew Maust): Aria Label이 [Object object]로 표시되는 문제 수정 PR #195929
- @Cazka: incrementalNaming 설정 오타 수정 PR #194900
- @Charles-Gagnon (Charles Gagnon): 드롭다운 작업 버튼에서 숨겨진 드롭다운에 포커스되는 화살표 탐색 수정 PR #167662
- @christian-bromann (Christian Bromann): 노트북 컨테이너는 보이는 경우에만 렌더링 PR #188226
- @Connormiha (Mikhail): 수정: map+flat 간소화 PR #193949
- @futurist (James Yang): 수정: dom.test.ts 오타 PR #195249
- @gjsjohnmurray (John Murray)
--profile에 대한 CLI 도움말 텍스트 수정 PR #193766- 디버깅 중 실행 및 디버그 제목 표시줄에서 런처 숨기기 허용 PR #193812
- 확장 프로그램 로그 수준 빠른 선택에서 올바른 행 사전 선택 (수정 #194515) PR #194517
- updateAllExtensions (#_163627) 후 '다시 로드 필요' 버튼을 동시에 표시 PR #195421
"window.density.editorTabHeight": "compact"에 대해 신뢰 편집기 탭 아이콘을 올바르게 표시 (수정 #196209) PR #196212- 상단 활동 표시줄 배지에 있는 숫자를 세로로 가운데 정렬 (수정 #196691) PR #196696
- 타원형 배지를 유발한 #196696 수정 사항 수정 PR #196715
- 상단 활동 표시줄의 진행률 배지를 #196696 변경 사항과 일치하도록 크기 조정 PR #196724
- @harbin1053020115 (ermin.zem)
- 수정: pinnedTabsOnSeparateRow가 활성화된 상태에서 편집기 진행률 위치 수정 PR #195314
- 기능: 루트 폴더에 대한 iconThemes 정의 지원 PR #195319
- @hsfzxjy (hsfzxjy): 더 빠른 __vsc_escape_value 수정 PR #194459
- @jeanp413 (Jean Pierre): 웹소켓이 핑 프레임을 올바르게 처리하지 못하는 문제 수정 PR #194436
- @jiawei-hong (Wei): 스타일: 오른쪽 테두리 너비가 none이어야 하는 경우는… PR #195078
- @jruales (Joaquín Ruales): 교체할 내용이 없을 때 regex.replace() 비용 건너뛰기 PR #194854
- @Jvr2022 (Jvr)
- .github의 사용하지 않는 파일 정리 PR #189066
- 문법 수정 PR #194970
- @k-yle (Kyℓe Hensel): .git-blame-ignore-revs 구문 강조 표시 수정 PR #194584
- @MichaelChirico (Michael Chirico): 참조 리포지토리의 조직 업데이트 PR #194415
- @MrYuto (Yuto Liyosa)
- OpenDisassemblyViewAction를 Action2로 만들기 PR #195623
- tsconfig에서 절대 파일 대상 링크 확인 (#_195514) PR #195759
- @sandeep-sen (Sandeep Sen): Go용 mgmt 라이브러리 추가 + Go용 matcher 로직 변경 PR #191036
- @SimonSiefke (Simon Siefke): 수정: 메뉴 메모리 누수 PR #196302
- @tats-u (Tatsunori Uchino): 더 안전하게 강제 푸시하기 위한
--force-if-includes지원 추가 PR #187932 - @tisilent (xiejialong)
- SettingsTree 변환 최적화 비활성화 PR #179095
- 터미널: 이름 변경 및 삽입 수정 PR #194621
- 수정 #191201 PR #194965
- @vuittont60: 오타 수정 PR #195562
- @whscullin (Will Scullin): 링크 조각이 보존되는지 확인 PR #193743
- @yiliang114 (易良)
- 기능: 내장 확장의 로고 추가 PR #192999
- 수정: #157015에 대한 보기 레이블 명령 현지화 수정 PR #193544
- 수정: #195980 닫기, 확장을 위한 기여 지점 기본 표시 수정 PR #195984
vscode-js-debug 기여
- @OnesAndZer0s (OnesAndZer0s): 기능: 계측 중단점 정리 PR #1853
language-server-protocol 기여
- @manandre (Emmanuel André): NotebookDocumentSync 예제 수정 PR #1831