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

2024년 11월 (버전 1.96)

업데이트 1.96.1: 이 업데이트는 이슈를 해결하고 GitHub Copilot 무료 플랜을 활성화합니다.

업데이트 1.96.2: 이 업데이트는 이슈를 해결합니다.

업데이트 1.96.3: 이 업데이트는 이슈를 해결합니다.

업데이트 1.96.4: 이 업데이트는 이슈를 해결합니다.

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


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

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

GitHub Copilot

GitHub Copilot 무료 플랜

새로운 GitHub Copilot 무료 티어를 발표하게 되어 기쁩니다. GitHub Copilot 무료 플랜에 가입하려면 GitHub 계정만 있으면 됩니다. 매월 초기화되는 일정 수의 완료 및 채팅 상호 작용을 사용할 수 있습니다.

VS Code 내에서 직접 가입할 수 있습니다. Copilot 설정 가이드의 단계를 따르세요.

Chat view shows the Copilot message and a button that enables you to sign in to use Copilot.

Copilot 무료 플랜 세부 정보 및 조건에 대해 자세히 알아보세요.

Copilot 편집

지난 마일스톤에서는 여러 파일을 한 번에 자연어를 사용하여 빠르게 편집할 수 있는 Copilot 편집(현재 미리보기)을 도입했습니다. 그 이후로 경험을 계속해서 개선해 왔습니다. 명령 센터의 Copilot 메뉴를 열고 Copilot 편집 열기를 선택하거나 을 트리거하여 Copilot 편집을 사용해 볼 수 있습니다.

진행률 및 편집 컨트롤

Copilot 편집은 여러 파일에 걸쳐 여러 변경을 수행할 수 있습니다. 이제 편집이 스트리밍될 때 진행 상황을 더 명확하게 볼 수 있습니다. 그리고 편집 오버레이 컨트롤을 사용하면 모든 변경 사항을 쉽게 순환하고 수락하거나 거부할 수 있습니다.

채팅 세션을 Copilot 편집으로 이동

채팅 보기를 사용하여 코드 변경에 대한 아이디어를 탐색할 수 있습니다. 개별 코드 블록을 적용하는 대신 이제 채팅 세션을 Copilot 편집으로 이동하여 세션의 모든 코드 제안을 적용할 수 있습니다.

Edit with Copilot showing for a chat exchange.

작업 세트 제안 파일

Copilot 편집에서 작업 세트는 Copilot 편집이 변경을 제안할 수 있는 파일을 결정합니다. 작업 세트에 관련 파일을 추가하는 데 도움이 되도록 Git 저장소의 경우 Copilot 편집은 이미 추가된 파일을 기반으로 추가 파일을 제안할 수 있습니다. 예를 들어 Copilot 편집은 이미 추가된 파일과 함께 자주 변경되는 파일을 제안합니다.

Copilot는 작업 세트의 **파일 추가** 버튼 옆에 제안된 파일을 표시합니다. **파일 추가**를 선택한 다음 **관련 파일**을 선택하여 제안된 파일 목록에서 선택할 수도 있습니다.

다시 시작 후 편집 세션 복원

이제 VS Code를 다시 시작해도 편집 세션이 완전히 복원됩니다. 여기에는 작업 세트, 수락 상태 및 모든 과거 편집 단계의 파일 상태가 포함됩니다.

탐색기, 검색 및 편집기에서 작업 세트로 추가

검색 보기의 검색 결과 및 탐색기 보기의 파일에 대한 새 **Copilot 편집에 파일 추가** 컨텍스트 메뉴 작업을 사용하여 파일을 Copilot 편집 작업 세트에 추가할 수 있습니다. 또한 편집기 컨텍스트 메뉴에서 텍스트 선택을 Copilot 편집에 연결할 수도 있습니다.

Add a file from the explorer view to Copilot Edits

Copilot로 디버깅

디버깅 구성은 특히 새 프로젝트나 언어를 다룰 때 까다로울 수 있습니다. 이번 마일스톤에서는 VS Code를 사용하여 프로그램 디버깅을 돕는 새 copilot-debug 터미널 명령을 도입했습니다. 일반적으로 실행하는 명령 앞에 copilot-debug를 접두사로 사용하여 사용할 수 있습니다. 예를 들어, 일반적으로 python foo.py 명령을 사용하여 프로그램을 실행하는 경우 이제 copilot-debug python foo.py를 실행하여 디버깅 세션을 시작할 수 있습니다.

프로그램이 종료된 후 프로그램을 다시 실행하거나 프로그램을 디버그하는 데 사용된 VS Code launch 구성을 보거나 저장하거나 다시 생성하는 옵션이 제공됩니다.

디버깅 세션 후 다시 실행, 다시 생성, 저장 또는 launch 구성 옵션을 보여주는 터미널. 테마: Codesong (vscode.dev에서 미리보기: vscode.dev)

작업 지원

copilot-debug/startDebugging 의도를 포함한 Copilot의 디버깅 기능은 이제 컴파일 단계가 필요한 코드의 경우 필요에 따라 preLaunchTask를 생성합니다. 이는 Rust 및 C++와 같은 컴파일 언어의 경우 종종 그렇습니다.

컨텍스트 추가

워크플로 중에 관련 정보를 쉽게 참조할 수 있도록 Copilot 채팅 및 Copilot 편집에 기호 및 폴더를 컨텍스트로 포함하는 새로운 방법을 추가했습니다.

기호

이제 개요 보기 또는 탐색기에서 채팅 보기로 기호를 드래그 앤 드롭하여 Copilot 채팅 및 Copilot 편집에 쉽게 추가할 수 있습니다.

채팅 입력에서 기호 완료 기능도 도입했습니다. # 뒤에 기호 이름을 입력하면 최근에 작업한 파일의 기호에 대한 제안이 표시됩니다.

프로젝트 전체에서 기호를 참조하려면 #sym을 사용하여 전역 기호 피커를 열 수 있습니다.

폴더

이제 탐색기, 탐색기, 또는 기타 보기에서 채팅 보기로 폴더를 드래그 앤 드롭하여 컨텍스트로 폴더를 추가할 수 있습니다.

폴더를 Copilot 편집으로 드래그하면 폴더 내의 모든 파일이 작업 세트에 포함됩니다.

Copilot 사용량 그래프

VS Code 확장 프로그램은 VS Code API를 사용하여 Copilot 기능을 기반으로 빌드할 수 있습니다. 이제 런타임 상태 보기에서 확장 프로그램의 Copilot 사용량 그래프를 볼 수 있습니다. 이 그래프는 지난 30일 동안 확장 프로그램에서 만든 채팅 요청 수를 보여줍니다.

Copilot usage graph in the Runtime Status view

커밋 메시지 생성을 위한 사용자 지정 지침

Copilot는 변경 사항을 기반으로 커밋 메시지를 생성하는 데 도움이 될 수 있습니다. 이번 마일스톤에서는 커밋 메시지 생성 시 사용자 지정 지침 지원을 추가했습니다. 예를 들어, 커밋 메시지가 특정 형식을 따라야 하는 경우 사용자 지정 지침에 설명할 수 있습니다.

github.copilot.chat.commitMessageGeneration.instructions 설정에서 사용자 지정 지침을 지정하거나 사용자 지정 지침이 포함된 작업 공간의 파일을 지정할 수 있습니다. 이러한 지침은 커밋 메시지 생성에 사용되는 프롬프트에 추가됩니다. 사용자 지정 지침 사용 방법에 대한 자세한 정보를 얻으세요.

인라인 채팅

이번 마일스톤에서는 인라인 채팅의 사용자 경험을 더욱 개선했습니다. 진행률 보고를 더 미묘하게 만들었고, 변경 사항이 스트리밍될 때 밑줄이 비활성화되었으며, 감지된 명령이 더 멋지게 렌더링되었습니다.

또한 가상 코드 감지를 계속 개선했으며, 이제 줄이 대부분 자연어인 경우 인라인 채팅으로 계속 진행할 수 있다는 힌트를 표시합니다. 이 기능은 편집기에 가상 코드를 입력하면 인라인 채팅에 대한 프롬프트로 사용됩니다. 을 눌러 이 흐름을 트리거할 수도 있습니다.

Inline Chat hint for a line that is dominated by natural language.

또한 빈 줄에 인라인 채팅 힌트가 나타나도록 하는 새롭고 실험적인 설정이 있습니다. 이 설정은 inlineChat.lineEmptyHint을 통해 활성화할 수 있습니다. 기본적으로 이 설정은 비활성화되어 있습니다.

터미널 채팅

터미널 인라인 채팅은 편집기 인라인 채팅과 훨씬 더 유사한 모양과 느낌을 제공하는 새로운 모습을 갖추었습니다.

Terminal inline chat looks a lot like editor chat now

기타 주목할 만한 개선 사항은 다음과 같습니다.

  • 위젯의 레이아웃과 위치가 개선되어 전반적으로 더 잘 작동합니다.
  • 모델 선택기가 있습니다.
  • 하단의 버튼이 더 일관성 있게 되었습니다.

@workspace에 대한 성능 개선

열려 있는 작업 공간에 대해 Copilot에 질문할 때 @workspace를 사용하면 먼저 작업 공간을 Copilot에 컨텍스트로 전달할 수 있는 관련 코드 조각 세트로 좁혀야 합니다. 작업 공간이 GitHub 저장소에 의해 지원되는 경우 GitHub 코드 검색을 사용하여 이러한 관련 코드 조각을 빠르게 찾을 수 있습니다. 그러나 코드 검색 인덱스는 저장소의 기본 분기를 추적하므로 로컬 변경 사항이나 분기에 있을 때는 이를 신뢰할 수 없었습니다.

이번 마일스톤에서는 GitHub 검색의 속도 이점을 분기 및 풀 요청에 적용하기 위해 노력했습니다. 이는 이제 저장소의 기본 분기를 기반으로 하는 원격 인덱스를 검색하고 로컬로 변경된 파일을 검색하는 것을 의미합니다. 그런 다음 이러한 결과를 병합하여 Copilot에 빠르고 최신 코드 조각 세트를 제공합니다. GitHub 코드 검색 및 활성화 방법에 대해 더 자세히 알아볼 수 있습니다.

접근성

코드 작업 접근성 신호

일부 코드 작업은 완료하는 데 시간이 오래 걸릴 수 있습니다. 예를 들어 이미지 대체 텍스트를 생성하기 위해 외부 서비스를 호출하는 빠른 수정입니다. 언제 트리거되었는지 또는 언제 완전히 적용되었는지 명확하지 않을 수 있습니다. 따라서 코드 작업이 트리거되거나 적용되었음을 나타내는 접근성 신호를 추가했습니다.

이러한 신호는 accessibility.signals.codeActionTriggeredaccessibility.signals.codeActionApplied 설정을 사용하여 활성화할 수 있습니다.

REPL에서 자동 초점 관리

REPL에서 작업할 때 접근성을 개선하기 위한 새 설정을 도입했습니다. accessibility.replEditor.autoFocusReplExecution을 사용하면 코드가 실행될 때마다 초점이 변경되지 않도록 (none), 입력란으로 이동하도록 (input), 또는 가장 최근에 실행된 셀로 이동하도록 (lastExecution) 지정할 수 있습니다. 기본적으로 초점은 입력란으로 이동합니다.

워크벤치

확장 프로그램 검색 결과 개선

확장 프로그램 보기에서 자유 형식 텍스트로 확장 프로그램을 검색할 때 설치된 확장 프로그램이 이제 검색 결과 상단에 표시됩니다. 이를 통해 마켓플레이스를 검색할 때 설치된 확장 프로그램을 더 쉽게 찾고 관리할 수 있습니다.

Installed extensions shown at top of search results.

확장 프로그램 보기에서 확장 프로그램 다운로드

이제 확장 프로그램 보기에서 확장 프로그램의 컨텍스트 메뉴에 있는 다운로드 작업을 사용하여 VS Code에서 직접 확장 프로그램을 다운로드할 수 있습니다. 이는 확장 프로그램을 설치하지 않고 다운로드하려는 경우 유용할 수 있습니다.

Context menu option to download an extension from the Extensions view.

확장 프로그램 디스크 공간

이제 확장 프로그램 편집기에서 확장 프로그램의 디스크 메모리 사용량을 볼 수 있습니다. 이를 통해 확장 프로그램이 차지하는 디스크 공간을 이해하는 데 도움이 될 수 있습니다.

Extension memory usage on disk shown in the Extensions view.

탐색기에서 찾기 개선

9월 릴리스에서는 이전에 사용할 수 없었던 전체 프로젝트에서 탐색기 파일을 찾는 기능을 도입했습니다. 그러나 이번 업데이트에서는 일시적으로 강조 표시 모드를 제거하고 특정 작업을 제한했습니다.

이번 릴리스에서는 강조 표시 모드를 다시 가져왔습니다. 이 기능은 작업 공간 전체에서 파일과 폴더를 쉽게 찾을 수 있도록 하며, 일치하는 결과는 더 나은 가시성을 위해 강조 표시됩니다. 또한 축소된 폴더에 시각적 표시기가 도입되어 숨겨진 일치 항목이 있는지 여부를 보여줍니다.

필터 토글은 계속 사용할 수 있어 일치하지 않는 항목을 숨겨 쿼리와 일치하는 파일 및 폴더에만 집중할 수 있습니다. 이전 릴리스에서 비활성화해야 했던 모든 컨텍스트 메뉴 작업도 다시 활성화했습니다.

또한 찾기 컨트롤을 사용할 때 사용자 경험을 개선했습니다. 파일 탐색기 상단으로 스크롤하면 검색 결과에 컨트롤이 가려지지 않도록 상단에 추가 공간이 생성됩니다.

The find control is rendered above the first file or folder in the explorer when scrolled to the top.

기본 및 보조 사이드 바 간에 보기 이동

이미 보기 컨테이너를 드래그 앤 드롭하거나 **보기 이동** 명령을 사용하여 다른 위치로 이동할 수 있었습니다. 이제 보기 컨테이너에서 직접 **이동** 컨텍스트 메뉴 작업을 사용하여 기본 사이드 바, 보조 사이드 바 또는 패널 영역 간에 이동할 수 있습니다.

제목 영역의 탐색 컨트롤 숨기기

일부 사용자는 제목 영역을 가능한 한 깔끔하게 유지하는 것을 선호합니다. 제목 영역의 뒤로/앞으로 버튼을 숨길 수 있는 새 설정 workbench.navigationControl.enabled를 추가했습니다.

또한 제목 영역을 마우스 오른쪽 버튼으로 클릭하고 **탐색 컨트롤**을 선택하여 이 설정에 액세스할 수 있습니다.

Navigation Controls context menu when right-clicking the VS Code title area.

편집기

붙여넣기 및 드롭 동작 구성

텍스트 편집기로 파일을 드래그 앤 드롭하거나 복사하여 붙여넣을 때 VS Code는 해당 파일을 삽입하는 여러 가지 방법을 제공합니다. 기본적으로 VS Code는 파일의 작업 공간 상대 경로를 삽입하려고 합니다. 이제 리소스가 삽입되는 방식을 전환하기 위해 드롭/붙여넣기 컨트롤을 사용할 수 있습니다. 확장 프로그램은 Markdown과 같이 사용자 지정 편집을 제공할 수도 있으며, Markdown 링크를 삽입하는 편집을 제공합니다.

새로운 editor.pasteAs.preferenceseditor.dropIntoEditor.preferences 설정을 사용하면 기본적으로 사용될 편집 유형에 대한 기본 설정을 지정할 수 있습니다. 예를 들어, 복사/붙여넣기가 항상 붙여넣은 파일의 절대 경로를 삽입하도록 하려면 다음과 같이 설정하세요.

"editor.pasteAs.preferences": [
    "uri.path.absolute"
]

이러한 설정은 편집 종류의 정렬된 목록입니다. 기본적으로 선호하는 종류의 첫 번째 일치 편집이 적용됩니다. 기본 편집이 적용된 후에도 드롭/붙여넣기 컨트롤을 사용하여 다른 유형의 편집으로 변경할 수 있습니다.

이러한 새 설정은 JavaScript 및 TypeScript의 새로운 가져오기 포함 복사 및 붙여넣기 지원과 잘 작동합니다. 이 기능은 JavaScript 또는 TypeScript 파일 간에 코드를 복사하고 붙여넣을 때 누락된 가져오기를 자동으로 추가합니다. 워크플로를 방해하지 않기 위해 기본적으로 붙여넣기는 일반 텍스트만 삽입하고 가져오기 포함 붙여넣기는 붙여넣기 컨트롤에서 옵션으로 제공됩니다. 그러나 VS Code가 항상 가져오기 포함 붙여넣기를 시도하도록 하려면 다음과 같이 설정하세요.

"editor.pasteAs.preferences": [
    "text.updateImports"
]

이제 VS Code는 가능한 경우 가져오기 포함 붙여넣기를 자동으로 시도하고, 가져오기 포함 붙여넣기 편집이 없는 경우 일반 텍스트 붙여넣기로 대체됩니다. 현재는 JavaScript 및 TypeScript에서만 작동하지만, 향후 다른 언어도 지원하기를 바랍니다.

마지막으로 editor.action.pasteAs 키 바인딩을 설정할 때 선호하는 붙여넣기 스타일도 지정할 수 있습니다. 아래 키 바인딩은 항상 가져오기를 붙여넣고 업데이트하려고 시도합니다.

{
  "key": "ctrl+shift+v",
  "command": "editor.action.pasteAs",
  "args": {
    "preferences": ["text.updateImports"]
  }
}

편집기 찾기 기록 유지

찾기 컨트롤은 이제 세션 간에 검색 기록을 유지하고 VS Code 다시 시작 시 복원할 수 있습니다. 검색 기록은 작업 공간별로 저장되며 editor.find.history 설정을 통해 비활성화할 수 있습니다.

오버타이프 모드

VS Code에서는 Vim 키맵을 설치하지 않는 한 편집기에서 텍스트를 덮어쓸 수 없다는 것을 알고 계셨나요? 많은 요청에 따라 이제 오버타이프 모드를 추가하여 입력할 때 텍스트를 삽입하는 대신 덮어쓰도록 했습니다. 예를 들어, Markdown 테이블을 편집할 때 테이블 셀 경계를 깔끔하게 정렬된 상태로 유지하려는 경우 유용한 시나리오입니다.

이 모드는 **보기: 오버타이프/삽입 모드 전환** 명령을 사용하거나 키보드의 Insert 키를 사용하여 전환할 수 있습니다. 오버타이프 모드일 때 상태 표시줄에 OVR 표시기가 표시됩니다.

editor.overtypeCursorStyle 설정을 사용하여 오버타이프 모드일 때 커서 스타일을 변경할 수 있습니다. 또한 오버타이프 모드에서 붙여넣을 때 덮어쓰거나 삽입할지 여부를 결정하는 editor.overtypeOnPaste 설정이 있습니다. 기본 동작은 붙여넣은 텍스트를 삽입하는 것입니다.

소스 제어

Git blame 정보 (실험적)

이번 마일스톤에서는 편집기 장식 및 상태 표시줄 항목을 사용하여 blame 정보를 표시하는 실험적 지원을 추가했습니다. 이 기능은 git.blame.editorDecoration.enabledgit.blame.statusBarItem.enabled 설정을 사용하여 활성화할 수 있습니다. blame 정보를 마우스로 가리키면 더 많은 커밋 세부 정보를 볼 수 있습니다.

편집기 및 상태 표시줄에 표시되는 메시지 형식을 git.blame.editorDecoration.templategit.blame.statusBarItem.template 설정을 사용하여 사용자 지정할 수 있습니다. 가장 일반적인 정보를 위해 변수를 사용할 수 있습니다. 예를 들어 다음 템플릿은 커밋 제목, 작성자 이름 및 현재 시간 기준 작성자 날짜를 표시합니다.

{
  "git.blame.editorDecoration.template": "${subject}, ${authorName} (${authorDateAgo})"
}

편집기 장식의 색상을 조정하려면 git.blame.editorDecorationForeground 테마 색상을 사용하세요.

이 실험 기능을 사용해보고 의견을 알려주세요.

소스 제어 그래프 제목 작업

사용자 피드백을 바탕으로 소스 제어 그래프 보기 제목 표시줄에 Pull 및 Push 작업을 다시 가져왔습니다. 이러한 작업은 현재 기록 항목 참조가 소스 제어 그래프에 표시되는 경우 활성화됩니다.

이러한 작업 또는 소스 제어 그래프 보기 제목 표시줄의 다른 작업을 사용하지 않으려면 제목 표시줄을 마우스 오른쪽 버튼으로 클릭하고 숨길 수 있습니다.

Source Control Graph title actions and context menu to hide specific items.

노트북

셀 간 선택 강조 표시

이제 노트북에서 선택 강조 표시가 지원되어 여러 셀에 걸쳐 텍스트 기반 선택을 할 수 있습니다. 이는 기존 editor.selectionHighlight 설정을 사용하여 제어됩니다.

여러 커서: 찾기 일치 항목 모두 선택

노트북은 이제 **찾기 일치 항목 모두 선택**의 바로 가기 키를 지원합니다. 이는 명령 ID notebook.selectAllFindMatches에서 찾을 수 있으며 기본적으로 ⇧⌘L (Windows, Linux Ctrl+Shift+L) 키 조합으로 사용할 수 있습니다.

Markdown용 섹션별 셀 실행

노트북에는 이제 Markdown 셀의 셀 도구 모음에 **섹션별 셀 실행** 작업이 노출됩니다. Markdown 셀에 헤더가 있는 경우 섹션에 포함된 모든 셀과 하위 섹션이 실행됩니다. 헤더가 없으면 가능한 경우 주변 섹션의 모든 셀이 실행됩니다.

셀 실행 시간 상세 표시

셀 상태 표시줄 내의 실행 시간 정보에는 이제 더 상세한 정보에 대한 옵션이 있습니다. 이 옵션은 notebook.cellExecutionTimeVerbosity 설정을 사용하여 켤 수 있으며, 기간 외에 실행 타임스탬프를 표시할 수 있습니다.

Verbose cell execution time within cell status bar.

터미널

글리프 지원

이제 터미널에서 GPU 가속 사용 여부에 관계없이 글리프가 지원됩니다. 이 기능은 terminal.integrated.fontLigatures 설정을 사용하여 켤 수 있습니다.

Fonts that support ligatures like ->, ==>, and so on will now visually look like single characters

이 기능을 사용하려면 글리프를 지원하는 글꼴을 사용해야 합니다. terminal.integrated.fontFamily.

터미널 탭을 사용자 지정하기 위한 새 변수

터미널 탭에 표시되는 텍스트는 terminal.integrated.tabs.titleterminal.integrated.tabs.description 설정에 의해 결정되며, 여러 변수를 사용할 수 있습니다. 이제 다음 새 변수를 지원합니다.

  • ${shellType} - 사용 중인 셸의 감지된 유형입니다. 기본값과 유사하지만, 예를 들어 git 명령을 실행할 때 git으로 변경되지 않습니다.

  • ${shellCommand} - 터미널에서 실행되는 명령입니다. 셸 통합이 필요합니다.

    alt text

  • ${shellPromptInput} - 터미널에서 실행되는 명령 또는 현재 감지된 프롬프트 입력입니다. 셸 통합이 필요합니다.

    Typing "echo hello" in the terminal will show "echo hello|" in the tab when configured

최근 명령 실행 시 기록 원본 파일 표시

Ctrl+Alt+R입니다.

alt text

이 명령의 기본 키 바인딩은 Ctrl+Alt+R입니다.

/path/to/file.ext, <line> 형식의 링크는 이제 터미널에서 링크로 감지됩니다.

테스트

속성별 커버리지

이번 마일스톤에서는 확장 프로그램이 테스트별로 커버리지를 제공할 수 있도록 하는 API를 최종 완료하여 어떤 코드가 특정 테스트에 의해 실행되었는지 정확히 확인할 수 있습니다. 속성별 커버리지를 사용할 수 있는 경우 테스트 커버리지 보기, 편집기 작업, 테스트 커버리지 도구 모음(테스트: 테스트 커버리지 도구 모음 명령으로 전환)에 필터 버튼이 있거나 단순히 테스트: 테스트별 커버리지 필터링 명령을 사용하여 사용할 수 있습니다.

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

인라인 실패 메시지 재작업

테스트 실패 메시지를 더 눈에 띄고 덜 거슬리도록 재작업했습니다. 이는 특히 SCM 또는 Copilot 편집의 diff와 같이 바쁜 시나리오에 유용합니다. 실패 메시지를 선택하면 여전히 피크 컨트롤을 열어 실패의 전체 세부 정보를 표시합니다.

Image of new test error messages in the editor.

연속 실행 UI 개선

이전에는 테스트 탐색기 보기의 "눈" 아이콘을 통해 전환할 수 있는 연속 테스트 실행의 전역 상태가 기본 실행 프로필 세트로 연속 실행을 켜거나 껐습니다.

연속 실행 UI를 재작업하여 프로필별로 개별적으로 연속 실행을 켜거나 끄는 드롭다운 메뉴를 포함했습니다. 표시기를 선택하면 마지막으로 사용한 실행 프로필 세트를 켜거나 끕니다.

언어

TypeScript 5.7

JavaScript 및 TypeScript 지원은 이제 TypeScript 5.7을 사용합니다. 이 주요 업데이트에는 여러 언어 및 도구 개선 사항과 중요한 버그 수정 및 성능 최적화가 포함됩니다.

TypeScript 5.7 릴리스에 대한 모든 내용은 TypeScript 블로그에서 확인할 수 있습니다. 또한 다음 섹션에 몇 가지 도구 하이라이트를 포함했습니다.

JavaScript 및 TypeScript용 가져오기 포함 붙여넣기

파일 간에 코드를 이동한 후 가져오기를 추가하는 데 지치셨나요? TypeScript 5.7+용 가져오기 포함 붙여넣기 기능을 사용해 보세요. 이제 JavaScript 또는 TypeScript 간에 코드를 복사하고 붙여넣을 때 VS Code가 붙여넣은 코드에 대한 가져오기를 추가할 수 있습니다.

가져오기뿐만 아니라 붙여넣은 코드에서 사용된 로컬 변수에 대한 새 내보내기가 추가된 것을 확인하세요!

이 기능이 엄청난 시간 절약이라고 생각하지만, 기존 워크플로를 방해하지 않도록 노력했습니다. 그렇기 때문에 기본적으로 복사 및 붙여넣기는 항상 붙여넣은 텍스트만 삽입하도록 유지했습니다. 가져오기 포함 붙여넣기 편집을 사용할 수 있는 경우 붙여넣기 컨트롤이 표시되어 가져오기 포함 붙여넣기 편집을 선택할 수 있습니다.

Paste control that shows options to insert plain text or paste with imports.

항상 가져오기 포함 붙여넣기를 선호하는 경우 새 editor.pasteAs.preferences 설정을 사용할 수 있습니다.

"editor.pasteAs.preferences": [
    "text.updateImports"
]

이렇게 하면 편집을 사용할 수 있는 경우 항상 가져오기 포함 붙여넣기를 시도합니다.

가능한 경우 가져오기 포함 붙여넣기를 위한 키 바인딩을 설정할 수도 있습니다.

{
  "key": "ctrl+shift+v",
  "command": "editor.action.pasteAs",
  "args": {
    "preferences": ["text.updateImports"]
  }
}

원하는 경우 반대로 가져오기 포함 붙여넣기를 기본값으로 설정하고 일반 텍스트로 붙여넣기 위한 키 바인딩을 추가할 수도 있습니다.

"editor.pasteAs.preferences": [
    "text.updateImports"
]
{
  "key": "ctrl+shift+v",
  "command": "editor.action.pasteAs",
  "args": {
    "preferences": ["text.plain"]
  }
}

마지막으로 가져오기 포함 붙여넣기를 완전히 비활성화하려면 typescript.updateImportsOnPaste.enabledjavascript.updateImportsOnPaste.enabled를 사용할 수 있습니다.

원격 개발

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

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

  • remote-ssh Copilot 채팅 참가자
  • 향상된 세션 로깅

원격 개발 릴리스 노트에서 이러한 기능에 대해 자세히 알아볼 수 있습니다.

엔터프라이즈 지원

허용된 확장 프로그램 구성

이제 extensions.allowed 설정을 사용하여 VS Code에 설치할 수 있는 확장 프로그램을 제어할 수 있습니다. 이 설정을 사용하면 게시자, 특정 확장 프로그램 및 버전을 기준으로 허용되거나 차단된 확장 프로그램을 지정할 수 있습니다. 확장 프로그램이나 버전이 차단되면 이미 설치된 경우 비활성화됩니다. 다음 유형의 확장 프로그램 선택기를 지정할 수 있습니다.

  • 모든 게시자의 확장 프로그램 허용 또는 차단
  • 특정 확장 프로그램 허용 또는 차단
  • 특정 확장 프로그램 버전 허용
  • 특정 확장 프로그램 버전 및 플랫폼 허용
  • 안정 버전 확장 프로그램만 허용
  • 게시자로부터 안정 버전 확장 프로그램만 허용

다음 JSON 스니펫은 다른 설정 값의 예시를 보여줍니다.

"extensions.allowed": {
    // Allow all extensions from the 'microsoft' publisher. If the key does not have a '.', it means it is a publisher ID.
    "microsoft": true,

    // Allow all extensions from the 'github' publisher
    "github": true,

    // Allow prettier extension
    "esbenp.prettier-vscode": true,

    // Do not allow docker extension
    "ms-azuretools.vscode-docker": false,

    // Allow only version 3.0.0 of the eslint extension
    "dbaeumer.vscode-eslint": ["3.0.0"],

    // Allow multiple versions of the figma extension
    "figma.figma-vscode-extension": ["3.0.0", "4.2.3", "4.1.2"],

    // Allow version 5.0.0 of the rust extension on Windows and macOS
    "rust-lang.rust-analyzer": ["5.0.0@win32-x64", "5.0.0@darwin-x64"],

    // Allow only stable versions of the GitHub Pull Requests extension
    "github.vscode-pull-request-github": "stable",

    // Allow only stable versions from redhat publisher
    "redhat": "stable"
}

게시자 ID로 게시자를 지정합니다. 키에 점(.)이 없으면 게시자 ID로 간주됩니다. 키에 점이 있으면 확장 프로그램 ID로 간주됩니다. 와일드카드 사용은 현재 지원되지 않습니다.

microsoft를 게시자 ID로 사용하여 다른 게시자 ID를 가질 수 있는 Microsoft에서 게시한 모든 확장 프로그램을 참조할 수 있습니다.

버전 범위는 지원되지 않습니다. 여러 버전의 확장 프로그램을 허용하려면 각 버전을 개별적으로 지정해야 합니다. 플랫폼별로 버전을 더 제한하려면 @ 기호를 사용하여 플랫폼을 지정합니다. 예를 들어 "rust-lang.rust-analyzer": ["5.0.0@win32-x64", "5.0.0@darwin-x64"]입니다. 자세한 내용은 엔터프라이즈 문서를 참조하세요.

관리자는 Windows에서 그룹 정책을 통해 이 설정을 구성할 수도 있습니다. 자세한 내용은 엔터프라이즈 문서의 Windows 그룹 정책 섹션을 참조하세요.

사전 설치된 확장 프로그램으로 VS Code 설정

사전 설치된 확장 프로그램 세트(부트스트랩)로 VS Code를 설정할 수 있습니다. 이 기능은 VS Code가 사전 설치되고 특정 확장 프로그램을 즉시 사용할 수 있는 머신 이미지, 가상 머신 또는 클라우드 워크스테이션을 준비하는 경우에 유용합니다.

참고: 확장 프로그램을 사전 설치하는 지원은 현재 Windows에서만 사용할 수 있습니다.

확장 프로그램을 부트스트랩하려면 다음 단계를 따르세요.

  1. VS Code 설치 디렉터리에 bootstrap\extensions 폴더를 만듭니다.

  2. 사전 설치하려는 확장 프로그램의 VSIX 파일을 다운로드하여 bootstrap\extensions 폴더에 넣습니다.

  3. 사용자가 VS Code를 처음 시작하면 bootstrap\extensions 폴더의 모든 확장 프로그램이 백그라운드에서 자동으로 설치됩니다.

사용자는 사전 설치된 확장 프로그램을 제거할 수 있습니다. 확장 프로그램을 제거한 후 VS Code를 다시 시작해도 확장 프로그램이 다시 설치되지 않습니다.

확장 프로그램 기여

Python

Python 환경 확장 프로그램

이번 릴리스에서는 Python 환경 확장을 소개합니다. 이제 마켓플레이스에서 미리보기로 사용할 수 있습니다.

이 확장 프로그램은 Python 환경 관리를 간소화하며, 환경을 생성, 삭제, 관리하는 UI와 패키지를 설치 및 제거하는 패키지 관리 기능을 제공합니다.

다양한 API를 통해 선호하는 환경 관리자와 원활하게 통합되도록 설계되었으며, 기본적으로 전역 Python 인터프리터, venv 및 Conda를 지원합니다. 개발자는 확장 프로그램을 빌드하여 좋아하는 Python 환경 관리자 지원을 추가하고 확장 프로그램 UI와 통합하여 기능 및 사용자 경험을 향상시킬 수 있습니다.

마켓플레이스에서 Python 환경을 다운로드하고 Python 확장 프로그램의 미리보기 버전과 함께 사용할 수 있습니다.

Python 테스트 개선

  • pytest의 --rootdir 인수는 작업 공간에 python.testing.cwd 설정이 있는지 여부에 따라 동적으로 조정됩니다.
  • 테스트 디버깅 세션을 다시 시작하면 지정된 테스트만 다시 실행됩니다.
  • 커버리지 지원이 NoSource 예외를 처리하도록 업데이트되었습니다.
  • pytest-describe 플러그인과 함께 UI에서 테스트 감지 및 실행이 지원됩니다.
  • 테스트 재작성 기능이 이제 IPC(프로세스 간 통신)에 UDS 대신 FIFO를 활용하여 사용자가 자체 테스트 설계에서 pytest_socket과 같은 pytest 플러그인을 활용할 수 있도록 합니다.
  • 재작성 기능 기본 상태 전환 임박: 이번 릴리스에서는 테스트 재작성 기능의 마지막으로 알려진 문제를 해결했습니다. 추가 문제가 발생하지 않는 한, 재작성 실험 기능은 비활성화되고 2025년 초에 재작성 기능이 기본값으로 설정될 예정입니다.

Python REPL 향상 기능

  • 네이티브 REPL로 스마트 전송 후 편집기에 포커스 유지
  • 네이티브 REPL 다시 로드 후 개선된 처리
  • VS Code 터미널에서 Python 3.13의 들여쓰기 오류 문제 수정

Pylance "전체" 언어 서버 모드

python.analysis.languageServerMode 설정이 이제 full 모드도 지원하여 Pylance의 전체 기능과 가장 포괄적인 IntelliSense 경험을 활용할 수 있습니다. 이 모드는 성능이 저하될 수 있으며, 특히 대규모 코드베이스에서 Pylance가 리소스를 많이 사용할 수 있다는 점에 유의해야 합니다.

python.analysis.languageServerMode 설정은 이제 light, default 또는 full로 설정되는지에 따라 다음 설정의 기본값을 변경합니다.

설정 light default full
python.analysis.exclude ["**"] [] []
python.analysis.useLibraryCodeForTypes false true true
python.analysis.enablePytestSupport false true true
python.analysis.indexing false true true
python.analysis.autoImportCompletions false false true
python.analysis.showOnlyDirectDependenciesInAutoImport false false true
python.analysis.packageIndexDepths [ { "name": "sklearn", "depth": 2 }, { "name": "matplotlib", "depth": 2 }, { "name": "scipy", "depth": 2 }, { "name": "django", "depth": 2 }, { "name": "flask", "depth": 2 }, { "name": "fastapi", "depth": 2 } ] [ { "name": "sklearn", "depth": 2 }, { "name": "matplotlib", "depth": 2 }, { "name": "scipy", "depth": 2 }, { "name": "django", "depth": 2 }, { "name": "flask", "depth": 2 }, { "name": "fastapi", "depth": 2 } ] { "name": "", "depth": 4, "includeAllSymbols": true }
python.analysis.regenerateStdLibIndices false false true
python.analysis.userFileIndexingLimit 2000 2000 -1
python.analysis.includeAliasesFromUserFiles false false true
python.analysis.functionReturnTypes false false true
python.analysis.pytestParameters false false true
python.analysis.supportRestructuredText false false true
python.analysis.supportDocstringTemplate false false true

TypeScript

TypeScript 확장 가능한 호버 (실험 기능)

이번 마일스톤에서는 TS 서버에서 확장/축소된 정보를 볼 수 있도록 했습니다. 확장 기능은 확장 가능한 호버 API를 사용하여 편집기 호버에 +- 마커를 표시하여 더 많거나 적은 정보를 표시합니다.

이 실험 기능 설정은 typescript.experimental.expandableHover를 사용하여 활성화할 수 있습니다. 이 설정이 작동하려면 TypeScript 버전 5.8 이상이어야 합니다. TypeScript: Select TypeScript Version... 명령을 사용하여 TypeScript 버전을 변경할 수 있습니다.

Microsoft 계정, 이제 MSAL 사용 (Windows에서는 WAM 지원)

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

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

An authentication popup that the OS shows over VS Code.

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

확장 프로그램 작성

@vscode/chat-extension-utils

몇 달 동안 확장 개발자가 GitHub Copilot과 통합할 수 있도록 채팅언어 모델 확장 API를 사용할 수 있었습니다. 그러나 LLM을 사용하고 고품질 채팅 확장을 구축하는 것은 특히 도구 호출을 활용하려는 경우 본질적으로 복잡합니다.

채팅 참가자를 쉽게 설정할 수 있도록 @vscode/chat-extension-utils라는 npm 패키지를 게시했습니다. 이 패키지는 직접 해야 했던 여러 작업을 대신 처리하므로 몇 줄의 코드로 채팅 참가자를 구현할 수 있습니다. 또한 이 패키지에는 @vscode/prompt-tsx와 함께 사용할 수 있는 유용하고 고품질의 요소 모음이 포함되어 있습니다.

전체 문서는 chat-extension-utils 리포지토리에서 확인할 수 있으며, 샘플 채팅 확장에서 작동하는 모습을 볼 수 있습니다. 또한 새로운 LanguageModelTool API 문서에서 사용 방법을 설명합니다.

속성별 커버리지 API

테스트 커버리지 API를 통해 확장은 테스트별 커버리지 정보를 제공할 수 있습니다. 이 API를 구현하려면 FileCoverageincludesTests?: TestItem[] 속성을 채워 해당 파일에서 실행된 코드가 있는 테스트를 나타내고, TestRunProfile.loadDetailedCoverageForTest를 구현하여 문장 및 선언 커버리지를 제공하십시오.

사용자에게 어떻게 보이는지에 대한 예는 위의 속성별 커버리지 섹션을 참조하십시오.

JavaScript 디버그 터미널에 기여

JavaScript 디버거에는 다른 확장이 JavaScript 디버그 터미널 생성에 참여할 수 있는 메커니즘이 있습니다. 이를 통해 Node.js 이외의 프레임워크 또는 런타임에서도 익숙한 환경에서 디버깅을 활성화할 수 있습니다. 자세한 내용은 JavaScript 디버거 문서를 참조하십시오.

Node.js fetch API에 대한 프록시 지원

전역 fetch 함수에 이제 프록시 지원이 포함됩니다 (http.fetchAdditionalSupport). 이는 이미 프록시 지원을 제공하는 https 모듈과 유사합니다.

미리보기 기능

코드 붙여넣기로 채팅 컨텍스트 첨부

이전에는 Copilot Chat에 파일을 컨텍스트로 첨부할 수 있었습니다. 컨텍스트에 대한 더 세밀한 제어를 위해 이제 코드 조각을 붙여넣어 채팅 컨텍스트로 첨부할 수 있습니다. 이렇게 하면 필요한 파일 정보와 해당 줄 번호가 추가됩니다. 현재 워크스페이스의 파일에서 가져온 코드만 붙여넣을 수 있습니다.

이를 사용해 보려면 코드를 복사하여 인라인 채팅, 빠른 채팅 또는 채팅 보기에 붙여넣으세요. 나타나는 붙여넣기 컨트롤을 선택하고 Pasted Code Attachment.를 선택합니다. 또는 editor.pasteAs.preferences 설정을 사용할 수 있습니다.

"editor.pasteAs.preferences": [
    "chat.attach.text"
]

Attaching code as context in Copilot Chat using the paste control.

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

이전 반복에서 pwsh에 대한 터미널 완성 기능의 실험적 지원을 추가했습니다. 이번 릴리스에서는 다른 셸로 확장 작업을 시작했습니다. 현재 bashzsh를 대상으로 하지만, 이 새로운 접근 방식은 확장 호스트 API에 의해 지원되므로 대부분의 셸에 대한 일반적인 지원을 제공할 계획입니다.

현재 진행 중인 작업을 사용해 보려면 terminal.integrated.suggest.enabledterminal.integrated.suggest.enableExtensionCompletions를 설정하십시오. 현재는 cd, codecode-insiders 인수만 지원됩니다.

The command  is typed on the terminal, which shows suggestions. Then  is typed and options are provided,  is selected. Completions are requested with ctrl+space and all locales are shown.  is typed and the list is filtered to  and .

제안된 API

빠른 선택에서의 제안 값 선택 API

InputBox의 경우 "값 선택"을 설정할 수 있어 입력의 일부 또는 전체를 프로그래밍 방식으로 선택할 수 있습니다. 이번 마일스톤에서는 QuickPick에서 값 선택을 위한 제안 API를 추가했습니다.

다음은 이것이 어떻게 보일지에 대한 예시입니다.

const qp = vscode.window.createQuickPick();
qp.value = '12345678';
qp.valueSelection = [4, 6];
qp.items = [
  { label: '12345678', description: 'desc 1' },
  { label: '12345678', description: 'desc 2' },
  { label: '12345678', description: 'desc 3' }
];
qp.show();

A couple of characters are selected in the quick pick's input box.

valueSelectionInQuickPick 제안을 사용해 보시고 이 GitHub 이슈에서 의견을 알려주세요!

네이티브 창 핸들 제안 API

이번 마일스톤에서는 포커스된 창의 네이티브 창 핸들을 검색하는 새로운 제안 API를 추가했습니다. 네이티브 창 핸들은 특정 창에 대한 포인터를 제공하는 OS 개념입니다. 예를 들어 네이티브 코드를 사용하고 있으며 창 위에 네이티브 대화 상자를 렌더링해야 하는 경우 유용합니다.

declare module 'vscode' {
  export namespace window {
    /**
     * Retrieves the native window handle of the current active window.
     * This will be updated when the active window changes.
     */
    export const nativeHandle: Uint8Array | undefined;
  }
}

이는 특히 Microsoft 인증의 MSAL 채택을 위해 추가되었으므로, OS가 VS Code 위에 인증 대화 상자를 렌더링할 수 있도록 네이티브 핸들을 OS에 전달할 수 있었습니다.

nativeWindowHandle 제안에 대한 사용 사례나 피드백이 있다면 이 GitHub 이슈에서 의견을 알려주세요!

엔지니어링

vscode-unpkg 서비스를 통한 확장 업데이트 최적화

Marketplace 인프라의 부하를 줄이기 위해 VS Code는 이제 vscode-unpkg 서비스의 새로 추가된 엔드포인트를 사용하여 확장 업데이트를 확인합니다. 이 서비스는 10분 TTL로 서버 측 캐싱을 구현하여 Marketplace에 대한 직접 요청 수를 크게 줄입니다. 이 최적화는 (기본적으로 활성화된) extensions.gallery.useUnpkgResourceApi 설정을 통해 제어됩니다.

확장 업데이트에 문제가 발생하는 경우 extensions.gallery.useUnpkgResourceApi를 비활성화하여 이 기능을 비활성화하고 직접 Marketplace 버전 확인으로 돌아갈 수 있습니다.

편집기에서 GPU 가속을 위한 기반 작업

편집기에서 GPU 가속을 활성화하기 위한 작업을 시작했음을 발표하게 되어 기쁩니다. 터미널과 유사합니다. 이 노력의 목표는 주로 입력 지연 시간을 줄이고 스크롤 성능을 개선하여 전반적인 코딩 경험을 향상시키는 것입니다.

아직 초기 단계이며 테스트할 준비는 되지 않았지만, 진행 상황에 대한 몇 가지 세부 정보를 공유하고 싶었습니다.

  • GPU 렌더러는 백그라운드에서 WebGPU를 사용합니다.
  • 현재 성능보다는 기능적 일관성과 정확성에 중점을 두고 있습니다.
  • GPU 가속이 활성화된 경우, GPU 가속이 완전히 지원되지 않을 때 줄이 DOM 렌더링으로 "폴백"할 수 있는 폴백 메커니즘이 있습니다. 이는 초기에 자체 호스팅할 수 있으며 현재 호환되지 않는 줄은 DOM 접근 방식을 사용하여 표시됩니다. 현재 폴백되는 줄의 몇 가지 예: 200자 이상의 줄, 특정 모나코 장식이 있는 줄(예: 사용되지 않는 변수 페이드), 줄 바꿈 줄 등
  • 문자가 포함된 실제 요소를 스타일링할 수 있는 모나코의 인라인 장식은 이 기능에 큰 도전 과제였습니다. 왜냐하면 CSS를 사용하여 스타일링되기 때문입니다. API를 변경하거나 중단하지 않고 대부분의 인라인 장식을 지원하기 위해 사용하는 접근 방식은 이러한 장식에 첨부된 CSS를 감지한 다음 일반적인 CSS 속성의 하위 집합을 지원하고 모든 스타일이 지원되지 않으면 폴백하는 것입니다.

기능이 작동하는 모습의 스크린샷입니다. 여백의 노란색 줄은 어떤 줄이 폴백 렌더링을 사용하고 있는지 알려줍니다. 이 특정 사례는 dontShow 매개변수에 인라인 장식이 사용되지 않는 상태로 있기 때문에 폴백 렌더링을 사용합니다.

GPU rendering looks mostly the same as DOM rendering currently, a yellow line appears for lines rendered via the DOM

이 작업과 관련된 문제는 #221145이며, 진행 상황에 대한 빈번한 업데이트와 더 자세한 정보를 제공합니다.

macOS 10.15 지원 종료 경고

VS Code 데스크톱은 다음 몇 가지 마일스톤에서 Electron 33으로 업데이트될 예정입니다. Electron 33 업데이트로 인해 VS Code 데스크톱은 더 이상 macOS Catalina에서 실행되지 않습니다. 이번 마일스톤에서는 해당 플랫폼 사용자에게 마이그레이션을 준비할 수 있도록 지원 종료 알림을 추가했습니다. 이전 OS 버전을 사용하는 경우 당사 FAQ를 참조하여 추가 정보를 확인하시기 바랍니다.

주요 수정 사항

  • 233915 확장 보기에서 확장 메뉴의 링크 복사 작업을 사용하여 다른 사람과 확장을 공유합니다.
  • 231542 EBUSY 오류로 인해 파일을 저장하지 못하거나 파일 데이터가 삭제되는 경우가 자주 발생합니다.
  • 233304 1.95에서 onDidChangeCheckboxState가 작동하지 않습니다.
  • 232263 프로세스 간 호출을 일괄 처리하도록 트리 보기 최적화
  • 156723 Wayland에서 실행 시 드래그 앤 드롭 지원 수정

감사합니다

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

이슈 추적

이슈 추적에 대한 기여

풀 리퀘스트

vscode 기여

vscode-emmet-helper에 대한 기여

vscode-eslint 기여

vscode-extension-samples 기여

vscode-extension-telemetry에 대한 기여

vscode-hexeditor에 기여

vscode-json-languageservice 기여

vscode-jupyter 기여

vscode-mypy에 대한 기여

vscode-python-debugger 기여

vscode-python-tools-extension-template에 대한 기여

vscode-test-web에 대한 기여

  • @Cecil0o0 (hj): VS Code 메인 기능이 npm으로 다시 이전되었으므로 이를 처리할 수 있습니다. PR #148

inno-updater에 대한 기여

language-server-protocol 기여

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