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

2025년 1월 (버전 1.97)

업데이트 1.97.1: 본 업데이트는 다음 보안 문제를 해결합니다.

업데이트 1.97.2: 본 업데이트는 다음 문제를 해결합니다.

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


Visual Studio Code 2025년 1월 릴리스에 오신 것을 환영합니다. 이번 버전에는 여러분이 좋아하실 만한 많은 업데이트가 있으며, 주요 내용은 다음과 같습니다.

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

GitHub Copilot

Copilot 다음 편집 제안 (미리 보기)

설정: github.copilot.nextEditSuggestions.enabled

GitHub Copilot 코드 완성은 자동 완성에 훌륭하지만, 대부분의 코딩 활동은 기존 코드를 편집하는 것이므로 완성을 자연스럽게 확장하여 편집도 지원하는 것이 당연한 진화입니다. 따라서 새로운 미리 보기 기능인 Copilot 다음 편집 제안(Copilot NES)을 출시하게 되어 기쁩니다.

Copilot NES는 사용자가 하고 있는 편집을 기반으로 다음 편집을 해야 할 위치와 해당 편집 내용을 예측합니다. NES는 현재 작업과 관련된 향후 변경 사항을 제안하며, Tab 키를 눌러 제안을 빠르게 탐색하고 수락할 수 있습니다.

다음 예에서 변수를 변경하면 파일 하단의 편집 제안이 트리거됩니다. Tab 키를 사용하여 제안을 탐색하고 수락하십시오. 여백 표시기가 다음 편집 제안으로 안내합니다.

Video showing Copilot NES suggesting code edits at another location. The gutter shows an arrow indicating the relative position of the edit.

VS Code 설정 github.copilot.nextEditSuggestions.enabled을 통해 Copilot NES를 활성화하십시오.

편집의 크기와 유형에 따라 제안 렌더링은 현재 줄 아래 또는 측면으로 동적으로 변경될 수 있습니다. editor.inlineSuggest.edits.renderSideBySide 설정을 구성하여 항상 현재 줄 아래에 제안을 렌더링하십시오.

Copilot NES는 빠르게 발전하고 있으며, 저희 저장소의 문제점을 통해 여러분의 피드백을 기다리겠습니다. 더 많은 정보와 시나리오에 대해서는 전체 Copilot NES 설명서를 참조하십시오. NES 경험을 확장함에 따라.

참고: Copilot Business 또는 Enterprise 사용자이고 조직의 관리자가 Copilot "Editor Preview Features" 사용을 옵트인하고, 편집기에서 github.copilot.nextEditSuggestions.enabled 설정을 구성하는 경우에만 사용할 수 있습니다.

Copilot 편집

Copilot 편집 일반 공급

VS Code 10월 릴리스에서 Copilot 편집의 미리 보기를 발표했습니다. 오늘 Copilot 편집의 일반 공급을 발표합니다! Copilot 편집은 코드 편집에 최적화되어 있으며 채팅에서 바로 작업 공간의 여러 파일에 걸쳐 코드 변경을 수행할 수 있습니다.

개선된 편집기 컨트롤

편집을 개별적으로 수락하고 거부할 수 있어 더 많은 제어가 가능합니다. 또한 편집을 위한 편집기 컨트롤이 측면 보기로 전환할 때 계속 표시됩니다. 이는 더 큰 변경 사항을 이해하는 데 유용합니다.

Copilot Edits에서 개별 변경 사항을 수락하는 방법을 보여주는 스크린샷. 테마: GitHub Light Colorblind (Beta) (vscode.dev에서 미리 보기)

마지막으로, 구성 가능한 시간 초과 후 편집 제안을 자동으로 수락하는 새 설정이 추가되었습니다. 해당 설정은 chat.editing.autoAcceptDelay이며, 변경 사항이 수락되는 초 수를 지정합니다. 수락 버튼을 클릭하거나 변경 사항 검토를 시작하면 카운트다운이 중지됩니다. 주말에 몰아보기를 하는 분들에게는 익숙한 기능일 것입니다.

테마: GitHub Light Colorblind (Beta) (vscode.dev에서 미리 보기)

편집기에 적용

Copilot Chat에서는 코드 블록의 도구 모음에서 편집기에 적용 작업을 사용하여 코드 블록을 작업 공간의 파일에 적용할 수 있습니다. 이 환경을 몇 가지 개선했습니다.

  • 작업의 호버가 코드 블록이 생성된 파일을 표시합니다.

    Screenshot that shows the Apply Code Block hover text, indicating the target file name.

  • 코드 블록이 존재하지 않는 파일에 대한 것이라면, 파일 생성 위치를 묻는 메시지가 표시됩니다. 이는 Copilot이 제안한 파일 경로, 제목 없는 편집기 또는 현재 활성화된 편집기가 될 수 있습니다.

  • 변경 사항이 계산되고 적용되면 Copilot 편집과 동일한 흐름 및 UI가 사용됩니다. 각 변경 사항을 개별적으로 검토, 개선 또는 삭제할 수 있습니다.

시간적 컨텍스트

시간적 컨텍스트는 최근에 상호 작용한 파일에 대한 정보를 언어 모델에 제공하여 코드를 편집하거나 생성할 때 도움이 됩니다. 효과를 실험하고 측정 중이지만, 인라인 채팅의 경우 github.copilot.chat.editor.temporalContext.enabled, Copilot 편집의 경우 github.copilot.chat.edits.temporalContext.enabled으로 수동으로 활성화할 수도 있습니다.

작업 영역 인덱스 상태 UI

@workspace 또는 #codebase를 사용하여 Copilot에게 프로젝트 코드에 대해 질문할 때, 관련 코드 스니펫을 컨텍스트로 포함하기 위해 코드베이스를 빠르고 정확하게 검색하는 데 인덱스를 사용합니다. 이 인덱스는 GitHub에서 관리하는 원격 인덱스, 로컬에 저장된 인덱스 또는 원격 인덱스를 사용할 수 없는 대규모 프로젝트에 대한 대체로 사용되는 기본 인덱스일 수 있습니다.

이번 반복에서는 Copilot이 사용하고 있는 인덱스 유형 및 재인덱싱 중인 파일 수와 같은 관련 정보를 표시하는 상태 표시줄의 언어 상태 표시기에 새 작업 영역 인덱스를 추가했습니다. 이를 보려면 VS Code 상태 표시줄의 {} 아이콘을 선택하십시오.

Screenshot that shows the status of the Copilot workspace indexing in the Status Bar.

작업 영역 인덱스 유형과 전환 방법에 대한 자세한 내용은 Copilot 작업 영역 설명서를 참조하십시오.

원격 작업 영역 인덱스 빌드

원격 작업 영역 인덱스는 GitHub에서 관리됩니다. 원격 인덱스는 대규모 프로젝트에서도 높은 품질의 결과를 빠르게 제공할 수 있습니다. 또한 사용자당 한 번이 아니라 GitHub 프로젝트당 한 번만 빌드하면 됩니다.

이러한 모든 장점을 고려하여 프로젝트를 원격 인덱스로 업그레이드하는 몇 가지 새로운 방법을 추가했습니다.

  • 새로운 GitHub Copilot: 원격 인덱스 빌드 명령을 실행합니다.

  • 원격 인덱싱 대상인 프로젝트에만 표시되는 작업 영역 인덱스 상태 UI의 인덱스 빌드 버튼을 선택합니다.

  • 프로젝트가 원격 인덱싱 대상이고 작업 영역당 한 번만 표시되는 첫 @workspace 응답에서 인덱스 빌드 버튼을 선택합니다.

현재 GitHub 원격이 있는 프로젝트만 원격 인덱스를 사용할 수 있습니다. 특히 프로젝트가 큰 경우 원격 인덱스 빌드에 시간이 걸릴 수 있습니다. 원격 인덱싱이 완료되었는지 확인하려면 작업 영역 인덱스 상태 UI를 확인하십시오.

작업 영역 검색 개선 사항

@workspace#codebase에 대한 코드 검색을 계속 최적화했습니다. 주요 내용은 다음과 같습니다.

  • 원격 인덱스를 사용할 때 로컬로 변경된 파일을 추적하고 처리하는 기능이 향상되었습니다.

  • 로컬 인덱스에서 변경된 파일을 백그라운드에서 업데이트하여 @workspace 질문이 업데이트를 기다릴 필요가 없습니다.

  • 기본 인덱스를 대규모 프로젝트에 대해 최적화했습니다.

Git 변경 컨텍스트 변수

채팅 또는 편집에 대한 쿼리를 작성할 때, 이제 #changes 컨텍스트 변수를 사용하여 Git 소스 제어에서 수정된 파일을 참조할 수 있습니다. 예를 들어, 내 작업 영역의 #변경 사항 요약과 같이 프롬프트할 수 있습니다.

Screenshot of a Copilot chat response, which lists the modified files and changes when prompting for '#changes'.

모델 가용성

이제 Copilot을 사용할 때 선택할 수 있는 모델이 더 많아졌습니다. 다음 모델들이 Visual Studio Code 및 github.com 채팅의 모델 선택기에서 사용할 수 있습니다.

  • OpenAI의 o3-mini: OpenAI의 최신 추론 모델이 코딩 워크플로우에 통합되며, GitHub Copilot Pro, Business 및 Enterprise 사용자에게 점진적으로 제공됩니다. o3-mini 모델 가용성에 대한 자세한 내용은 GitHub 블로그 게시물에서 확인하십시오.

  • Gemini 2.0 Flash: Google의 최신 모델은 코드 제안, 문서화 및 코드 설명에 높은 성능을 보여줍니다. 이 모델은 Copilot Free를 포함한 모든 GitHub Copilot 고객에게 제공됩니다. Gemini 2.0 Flash 모델 가용성에 대한 자세한 내용은 GitHub 블로그 게시물에서 확인하십시오.

접근성

향상된 접근성 소리

사용자 피드백을 바탕으로 여러 접근성 소리를 다듬어 명확성과 구별을 개선했습니다. 다음 소리가 업데이트되었습니다.

명령 팔레트에서 도움말: 신호 소리 목록 명령을 실행하여 이러한 업데이트를 미리 볼 수 있습니다.

Copilot 편집 접근성 도움말 대화 상자

화면 읽기 프로그램 사용자는 입력란에서 ⌥F1 (Windows Alt+F1, Linux Shift+Alt+F1)을 호출하여 Copilot 편집과 상호 작용하는 방법에 대한 지침에 액세스할 수 있습니다.

또한, 편집기에 보류 중인 Copilot 편집이 포함된 경우 이 상태가 편집기 도움말 대화 상자에 표시됩니다. 또한 다음 ⌥F5 (Windows, Linux Alt+F5) / 이전 ⇧⌥F5 (Windows, Linux Shift+Alt+F5), 수락 ⌘Y (Windows, Linux Ctrl+Y), 거부 ⌘N (Windows, Linux Ctrl+N), 그리고 diff 보기 토글 에 대한 키보드 단축키를 도입했습니다.

소스 제어 접근성 도움말 대화 상자

소스 제어 보기가 포커스된 상태에서 접근성 도움말 보기 명령을 호출하면 소스 제어 접근성 도움말 대화 상자가 열려 화면 읽기 프로그램 사용자에게 중요한 정보를 제공합니다. 대화 상자에는 현재 소스 제어 상태에 대한 요약과 보기 및 탐색 방법에 대한 일반 정보가 포함됩니다.

향상된 화면 읽기 프로그램 알림

화면 읽기 프로그램이 감지되면 관련 알림에 자세한 컨텍스트 및 리소스를 제공하는 도움말 링크가 포함됩니다.

텍스트 음성 변환에서 코드 블록 무시

이전에는 텍스트 음성 변환을 사용하여 Copilot 응답을 읽을 때 코드 블록도 소리 내어 읽었습니다. accessibility.voice.ignoreCodeBlocks 설정을 사용하여 텍스트 음성 변환 세션에서 코드 블록을 무시할 수 있습니다.

워크벤치

명령 팔레트 및 빠른 입력 이동

이제 명령 팔레트 및 기타 빠른 입력을 창 상단에 고정하는 대신 새 위치로 이동할 수 있습니다.

기능

  • 명령 팔레트 또는 다른 빠른 입력을 센터 및 상단 스냅 기능으로 드래그 앤 드롭합니다.
  • 다시 로드해도 위치가 유지되므로 빠른 입력에 대한 새 영구 위치를 설정할 수 있습니다.
  • 사용자 지정 레이아웃 선택기에서 사전 설정된 위치를 사용할 수 있습니다.

확장 게시자 신뢰

게시자로부터 확장을 처음 설치할 때 확장 게시자의 신뢰성을 평가하는 데 도움이 되는 대화 상자가 표시됩니다. 이 기능은 신뢰할 수 있는 소스에서만 확장을 설치하여 개발 환경의 보안을 강화하도록 합니다.

Screenshot that shows the Trust Publisher dialog that is shown when a user installs an extension.

확장 팩 또는 종속성이 있는 확장을 설치하는 경우, 게시자를 신뢰하면 함께 설치되는 확장의 게시자도 암묵적으로 신뢰하게 됩니다.

VS Code 1.97 릴리스로 업데이트하면 현재 설치된 확장 프로그램의 게시자는 자동으로 신뢰됩니다. 확장: 신뢰할 수 있는 확장 게시자 관리 명령을 사용하여 신뢰할 수 있는 확장 게시자를 관리할 수 있습니다. 이 명령을 사용하면 이전에 신뢰한 게시자에 대한 신뢰를 재설정하거나 철회할 수 있습니다.

Screenshot that shows the Quick Pick list of trusted publishers, enabling unchecking publishers to make them untrusted.

참고: VS Code 창이 열려 있지 않고 CLI(code-insiders --install-extension pub.name)에서 확장을 설치하는 경우, 확장은 설치되지만 게시자는 신뢰 목록에 추가되지 않습니다.

더 자세한 내용은 더 알아보기 링크를 방문하십시오.

출력 패널 필터링

이제 출력 패널의 내용을 필터링할 수 있어, 특히 대량의 로그 데이터를 처리해야 할 때 로그 관리 및 분석을 크게 개선할 수 있습니다.

Screenshot of the Output panel, highlighting the filtering dropdown.

  • 로그 수준별 필터링: 심각도 수준(예: 오류, 경고, 정보)에 따라 로그를 필터링합니다. 이를 통해 가장 중요한 문제에 먼저 집중할 수 있습니다.
  • 범주별 필터링: 특정 범주로 로그를 좁혀 특정 소스 또는 구성 요소의 로그를 격리할 수 있습니다. 범주는 로그 데이터에서 자동으로 가져옵니다.
  • 텍스트별 필터링: 로그 내에서 특정 텍스트를 검색하여 관련 항목을 빠르게 찾습니다.

복합 로그

때로는 정보가 여러 로그에 흩어져 있어 전체 그림을 얻기 위해 함께 보아야 하는 경우를 발견합니다. 이제 여러 로그를 단일 복합 로그 보기에서 볼 수 있습니다. 새로운 필터링 기능과 결합하면 로그 분석이 훨씬 더 좋아졌습니다!

사용자 지정 복합 로그를 만들려면 출력 패널의 오버플로 메뉴에서 복합 로그 생성... 작업을 사용하십시오.

유연한 모니터링 및 분석을 위해 복합 로그를 편집기 또는 새 VS Code 창에서 열 수도 있습니다. 이 기능은 관련 로그의 통합 보기를 제공하여 문제 진단 능력을 향상시킵니다.

참고: 복합 로그 보기는 현재 VS Code 다시 시작 후에도 유지되지 않습니다.

로그 내보내기 및 가져오기

이제 출력 보기의 오버플로 메뉴에 있는 작업을 사용하여 로그를 내보내고 가져올 수 있습니다. 이 기능은 로그를 쉽게 공유하고 검토할 수 있도록 하여 협업 및 로그 관리를 향상시킵니다.

로그를 내보내거나 가져오려면 출력 패널의 오버플로 메뉴에서 해당 로그 내보내기 또는 로그 가져오기 작업을 선택하십시오.

설정 편집기 검색 수정 사항

이번 반복에서는 누락된 문자가 포함된 검색 쿼리가 예상 결과를 표시하지 않는 회귀를 수정했습니다. 예를 들어, 설정 편집기는 "editor formonpast"를 검색할 때 editor.formatOnPaste 설정을 찾지 못했습니다.

또한 설정 편집기가 좁은 편집기 그룹에 있어도 검색 중에 목차를 표시하는 문제를 수정했습니다.

Screenshot of a narrow-width Settings editor, with a search for 'edtor cursstyle' that shows the 'editor.cursorStyle' setting and does not reveal the settings table of contents.

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

확장 필터 개선 사항

업데이트 가능한 확장을 추적하고 최근에 업데이트된 확장을 찾는 데 도움이 되도록 이제 확장 보기에 @outdated@recentlyUpdated라는 두 가지 새로운 필터 옵션이 있습니다.

Screenshot of the filtering options in the Extension view, highlighting the 'outdated' and 'recentlyUpdated' options.

SVG 이미지 미리 보기 지원

기본 이미지 미리 보기에 SVG 파일 미리 보기에 대한 기본 지원이 추가되었습니다.

Screenshot that shows the default preview of an SVG image in VS Code.

더 고급 SVG 미리 보기 확장은 Visual Studio Marketplace에서 확인하십시오.

CLI에서 작업 영역 루트 폴더 제거

이전에는 --add 명령줄 옵션을 사용하여 다중 루트 작업 영역에 루트 폴더를 추가할 수 있었습니다.

이제 새로운 --remove 명령줄 옵션을 사용하여 다중 루트 작업 영역에서 루트 폴더를 제거하는 기능도 추가했습니다.

code --remove /path/to/rootfolder

편집기

찾기 및 바꾸기 기록 유지

지난 마일스톤에서 편집기 찾기 컨트롤에 기록 유지 기능을 도입했습니다. 이번 마일스톤에서는 바꾸기 입력 컨트롤로 이를 확장하여 여러 세션에 걸쳐 두 가지 모두를 별도로 유지할 수 있습니다. 바꾸기 기록은 작업 영역별로 저장되며 editor.find.replaceHistory 설정을 통해 비활성화할 수 있습니다.

주석

미제출 주석을 닫을 때 확인

esc 키를 누르거나 미제출 주석이 있는 주석 컨트롤을 닫으면 확인 대화 상자가 표시됩니다. comments.thread.confirmOnCollapse 설정을 통해 이 확인을 비활성화할 수 있습니다.

주석 편집기에서 빠른 작업

주석 편집기에서 빠른 작업을 사용할 수 있습니다.

Screenshot that shows Quick actions in the Comments editor.

소스 제어

Git blame 정보

이번 마일스톤에서는 편집기와 상태 표시줄에 Git blame 정보를 표시하는 기능을 계속해서 개선했습니다. 또한 편집기 장식 또는 상태 표시줄 항목을 호버할 때 표시되는 정보도 개선했습니다.

Screenshot that shows Git blame information when hovering over the git blame item in the Status Bar.

Git blame 상태 표시줄 항목이 이제 기본적으로 활성화되며, git.blame.statusBarItem.enabled 설정을 사용하여 비활성화할 수 있습니다. git.blame.editorDecoration.enabled 설정을 사용하여 Git blame 편집기 장식을 활성화하십시오.

명령 팔레트 또는 키 바인딩을 사용하여 Git blame 정보를 쉽게 토글하는 명령도 추가했습니다: Git: Git Blame Editor Decoration 토글Git: Git Blame Status Bar Item 토글.

GitHub 저장소

GitHub에 호스팅되는 저장소의 경우, 타임라인 컨텍스트 메뉴 및 호버, 소스 제어 그래프 컨텍스트 메뉴 및 호버, Git blame 편집기 장식 및 상태 표시줄 항목 호버에 새 명령인 GitHub에서 열기를 추가했습니다.

Screenshot of the Source Control history item hover, highlighting the Open on GitHub link.

GitHub 이슈 및 풀 요청 참조는 타임라인, 소스 제어 그래프, Git blame 편집기 장식 및 상태 표시줄 항목 호버에서 링크로 렌더링되어 브라우저에서 쉽게 열 수 있습니다.

마지막으로, 타임라인, 소스 제어 그래프, Git blame 편집기 장식 및 상태 표시줄 항목 호버에 GitHub 아바타도 추가했습니다. github.showAvatar 설정을 사용하여 GitHub 아바타 렌더링을 비활성화하십시오.

소스 제어 그래프 작업

기록 항목 참조(예: 브랜치 태그)에 대한 작업이 범위 지정된 액션을 컨텍스트 메뉴에 추가하여 소스 제어 그래프 보기의 기능을 확장했습니다. 추가된 첫 번째 작업은 체크아웃, 브랜치 삭제, 태그 삭제로, 소스 제어 그래프 보기에서 직접 브랜치/태그를 쉽게 체크아웃하고, 브랜치를 삭제하고, 태그를 삭제할 수 있습니다.

다음 마일스톤에 더 많은 작업을 추가할 예정입니다.

노트북

셀 실행 시 인라인 값

노트북 편집기에서 이제 notebook.inlineValues 설정을 통해 셀 실행 후 인라인 값을 표시하는 것을 지원합니다. 활성화하면, 셀 실행이 성공적으로 완료된 후 등록된 InlineValueProvider의 결과에 따라 인라인 값이 표시됩니다.

공급자가 없는 경우, 대체 접근 방식은 커널에서 찾은 값을 간단한 정규식 일치를 통해 셀 문서와 일치시킵니다. 더 정확한 결과를 보장하려면 언어 확장의 공급자를 사용하는 것이 좋습니다.

Screenshot that shows inline values after cell execution in the notebook editor.

Markdown 셀에 대한 사용자 지정 글꼴 모음

노트북 편집기에서 이제 렌더링된 Markdown 셀에 대한 사용자 지정 글꼴 모음을 설정하는 것을 지원합니다. 이는 notebook.markup.fontFamily 설정으로 제어할 수 있습니다. 비어 있으면 기본 워크벤치 글꼴 모음이 사용됩니다.

Screenshot that shows a custom font for rendered Markdown cells.

터미널

합자 지원

이 기능은 이제 안정적인 것으로 간주됩니다. 마지막 버전 이후의 변경 사항 요약입니다.

ConEmu의 진행률 이스케이프 시퀀스 지원

ConEmu가 선구적으로 개발한 터미널에서 진행률을 보고하는 ESC ] 9 ; 4 이스케이프 시퀀스가 지원됩니다. 이는 winget과 같은 일부 CLI 도구에서 진행률을 보고하는 데 사용됩니다. 터미널 탭에서 진행률을 보려면 ${progress}terminal.integrated.tabs.title 또는 terminal.integrated.tabs.description에 추가하십시오. 일반적으로 진행률 스피너 또는 백분율로 표시됩니다.

잘린 명령에 대한 고정 스크롤

터미널의 스크롤 고정 (terminal.integrated.stickyScroll.enabled)이 이제 명령이 말줄임표로 잘린 경우에 표시됩니다.

Screenshot that shows an ellipsis at the end of a command in Sticky Scroll when it is truncated.

마지막 터미널이 닫힐 때의 동작을 구성합니다.

새로운 terminal.integrated.hideOnLastClosed 설정은 마지막 터미널이 닫혔을 때 패널을 닫을지 여부를 구성할 수 있게 합니다. 이와 함께, 터미널이 열려 있지 않을 때의 경험이 개선되었습니다.

작업

열 번호 변수

새로운 ${columnNumber} 변수는 tasks.jsonlaunch.json에서 커서 위치의 열 번호를 참조하는 데 사용할 수 있습니다. VS Code 설명서에서 변수 전체 목록을 확인하세요.

디버그

값에 대한 필터링 및 검색

이제 변수 및 감시 보기에서 보기 내에서 검색하여(⌥⌘F (Windows, Linux Ctrl+Alt+F)) 이름뿐만 아니라 변수 및 표현식 값으로 필터링할 수 있습니다.

Screenshot that shows the search control in the Variables view when debugging.

디버그 콘솔에서 선택

디버그 콘솔이 이제 더 길고 안정적인 내용 선택을 지원하여 복사 및 붙여넣기를 더 쉽게 할 수 있습니다.

JavaScript 디버거

명령 팔레트 또는 편집기 동작에서 **Debug: Pretty print for debugging** 명령을 사용하여 스크립트를 'pretty print' 할 수 있으며, 디버거가 현재 일시 중지되어 있지 않은 경우에도 가능합니다.

언어

TypeScript 5.7.3

이 릴리스에는 TypeScript 5.7.3 복구 릴리스가 포함되어 있습니다. 이 마이너 업데이트는 몇 가지 가져오기 버그와 회귀를 수정합니다.

Markdown 미리 보기에서 이미지를 마우스 오른쪽 버튼으로 클릭하여 열기

이제 Markdown 미리 보기에서 작업 영역 이미지를 마우스 오른쪽 버튼으로 클릭하고 **이미지 열기**를 선택하여 새 편집기에서 열 수 있습니다.

Screenshot that shows the context menu option to open an image in the Markdown preview.

이는 현재 작업 영역에 속한 모든 이미지에 대해 지원됩니다.

VS Code의 내장 Markdown 기능은 로컬 파일 및 이미지 링크의 유효성을 자동으로 검사합니다. 이는 이름이 변경된 헤더나 더 이상 디스크에 존재하지 않는 파일에 연결하는 것과 같은 일반적인 실수를 포착하는 좋은 방법입니다.

이 기능을 쉽게 발견할 수 있도록 링크 유효성 검사를 위한 새로운 언어 상태 항목을 추가했습니다.

Screenshot that shows the Markdown link validation language status item.

Markdown 파일을 열 때 상태 표시줄의 {}을 선택하여 링크 유효성 검사 상태를 볼 수 있습니다. 상태 항목을 사용하여 링크 유효성 검사를 빠르게 켜고 끌 수도 있습니다.

새로운 Ruby 구문 강조 표시 문법

오래되고 유지보수되지 않는 `textmate/ruby.tmbundle`의 Ruby 문법에서 벗어나 이제 `Shopify/ruby-lsp`에서 Ruby 문법을 가져옵니다.

원격 개발

원격 개발 확장을 사용하면 개발 컨테이너, SSH 또는 원격 터널을 통한 원격 머신 또는 Linux용 Windows 하위 시스템(WSL)을 기능이 풍부한 개발 환경으로 사용할 수 있습니다.

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

  • Linux 레거시 서버 연결을 위한 마이그레이션 경로
  • SSH 채팅 참가자 개선 사항
  • SSH 구성 개선 사항
  • SSH에 대한 기본 원격 확장

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

확장 프로그램 기여

Microsoft 계정

Microsoft 계정이 이제 MSAL(Windows에서는 WAM 지원 포함)을 사용합니다.

참고: 지난달 Microsoft에 대한 MSAL 기반 인증 롤아웃은 심각한 버그로 인해 롤백되어야 했습니다. 이 버그가 수정되었으며 롤아웃을 진행합니다.

Microsoft 인증에 대한 강력한 보안 기반을 보장하기 위해 Microsoft 계정 확장 기능에 Microsoft 인증 라이브러리를 채택했습니다.

이 작업의 주목할 만한 기능 중 하나는 WAM(Web Account Manager, 브로커라고도 함) 통합입니다. 간단히 말해, Microsoft 인증 흐름을 위해 브라우저로 이동하는 대신 운영 체제와 직접 통신하며, 이는 Microsoft 인증 세션을 획득하는 권장 방식입니다. 또한 운영 체제에 이미 로그인한 계정을 활용할 수 있으므로 더 빠릅니다.

Screenshot that shows an authentication popup that the OS shows over VS Code.

이 새로운 흐름에서 문제가 발생하면 알려주십시오. 주요 문제가 발생하여 이전 Microsoft 인증 동작으로 되돌려야 하는 경우 microsoft-authentication.implementation(classic으로 설정하고 VS Code 다시 시작)을 사용하여 수행할 수 있지만 이 설정은 오래 유지되지 않을 것이라는 점을 명심하십시오. 따라서 MSAL 흐름에 문제가 있으면 이슈를 열어주십시오.

Python

터미널에서 네이티브 REPL 시작

이제 터미널에서 REPL을 시작할 때 VS Code 네이티브 REPL을 시작할 수 있습니다. python.terminal.shellIntegration.enabledtrue로 설정하면 터미널의 Python REPL에 클릭 가능한 링크가 표시되어 터미널에서 직접 VS Code 네이티브 REPL을 열 수 있습니다.

구성 없는 디버그

새로운 구성 없는 디버그 기능의 일부로 이제 터미널에서 직접 Python 스크립트 또는 모듈을 설정 없이 디버깅할 수 있습니다! 자세한 내용과 문제 해결 팁은 이 기능에 대한 위키 페이지를 확인하세요.

테스트 검색 취소

테스트 탐색기 UI에서 테스트 검색을 트리거할 때 진행 중인 테스트 검색 호출을 취소할 수 있습니다. 검색 중에 새로고침 버튼을 대체하여 나타나는 취소 버튼을 사용하세요.

Screenshot that shows the Test Explorer, highlighting the Cancel button to cancel the test discovery.

구현으로 이동

Pylance에 **구현으로 이동** 지원이 추가되었습니다. 이를 통해 함수의 구현으로 더 빠르게 이동하거나 상속된 클래스를 작업할 때 특히 유용한 메서드를 직접 사용할 수 있습니다.

Screenshot that shows the Go to Implementation displayed via the context menu

AI 코드 동작: 기호 생성 (실험적)

Pylance 및 Copilot와 함께 기호를 생성하는 새로운 실험적인 AI 코드 동작이 있습니다. 이를 사용해 보려면 다음 설정을 활성화할 수 있습니다.

"python.analysis.aiCodeActions": {"generateSymbol": true}

그런 다음 새 기호, 예를 들어 클래스 또는 함수를 정의한 후 **Copilot으로 기호 생성** 코드 동작을 선택하고 Copilot이 구현을 처리하도록 할 수 있습니다! 원하는 경우 Pylance의 **기호 이동** 코드 동작을 활용하여 다른 파일로 이동할 수 있습니다.

GitHub Pull Requests 및 Issues

풀 요청 및 이슈를 작업하고, 생성하고, 관리할 수 있는 GitHub Pull Requests 확장 프로그램에 더 많은 진전이 있었습니다. 새로운 기능은 다음과 같습니다.

  • 오늘을 기준으로 상대적인 시간 범위를 지정하는 변수(`${today-7d}`)를 사용한 전역 풀 리퀘스트 쿼리입니다.
  • 주석에서 :<emoji-name>: 스타일 이모지가 지원됩니다.
  • 체크아웃되지 않은 풀 리퀘스트의 설명을 열 때 모든 최신이 아닌 주석이 주석 패널에 표시됩니다.

확장의 0.104.0 릴리스에 대한 변경 로그를 검토하여 다른 주요 내용을 알아보세요.

미리보기 기능

에이전트 모드 (실험적)

Copilot Edits에 대한 새로운 *에이전트 모드*를 개발해 왔습니다. 에이전트 모드에서는 Copilot이 작업 영역에서 관련 컨텍스트를 자동으로 검색하고, 파일을 편집하고, 오류를 확인하고, 터미널 명령을 실행하여(사용자 승인 하에) 작업을 처음부터 끝까지 완료할 수 있습니다.

Screenshot that shows agent mode in the Copilot Edits view.

몇 달 동안 사용해 온 현재 편집 모드와 에이전트 모드를 Copilot Edits 보기의 드롭다운으로 전환할 수 있습니다. 드롭다운을 보려면 chat.agent.enabled 설정을 활성화하세요. 오늘 VS Code Insiders에서 에이전트 모드를 사용할 수 있습니다. VS Code Stable 사용자에게 점진적으로 롤아웃할 예정입니다. Stable에서 설정이 표시되지 않으면 아직 활성화되지 않은 것입니다.

Screenshot of the agent mode setting in the Settings editor.

에이전트 모드에서 Copilot은 자율적으로 실행되지만 현재 작업 영역 내의 파일만 편집할 수 있습니다. 터미널 명령을 실행하려고 하면 명령을 표시하고 사용자가 검토하고 계속을 선택한 후에만 진행됩니다.

참고: Copilot Edits는 에이전트 모드에서 많은 채팅 요청을 사용할 수 있으므로 주기적으로 일시 중지하고 계속할지 묻습니다. 이 설정은 chat.agent.maxRequests으로 사용자 지정할 수 있습니다. Copilot 유료 사용자에게는 기본값이 15이고 Copilot 무료 사용자에게는 5입니다.

VS Code 설명서에서 Copilot Edits의 에이전트 모드에 대해 자세히 알아보세요.

에이전트식 코드베이스 검색 (미리 보기)

쿼리에 #codebase를 추가하면 Copilot Edits가 작업에 대한 관련 파일을 검색합니다. 파일 및 텍스트 검색, Git 리포지토리 상태, 디렉터리 읽기와 같은 추가 도구를 사용하여 관련 파일을 찾는 실험적인 지원을 추가했습니다. 이전에는 #codebase가 의미론적 검색만 수행했습니다.

github.copilot.chat.edits.codesearch.enabled으로 활성화할 수 있으며, 피드백을 공유해 주십시오.

VS Code Insiders의 Copilot Vision (미리 보기)

VS Code Insiders의 GitHub Copilot Chat 미리 보기 버전에 엔드투엔드 비전 지원을 도입합니다. 이를 통해 Copilot Chat 프롬프트에 이미지를 첨부하고 이미지와 상호 작용할 수 있습니다. 예를 들어, 디버깅 중 오류가 발생하는 경우 VS Code 스크린샷을 빠르게 첨부하고 Copilot에게 문제를 해결하도록 요청할 수 있습니다.

Screenshot that shows an attached image in a Copilot Chat prompt. Hovering over the image shows a preview of it.

이제 여러 가지 방법으로 이미지를 첨부할 수 있습니다.

  • 운영 체제 또는 탐색기 보기에서 이미지를 드래그 앤 드롭합니다.
  • 클립보드에서 이미지를 붙여넣습니다.
  • VS Code 창 스크린샷 첨부 (첨부 > 스크린샷 창 선택)

선택한 모델이 현재 이미지를 처리할 수 없는 경우 경고가 표시됩니다. 현재 지원되는 모델은 GPT 4o뿐입니다. 현재 지원되는 이미지 유형은 JPEG/JPG, PNG, GIF, WEBP입니다.

재사용 가능한 프롬프트 (실험적)

이 기능을 통해 재사용 가능한 프롬프트를 빌드, 저장 및 공유할 수 있습니다. 프롬프트 파일은 Copilot Chat에서 프롬프트를 작성하는 데 사용되는 것과 동일한 형식의 .prompt.md Markdown 파일이며, 다른 파일 또는 다른 프롬프트에 연결할 수 있습니다. 작업별 지침, 코드 생성 지원 또는 나중에 사용할 전체 프롬프트를 유지하기 위해 프롬프트 파일을 첨부할 수 있습니다.

프롬프트 파일을 활성화하려면 chat.promptFilestrue로 설정하거나 { "/path/to/folder": boolean } 표기법을 사용하여 다른 경로를 지정하십시오. .github/prompts 폴더는 기본적으로 프롬프트 파일을 찾기 위해 사용됩니다(다른 경로가 지정되지 않은 경우 *.prompt.md).

VS Code 설명서에서 프롬프트 파일에 대해 자세히 알아보세요.

Linux의 사용자 지정 제목 표시줄 (실험적)

이번 마일스톤에서는 일부 Linux 사용자를 위해 사용자 지정 제목 표시줄을 활성화하는 실험을 시작합니다.

Screenshot that shows the custom VS Code title bar on Linux.

실험에 참여하지 않는 경우 window.titleBarStylecustom으로 수동 구성하여 사용해 볼 수 있습니다.

사용자 지정 제목 컨텍스트 메뉴에서 또는 window.titleBarStylenative로 구성하여 언제든지 기본 제목 장식으로 되돌릴 수 있습니다.

Screenshot that shows the content menu option to disable the custom title bar on Linux.

TypeScript 5.8 베타 지원

이 릴리스에는 TypeScript 5.8 베타 릴리스 지원이 포함됩니다. 이 릴리스에 포함된 내용에 대한 자세한 내용은 TypeScript 5.8 블로그 게시물을 확인하세요.

TypeScript 5.8 미리 보기 빌드를 사용하려면 TypeScript Nightly 확장을 설치하십시오. 피드백을 공유하고 TypeScript 5.8에서 발생하는 버그를 알려주세요.

더 많은 셸에 대한 터미널 완성

이전 버전에서 소개된 일반 터미널 완성 기능을 개선했습니다. 이 기능은 새로운 제안 API를 기반으로 합니다. terminal.integrated.suggest.enabled으로 활성화하면 새 완성 기능이 PowerShell에 대한 이전 내장 공급자를 대체하지만 이제 terminal.integrated.suggest.providers으로 사용자 지정할 수 있습니다.

이 릴리스의 주요 업데이트는 다음과 같습니다.

  • 편집기의 제안 위젯과 일치하도록 위젯 스타일링 및 구성을 향상했습니다.
  • 컨텍스트별 동작 및 정보를 제공하는 구성 가능한 상태 표시줄(terminal.integrated.suggest.showStatusBar)을 제공합니다.
  • 명령에 대한 인수 인식이 향상되었습니다. 포함되는 명령: code, code-insiders, cd, ls, rm, echo, mkdir, rmdir, touch.
  • 명령 또는 리소스 경로를 추가 세부 정보로 표시합니다.
  • ., .., ../../와 같은 디렉터리 탐색 바로가기를 지원합니다.
  • 스크린 리더 사용을 활성화했습니다.
  • $PATH에서 가져온 항목은 이제 실행 가능한 파일인 경우에만 표시됩니다. Windows에는 파일 메타데이터에 실행 가능한 비트 개념이 없으므로 확장 목록은 terminal.integrated.suggest.windowsExecutableExtensions으로 구성할 수 있습니다. 이들은 이제 사용 가능한 경우 곧 제공될 API를 사용하여 실제 셸 환경을 사용합니다.
  • 세부 정보 토글, ⌃Space (Windows, Linux Ctrl+Space) 및 제안 세부 정보 포커스 토글 ⌃⌥Space (Windows, Linux Ctrl+Alt+Space)에 대한 향상된 키보드 지원.
  • 모든 유형에 대한 제안이 이제 항상 표시되며, 편집기에서의 빠른 제안 작동 방식과 더 유사하게 정렬됩니다.
  • PowerShell별 전역 완성 기능(예: Get-ChildItem, Write-Host 등)이 이제 제안됩니다.

TypeScript를 위한 Tree-Sitter 기반 구문 강조 표시

많은 Textmate 문법이 더 이상 유지보수되지 않으므로 구문 강조 표시를 위해 Tree-Sitter 사용을 조사했습니다. TypeScript로 시작하여 팀이 자체 호스팅하고 피드백을 제공할 수 있도록 했습니다. editor.experimental.preferTreeSitter 설정을 사용하여 초기 미리 보기를 사용해 볼 수 있습니다.

확장 프로그램 작성

문서 붙여넣기 API

문서 붙여넣기 API를 통해 확장은 텍스트 문서에서 복사/붙여넣기 작업에 연결할 수 있습니다. 이 API를 사용하면 확장은

  • 복사 시 클립보드에 데이터를 씁니다. 여기에는 붙여넣을 때 가져올 수 있는 메타데이터를 쓰는 것이 포함됩니다.

  • 붙여넣기 시 붙여넣기 작업을 적용하는 사용자 지정 편집을 생성합니다. 이는 붙여넣는 텍스트 콘텐츠를 변경하거나 새 파일을 만드는 것과 같은 더 복잡한 작업 영역 편집을 수행할 수 있습니다.

  • 콘텐츠가 붙여넣어지는 여러 방법을 제공합니다. 사용자는 붙여넣기 컨트롤 또는 editor.pasteAs.preferences 설정을 사용하여 콘텐츠가 붙여넣어지는 방법을 선택할 수 있습니다.

VS Code는 문서 붙여넣기 API를 사용하여 JavaScript 및 TypeScript에 대한 가져오기 업데이트 및 URL을 붙여넣을 때 Markdown 링크 자동 생성과 같은 기능을 구현합니다.

문서 붙여넣기 API 사용을 시작하려면 문서 붙여넣기 확장 샘플을 확인하세요. 더 복잡한 예제를 보려면 내장 Markdown 확장이 이미지 파일을 붙여넣는 방식을 사용하여 Markdown 문서에 이미지를 삽입하는 방법을 확인하세요.

단순 파일 선택기에서 파일 openLabel 표시

OpenDialogOptionsopenLabel 속성이 이제 단순 파일 선택기(이전에만 지원되었던 시스템 파일 선택기 외에)에서 지원됩니다. 이를 통해 파일 선택기의 버튼에 사용자 지정 레이블을 제공할 수 있습니다.

파일 수준 주석 API

주석 API는 파일 수준 주석을 만들고 표시하는 것을 지원합니다. 파일 수준 주석은 파일의 첫 번째 줄 앞에 표시됩니다. 파일의 특정 줄이나 범위에 연결되지 않습니다. 파일 수준 주석을 표시하려면 주석의 rangeundefined로 설정하세요. 주석 범위 제공자에서 파일 수준 주석을 남기는 것을 지원하려면 CommentingRangeProviderenableFileComments 속성을 true로 설정하세요.

제안된 API

터미널 완성 공급자

이제 터미널 완성 공급자를 등록하고 이 GitHub 이슈에서 의견을 알려줄 수 있습니다.

이에 대한 예는 터미널 제안 확장 기능에서 찾을 수 있으며, 이 확장 기능은 terminal.integrated.suggest.enabled을 통해 활성화될 때 제안을 제공합니다.

터미널 셸 유형

확장은 현재 활성 셸 유형 정보에 액세스할 수 있습니다. shellType 필드는 TerminalState의 일부가 됩니다.

이 셸 유형 정보를 사용하여 필요한 셸별 작업을 수행하십시오.

엔지니어링

하우스키핑

12월 연간 하우스키핑 노력의 일환으로 모든 리포지토리의 GitHub 이슈 및 풀 리퀘스트를 정리하는 데 집중했습니다. 올해는 3,821개의 이슈 및 풀 리퀘스트를 순감하여 백로그를 관련성 있고 관리 가능하게 유지했습니다.

이슈 정리 가이드에 따라 오래된, 중복된, 더 이상 관련 없는 이슈를 검토하고 분류했습니다. 이는 효율적인 개발 워크플로우를 유지하고 사용자를 위한 Visual Studio Code 개선에 집중하는 데 도움이 됩니다.

커뮤니티의 지속적인 참여와 피드백에 감사드립니다. 여러분의 기여 덕분에 VS Code가 매일 더 나아지고 있습니다! 🚀

Chart that shows the trend of the number of open issues over the last years. The chart shows a steep decline each year during December, the housekeeping month.

TypeScript 작업 영역에서 파일 감시를 위한 리소스 최적화

대규모 TypeScript 작업 영역(수천 개의 TypeScript 파일 또는 프로젝트)에서 파일 감시의 오버헤드를 줄이기 위해 몇 가지 최적화가 수행되었습니다. 특히, 이러한 작업 영역을 열고 감시자를 초기화할 때 CPU 스파이크가 더 이상 발생하지 않거나 CPU 사용량이 빠르게 안정될 것입니다.

자세한 내용은 VS Code 이슈를 참조하세요.

주요 수정 사항

  • 160325 Ctrl+D를 누른 후 터미널 시작 실패 억제
  • 230438 코드 페이지 1125(cp866u) 지원
  • 238577 기본 창 크기 증가
  • 197377 launch.json 또는 tasks.json에서 workspaceFolder 변수 치환은 가상 파일 시스템에 URI를 사용해야 합니다.
  • 229857 focus comment on line 실행 후 a11y 보기가 비어 있음

감사합니다

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

이슈 추적

이슈 추적에 대한 기여

풀 리퀘스트

vscode 기여

vscode-eslint 기여

vscode-extension-samples 기여

vscode-js-debug 기여

vscode-jupyter 기여

vscode-loc 기여

vscode-prompt-tsx 기여

vscode-pull-request-github 기여

vscode-pylint 기여

vscode-python-debugger 기여

vscode-ripgrep 기여

vscode-test 기여

language-server-protocol 기여

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