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

2024년 10월 (버전 1.95)

보안 업데이트: 다음 확장 프로그램에 보안 업데이트가 적용되었습니다: ms-python.pythonms-vscode-remote.remote-ssh.

업데이트 1.95.1: 해당 업데이트는 다음 이슈들을 해결합니다.

업데이트 1.95.2: 해당 업데이트는 다음 이슈들을 해결합니다.

업데이트 1.95.3: 해당 업데이트는 다음 이슈들을 해결합니다.

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


Visual Studio Code 2024년 10월 릴리스에 오신 것을 환영합니다. 이번 버전에는 많은 업데이트가 포함되어 있으며, 주요 내용은 다음과 같습니다.

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

GitHub Copilot

Copilot 기능은 일반적으로 설정을 통해 활성화 및 구성되는 다양한 초기 액세스 단계를 거칠 수 있습니다.

  • 실험 - 실험 기능 보기 (@tag:experimental)

    이 설정은 활발하게 개발 중이며 불안정할 수 있는 새로운 기능을 제어합니다. 변경되거나 제거될 수 있습니다.

  • 미리 보기 - 미리 보기 기능 보기 (@tag:preview)

    이 설정은 아직 개선 중이지만 사용할 준비가 된 새로운 기능을 제어합니다. 피드백을 환영합니다.

Copilot Edits로 코드 편집 세션 시작

Copilot Edits는 현재 미리 보기 상태입니다.

설정: github.copilot.chat.edits.enabled

Copilot Edits를 사용하면 코드를 편집하는 AI 기반 세션을 시작하여 코드 변경 사항을 빠르게 반복 작업할 수 있습니다. 프롬프트를 기반으로 Copilot Edits는 작업 공간의 여러 파일에 걸쳐 코드 변경 사항을 제안합니다. 이러한 편집 내용은 편집기에 직접 적용되므로 주변 코드의 전체 컨텍스트를 통해 인플레이스에서 빠르게 검토할 수 있습니다.

Copilot Edits는 여러 파일에 걸쳐 대규모 변경 사항을 반복 작업하는 데 탁월합니다. Copilot Chat의 대화 흐름과 인라인 채팅의 빠른 피드백을 하나의 경험으로 통합합니다. 인라인 코드 제안의 이점을 누리면서 사이드에서 지속적인 다중 턴 채팅 대화를 진행할 수 있습니다.

단 세 단계로 Copilot Edits 시작하기

  1. 채팅 메뉴에서 Copilot Edits 열기를 선택하거나 단축키를 눌러 편집 세션을 시작합니다.

    Screenshot showing the Copilot menu in the Command Center, highlighting the Open Edit Session item

  2. 작업하려는 파일을 Copilot에 알리기 위해 관련 파일을 *작업 세트*에 추가합니다.

  3. 수행하려는 편집에 대해 Copilot에 알리는 프롬프트를 입력합니다! 예를 들어, 모든 페이지에 간단한 네비게이션 바를 추가하세요 또는 jest 대신 vitest를 사용하세요.

문서에서 Copilot Edits에 대한 자세한 내용을 확인하세요. 지금 바로 사용해보고 이슈를 통해 피드백을 제공해주세요!

보조 사이드바의 채팅

채팅 보기가 기본적으로 표시되는 새로운 위치는 보조 사이드바입니다. 보조 사이드바를 사용하면 파일 탐색기 또는 소스 제어와 같이 다른 보기를 사용할 수 있으면서도 언제든지 채팅을 열어 둘 수 있습니다. 이를 통해 VS Code에서 보다 통합된 AI 환경을 제공합니다. ⌃⌘I (Windows, Linux Ctrl+Alt+I) 키보드 단축키를 사용하여 채팅으로 빠르게 이동할 수 있습니다.

Chat view in its new location after having moved.

명령 센터 옆에 새로 생긴 채팅 메뉴를 사용하면 보조 사이드바와 채팅을 클릭 한 번으로 가져올 수 있습니다.

채팅 메뉴는 Copilot Chat의 가장 일반적인 작업에 액세스할 수 있도록 합니다. 이 메뉴를 숨기려면 새 설정 chat.commandCenter.enabled이 제공됩니다.

Chat menu in the Command Center.

참고: 이전에 GitHub Copilot을 설치한 경우, 채팅을 이전 위치로 복원할 수 있는 보기(이전 위치가 더 편리한 경우)가 표시됩니다.

Chat view in its old location showing that Chat has moved to the Secondary Side Bar.

Copilot 코드 검토

Copilot 코드 검토는 현재 미리 보기 상태입니다.

Visual Studio Code의 GitHub Copilot 코드 검토를 사용하면 코드를 작성하면서 AI 기반의 빠른 피드백을 받거나 푸시하기 전에 모든 변경 사항에 대한 검토를 요청할 수 있습니다. Visual Studio Code의 GitHub Copilot 코드 검토는 현재 미리 보기 상태입니다. 사용해보고 이슈를 통해 피드백을 제공하세요.

VS Code에서 Copilot 코드 검토를 사용하는 두 가지 방법이 있습니다.

  • 선택 항목 검토: 빠른 검토를 위해 편집기에서 코드를 선택한 다음 편집기 컨텍스트 메뉴에서 Copilot > 검토 및 의견을 선택하거나 명령 팔레트에서 GitHub Copilot: 검토 및 의견 명령을 사용합니다. (이 기능은 미리 보기 상태입니다.)

  • 변경 사항 검토: 커밋되지 않은 모든 변경 사항에 대한 심층 검토를 위해 소스 제어 보기에서 Copilot 코드 검토 버튼을 선택합니다. GitHub.com의 풀 요청에서도 이 작업을 수행할 수 있습니다. (모든 Copilot 구독자에게 제공되는 대기자 명단에 참여하세요.)

    Request review of uncommitted changes

Copilot의 피드백은 편집기의 주석으로 표시되며 코드 줄에 연결됩니다. 가능한 경우 주석에는 한 번의 작업으로 적용할 수 있는 실행 가능한 코드 제안이 포함됩니다.

Screenshot showing a comment reviewing a code selection

Copilot 코드 검토에 대해 자세히 알아보려면 GitHub 코드 검토 문서로 이동하세요.

Copilot의 코드 선택 항목에 대한 빠른 검토는 팀 또는 프로젝트의 특정 관행과 일치하는 피드백을 제공할 수 있습니다. 이는 올바른 컨텍스트를 제공한다는 가정 하에 이루어집니다. 사용자 지정 검토 지침이 있는 선택 항목을 검토할 때 github.copilot.chat.reviewSelection.instructions 설정을 통해 해당 특정 요구 사항을 정의할 수 있습니다. 코드 생성 및 테스트 생성 지침과 유사하게 설정에 직접 지침을 정의하거나 별도의 파일에 저장하고 설정에서 참조할 수 있습니다.

다음 코드 조각은 검토 지침의 예입니다.

  "github.copilot.chat.reviewSelection.instructions": [
    {
      "text": "Logging should be done with the Log4j ."
    },
    {
      "text": "Always use the Polly library for fault-handling."
    },
    {
      "file": "code-style.md" // import instructions from file `code-style.md`
    }
  ],

code-style.md 파일 내용의 예

Private fields should start with an underscore.

A file can only contain one class declaration.

자동 채팅 참가자 감지

설정: chat.experimental.detectParticipant.enabled

GitHub Copilot에는 @workspace와 같은 몇 가지 내장 채팅 참가자가 있으며, 다른 확장 프로그램에서 채팅 참가자를 제공할 수도 있습니다.

자연어와 함께 채팅 참가자를 더 쉽게 사용하기 위해 Copilot Chat은 가능한 경우 질문을 적절한 참가자 또는 채팅 명령으로 자동 라우팅합니다.

자동으로 선택된 참가자가 질문에 적합하지 않은 경우, 채팅 응답 상단의 다시 실행 링크를 선택하여 Copilot에 질문을 다시 보낼 수 있습니다.

Screenshot of Chat view that shows how the '@workspace' participant is automatically detected.

이번 달에는 요청별로 이 감지 동작을 건너뛸 수 있는 동작도 추가되었습니다. 채팅 프롬프트를 입력할 때 기본 동작은 참가자 감지를 포함하는 보내기 및 디스패치입니다. 보내기를 선택하면 요청이 Copilot Chat으로 직접 전송되며 채팅 참가자로 자동 디스패치되지 않습니다.

The list of available "send" commands in the chat view.

chat.experimental.detectParticipant.enabled 설정을 사용하여 자동 참가자 감지를 완전히 비활성화할 수도 있습니다.

현재 편집기 컨텍스트 제어

Copilot Chat은 항상 현재 선택 또는 현재 보이는 코드를 채팅 요청의 컨텍스트로 자동 포함했습니다. 대규모 언어 모델(LLM)은 일반적으로 컨텍스트 조각이 관련 있는지 여부를 잘 이해합니다. 하지만 때로는 현재 편집기에 관한 것이 아닌 질문을 할 때 이 컨텍스트를 포함하면 모델이 질문을 해석하는 방식에 영향을 미칠 수 있습니다.

이제 채팅 입력에 특별한 첨부 파일 제어가 표시되어 편집기 컨텍스트에 대한 힌트를 제공하며 편집기 컨텍스트를 포함할지 여부를 전환할 수 있습니다.

The current editor context control in the chat input, which shows that the context is not included.

편집기 컨텍스트의 동작에는 변경 사항이 없습니다. 활성 편집기에 선택 항목이 있는 경우 선택 항목만 포함됩니다. 그렇지 않은 경우 스크롤된 코드가 포함됩니다. 클립 버튼을 사용하거나 채팅 프롬프트에 #을 입력하여 다른 파일이나 전체 파일을 계속 첨부할 수 있습니다.

Copilot Chat의 일반적인 사용 사례는 작업 공간의 코드에 대해 질문하는 것입니다. 예를 들어, 선택한 코드에 대한 새 단위 테스트를 생성하기 위해 /tests를 사용하거나 프로젝트에서 특정 클래스 또는 함수를 찾기 위해 @workspace에 묻는 것과 같습니다. 이번 마일스톤에서는 Copilot이 채팅 응답에서 언급하는 모든 작업 공간 기호에 대해 향상된 링크를 추가했습니다. 이러한 기호 링크는 Copilot 응답을 더 잘 이해하고 사용된 기호에 대해 더 많이 배울 수 있도록 도와줍니다.

기호 링크는 이전 마일스톤에서 추가한 파일 링크와 같이 응답에서 작은 알약으로 렌더링됩니다. 기호에 대해 자세히 알아보려면 기호 링크를 선택하여 해당 기호의 정의로 이동하세요.

기호 링크에 마우스를 올리면 기호가 정의된 파일을 볼 수 있습니다.

Hovering over a symbol link to see the file it's defined in.

기호를 더 자세히 탐색하려면 기호 링크를 마우스 오른쪽 버튼으로 클릭하여 구현으로 이동참조로 이동과 같은 옵션이 포함된 컨텍스트 메뉴를 표시합니다.

Using the context menu on a symbol link to learn more about a symbol.

기본 기호 링크는 정의로 이동을 지원하는 모든 언어에 대해 작동합니다. 구현으로 이동과 같은 고급 IntelliSense 옵션에는 해당 언어에 대한 지원도 필요합니다. Copilot 응답에서 사용되는 모든 프로그래밍 언어에 대해 최상의 기호 지원을 받으려면 언어 확장을 설치했는지 확인하세요.

문제에서 Copilot 작업 사용하여 수정

편집기에서 문제에 마우스를 올리면 Copilot을 사용하여 문제를 수정하는 작업이 포함됩니다. 이 작업은 수정 사항이 있고 Copilot에서 생성된 수정 사항이 있는 문제에 사용할 수 있습니다.

The Problem hover showing a Fix using Copilot action.

작업 공간 인덱싱

@workspace를 사용하면 현재 프로젝트의 코드에 대해 질문할 수 있습니다. 이는 GitHub의 코드 검색 또는 VS Code가 구성하는 스마트 로컬 인덱스를 사용하여 구현됩니다. 이번 마일스톤에서는 이 작업 공간 인덱스가 어떻게 사용되는지 이해할 수 있는 UI 요소를 몇 가지 더 추가했습니다.

첫째, 새로운 GitHub Copilot: 로컬 작업 공간 인덱스 빌드 명령을 사용하면 현재 작업 공간의 인덱싱을 명시적으로 시작할 수 있습니다. 이 인덱싱은 일반적으로 @workspace 질문을 처음 할 때 자동으로 시작됩니다. 새 명령을 사용하면 대신 언제든지 인덱싱을 시작할 수 있습니다. 이 명령은 더 큰 작업 공간의 인덱싱도 활성화하며, 현재 최대 2000개의 파일(node_modules 또는 out 디렉토리와 같은 무시된 파일 제외)을 처리합니다.

인덱스가 빌드되는 동안 상태 표시줄에 진행률 항목이 표시됩니다.

A status bar item showing the progress of indexing the current workspace.

수백 개의 파일이 있는 작업 공간의 인덱싱은 시간이 다소 걸릴 수 있습니다. 인덱싱이 구성되는 동안 @workspace 질문을 하려고 하면 기다리는 대신 Copilot은 더 빠르게 빌드할 수 있는 더 간단한 로컬 인덱스를 사용하여 신속하게 응답하려고 합니다. 이 경우 응답에 경고가 표시됩니다.

A warning showing on a response telling the user the Copilot index is being constructed.

이 경우에도 더 간단한 로컬 인덱스를 사용했음에도 Copilot이 질문에 답할 수 있었다는 점에 유의하세요. 스마트 인덱스가 구성된 후에만 답변할 수 있는 더 모호하거나 복잡한 질문이 있을 수 있지만, 이는 종종 그렇습니다. 또한 작업 공간이 GitHub 리포지토리에 의해 백업되는 경우, GitHub의 코드 검색을 사용하여 질문에 답할 수 있다는 점도 유의하세요. 즉, 더 간단한 로컬 인덱스 대신 코드 검색이 사용됩니다.

채팅 후속 개선

설정: github.copilot.chat.followUps

채팅 보기에서 채팅 대화를 위한 공간을 더 확보하기 위해 후속 프롬프트를 더 간결하게 만들었으며, 기본적으로 첫 번째 턴에만 표시됩니다. 후속 프롬프트가 표시되는 시점을 변경하려면 github.copilot.chat.followUps 설정을 구성하세요.

  • firstOnly (기본값) - 후속 프롬프트는 첫 번째 턴에만 표시됩니다.
  • always - 후속 프롬프트는 항상 표시됩니다.
  • never - 후속 프롬프트를 비활성화합니다.

의미론적 검색에서 관련성 순으로 정렬 (실험)

설정: github.copilot.chat.search.semanticTextResults

지난 마일스톤에서 쿼리와 의미론적으로 관련된 검색 결과를 얻기 위해 Copilot을 사용한 의미론적 검색 기능을 도입했습니다. 이제 검색 결과를 관련성 순으로 정렬하여 개선했습니다. 더 관련성 높은 스니펫의 키워드 일치가 전체적으로 더 관련성이 높은 것으로 간주됩니다.

워크벤치

여러 GitHub 계정

지난달 기능이 기본 동작으로 승격되어 VS Code에서 동시에 여러 GitHub 계정에 로그인할 수 있습니다.

Multiple GitHub Accounts in the Account menu.

여러 계정이 필요할 수 있는 몇 가지 시나리오는 다음과 같습니다.

  • 설정 동기화에는 Account1을, GitHub Pull Request 확장 프로그램에는 Account2를 사용합니다.
  • GitHub 확장 프로그램(푸시용)에는 Account1을, GitHub Copilot에는 Account2를 사용합니다.

이 기능을 사용하려면 로그인 작업(설정 동기화와 같은 내장 기능 또는 확장 프로그램을 사용)을 트리거하기만 하면 다른 계정에 로그인할 옵션이 제공됩니다. 이 기능은 계정 기본 설정 빠른 선택과도 잘 어울리므로 나중에 선택한 계정을 변경해야 하는 경우 사용할 수 있습니다.

대부분의 경우 기존 확장 프로그램은 계속 작동해야 하지만, 일부 동작은 아직 이 다중 계정 환경과 완벽하게 호환되지 않을 수 있습니다. 개선할 여지가 있다고 생각되면 해당 확장 프로그램에 이슈를 개시하십시오. 비교적 새로운 vscode.authentication.getAccounts('github') API의 도움으로 확장 프로그램은 여러 계정을 처리할 수 있는 많은 기능을 갖추고 있습니다.

계정 기본 설정 변경 시 추가 계정 추가

지난달에는 필요한 경우 확장 프로그램에 대한 기본 계정을 변경하는 데 유용한 계정 기본 설정 빠른 선택을 도입했습니다.

받은 피드백 중 하나는 아직 로그인하지 않은 계정을 쉽게 추가할 수 있는 방법에 대한 것이었습니다. 이번 마일스톤에서는 빠른 선택에 새로운 항목을 도입하여 바로 그렇게 할 수 있습니다. 새 계정 사용... 항목을 사용하여 인증 흐름을 시작하고 한 번에 해당 계정으로 계정 기본 설정을 지정합니다.

Use a new account option in the account preference Quick Pick.

실험 및 미리 보기 설정에 대한 설정 편집기 표시기

이전에는 설정 편집기에서 어떤 설정이 실험 또는 미리 보기인지 항상 명확하지 않았습니다. 실험적이고 곧 출시될 기능을 강조 표시하기 위해 설정 편집기에서 이제 실험 및 미리 보기 설정 옆에 표시기가 표시됩니다. 설정 편집기 검색 상자에 @tag:experimental 또는 @tag:preview를 입력하여 해당 설정을 필터링할 수 있습니다.

확장 프로그램 작성자는 설정에 "experimental" 또는 "preview" 태그를 추가하여 설정 편집기에 해당 표시기를 표시할 수 있습니다.

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

프로필에 대한 더 많은 아이콘

이번 마일스톤에서는 프로필에 대한 아이콘을 더 추가했습니다. 이제 프로필을 사용자 지정하기 위해 더 넓은 범위의 아이콘을 선택할 수 있습니다.

Image showing all available profile icons, highlighting the newly added icons.

패널에서 보기 아이콘 보기

워크벤치 패널 영역에서는 일반적으로 보기 제목 표시줄에 레이블로 표시됩니다(예: TERMINAL 또는 OUTPUT). 그러나 작은 화면에서는 이러한 레이블이 사용 가능한 공간을 초과하여 일부 보기가 드롭다운 메뉴로 오버플로우될 수 있습니다.

이를 해결하기 위해 새 설정 workbench.panel.showLabels을 추가했습니다. 이 설정이 비활성화되면 보기가 레이블 대신 아이콘으로 표시되어 가로 공간을 절약하고 오버플로우를 줄입니다.

workbench.panel.showLabels: true

Panel area showing the labels for each panel.

workbench.panel.showLabels: false

Panel area showing an icon for each panel and no label.

편집기

발생 횟수 강조 표시 지연

이번 마일스톤에서는 편집기에서 발생 횟수가 강조 표시되기 전의 지연 시간을 제어할 수 있는 editor.occurrencesHighlightDelay 설정을 도입했습니다. 이 지연 시간을 낮추면 의미론적 강조 표시를 사용할 때 편집기 경험이 더 반응성이 뛰어나게 느껴질 수 있습니다.

웹용 VS Code

웹용 VS Code, 로컬 파일 이벤트 지원

버전 129부터 Chrome 또는 Edge를 사용하는 경우, https://insiders.vscode.dev를 로컬 폴더로 열면 파일 이벤트를 지원합니다. 브라우저 외부에서 열린 작업 공간의 파일 및 폴더를 변경하면 이러한 변경 사항이 브라우저 내에서 즉시 반영됩니다.

이 기능은 웹을 위한 새로운 API로 제안되는 FileSystemObserver 인터페이스를 활용합니다.

확장 프로그램 기여

Copilot 확장 프로그램 쇼케이스

이번 마일스톤에서는 팀이 VS Code의 Copilot 확장 프로그램을 선보이는 여러 확장 프로그램을 개발했습니다. 이러한 확장 프로그램은 다음과 같은 기능을 시연합니다.

이러한 확장 프로그램을 사용해 보고 자신의 확장 프로그램에서 Copilot을 확장하는 방법을 알아보세요.

확장 프로그램 링크
GitHub 풀 요청 Marketplace
Copilot용 웹 검색 Marketplace, 소스 코드
Mermaid로 Copilot 다이어그램 생성 Marketplace
Copilot용 데이터 분석 Marketplace, 소스 코드
VS Code Commander Marketplace
Copilot 미리 보기용 비전 Marketplace

GitHub 풀 요청

GitHub Pull Requests 확장 프로그램의 버전 0.100.0은 Copilot 통합을 추가합니다.

  • 채팅 보기에서 @githubpr 채팅 참가자를 사용하여 이슈를 검색하고, 이슈/PR을 요약하며, 이슈에 대한 수정 사항을 제안할 수 있습니다. @githubpr은 이를 달성하기 위해 여러 언어 모델 도구를 사용합니다.
  • GitHub 알림을 표시하고 Copilot을 사용하여 우선순위를 지정하는 작업이 있는 새로운 알림 보기 또한 있습니다.

모든 것을 사용해 보려면 다음 설정을 구성할 수 있습니다.

Copilot을 사용한 이슈 검색

새로운 @githubpr 채팅 참가자는 GitHub에서 이슈를 검색할 수 있습니다.

Copilot issue search for most open bugs.

이슈를 표시할 때 @githubpr은 Markdown 표를 표시하고 검색에 따라 표시할 최상의 열을 선택하려고 합니다.

Copilot issue search for closed October issues.

Copilot을 사용한 요약 및 수정

이슈 보기의 각 이슈에는 이제 Copilot으로 요약이라는 새 작업이 있으며, 선택한 이슈를 요약하기 위해 채팅 패널을 엽니다. 또한 Copilot으로 수정이라는 다른 작업도 추가했습니다. 이 작업은 선택한 이슈를 요약하고 작업 공간 컨텍스트를 사용하여 수정 사항을 제안합니다.

Copilot을 사용한 알림 우선순위 지정 (실험)

이번 마일스톤에서는 리포지토리 전반의 읽지 않은 알림을 나열하는 실험적인 알림 보기를 추가했습니다. 기본적으로 알림은 가장 최근 업데이트 순으로 내림차순 정렬되지만, 보기 제목의 ... 메뉴에서 Copilot을 사용하여 우선순위로 정렬 작업을 사용하여 Copilot이 알림의 우선순위를 지정하도록 할 수 있습니다. 각 알림을 선택하면 Copilot을 사용하여 알림을 요약하는 작업이 트리거됩니다. 이 보기에는 알림을 읽음으로 표시하거나 GitHub.com에서 알림을 여는 쉽게 액세스할 수 있는 작업도 포함되어 있습니다.

Notifications View

Copilot용 웹 검색

이 확장 프로그램은 다음을 선보입니다.

  • 채팅 참가자 & 도구 API
  • prompt-tsx
  • GitHub Copilot에서 제공하는 언어 모델 활용 방법

소스 코드는 GitHub에서 여기에서 확인 가능합니다.

설명

Copilot에서 웹에서 가장 최신이고 관련성 높은 정보를 바로 얻으세요.

이는 두 가지 검색 엔진 중 하나로 구동되며, websearch.preferredEngine에 의해 구성됩니다.

  • Tavily (기본값)
  • Bing

사용자는 이 확장 프로그램을 사용하기 위해 이러한 서비스 중 하나에서 API 키를 발급받아야 합니다. 처음 사용 시 키를 묻고 VS Code의 내장 비밀 저장소를 사용하여 저장하며, GitHub 계정과 마찬가지로 VS Code의 인증 스택을 통해 관리할 수도 있습니다.

채팅 참여자

이 확장 프로그램은 @websearch 채팅 참가자를 제공하며, 이는 인터넷에서 실시간 정보가 필요한 질문을 처리할 수 있습니다. @websearch vscode에서 작업 공간 신뢰가 언제 출시되었나요?를 사용하여 수동으로 호출할 수 있습니다.

The question "when did Workspace Trust ship in vscode" and the answer showing the references and details.

채팅 도구

이 확장 프로그램은 #websearch 채팅 언어 모델 도구도 제공합니다. 이는 참가자와 유사하지만 다른 채팅 참가자에게 웹에서 컨텍스트를 제공하는 데 유용합니다. 예를 들어:

  • @workspace /new #websearch Python으로 작성된 새로운 웹 앱을 가장 인기 있는 프레임워크를 사용하여 생성합니다.

The question "create a new web app written in Python using the most popular framework" using the websearch variable with /new. The result is a project using Django.

또한, 자체 채팅 참가자 또는 도구를 작업하는 경우 vscode.lm.invokeTool API를 통해 이 채팅 도구를 소비할 수 있습니다.

Mermaid로 Copilot 다이어그램 생성

vscode-mermAId (vscode:extension/ms-vscode.copilot-mermaid-diagram) 확장 프로그램은 Mermaid(Markdown에서 영감을 받은 다이어그램 및 차트 도구)를 사용하여 코드의 시각화를 구축하고 수정하기 위해 GitHub Copilot에 새로운 채팅 참가자를 제공합니다.

다이어그램 생성 및 렌더링

채팅 대화를 통해 모든 유형의 Mermaid 지원 다이어그램을 생성하고 /iterate 슬래시 명령을 사용하여 다이어그램을 개선합니다. 특정 다이어그램에 대한 슬래시 명령을 사용할 수 있어 모델에 추가 지침을 제공합니다.

다이어그램을 구축하기 위해 수집된 참조를 다시 가리키는 링크가 일부 다이어그램 유형(예: 흐름)에 추가됩니다.

Mermaid 시각적 개요 보기

시각적 개요 보기를 열어 활성 편집기에서 동적으로 다이어그램을 생성합니다. 더 세밀한 제어를 위해 채팅으로 분기할 수 있습니다.

채팅 도구

이 확장 프로그램은 파일 또는 전체 작업 공간 내에서 기호 정보를 수집하는 도구를 제공하며, 이 확장 프로그램이 설치된 경우 다른 채팅 참가자가 사용할 수 있습니다.

Copilot용 데이터 분석

Copilot용 데이터 분석 확장 프로그램은 데이터 과학 분야의 사람들에게 힘을 실어줍니다. .csv 파일을 정리하는 것부터 다양한 통계 측정, 그래프 및 예측 모델을 활용하여 더 높은 수준의 데이터 분석을 수행하는 것까지, @data 채팅 참가자는 데이터 작업을 위한 맞춤형 인사이트와 상호 작용을 제공하여 더 진보되고 정보에 입각한 결정을 내리는 데 도움을 줍니다.

이 확장 프로그램은 LLM이 Pyodide를 사용하여 Python 코드를 실행하도록 요청하고 관련 Python 코드 실행 결과를 얻을 수 있는 도구를 제공합니다. 오류가 발생할 경우 더 좋거나 더 적절한 실행 결과를 위해 스마트하게 다시 시도할 수도 있습니다. 또한 분석을 수행하거나 시각화를 생성하는 데 사용된 코드를 Jupyter Notebook 또는 Python 파일로 내보낼 수도 있습니다.

이 확장 프로그램을 마켓플레이스에서 다운로드할 수 있으며 소스는 GitHub에서 여기에서 확인 가능합니다.

데이터 분석 및 시각화
  • CSV 파일이 주어지면 파일 #<파일 이름> 분석과 같은 프롬프트를 입력하거나 더 구체적인 프롬프트를 작성합니다(아래 녹화 참조).
  • 차트, 플롯 등과 같은 시각화 생성을 요청하기 위해 후속 프롬프트를 제공합니다.

데이터 분석을 수행하는 데 사용된 코드 내보내기
  • 데이터 분석을 수행하고 시각화를 생성하는 데 사용된 Python 코드를 볼 수 있습니다.
  • 코드를 Jupyter 노트북 또는 Python 파일로 내보낼 수 있습니다.

CSV 파일에 대한 편집기 및 탐색기 통합
  • CSV 파일을 마우스 오른쪽 버튼으로 클릭하여 분석합니다.
  • CSV 파일을 열고 Copilot 아이콘을 사용하여 파일을 분석합니다.

VS Code Commander 확장 프로그램

VS Code Commander 확장 프로그램(vscode:extension/ms-vscode.vscode-commander)은 VS Code 내에서 개인 비서 역할을 합니다. 이 강력한 도구를 사용하면 대화 형식의 자유 형식 텍스트를 사용하여 VS Code 환경을 구성할 수 있습니다. VS Code Commander를 사용하면 다음과 같은 작업을 수행할 수 있습니다.

  • 다양한 설정 및 명령 검색 및 탐색
  • 개발 환경을 필요에 맞게 조정

이러한 작업은 간단하고 직관적인 채팅 인터페이스를 통해 수행할 수 있으므로 VS Code 구성을 어느 때보다 쉽게 관리할 수 있습니다.

Copilot 미리 보기 확장 프로그램용 비전

Vision for Copilot Preview 확장 프로그램(vscode:extension/ms-vscode.vscode-copilot-vision)은 이미지를 직접 컨텍스트 입력으로 첨부하여 대화를 풍부하게 하고 더 동적이고 시각적으로 지원되는 응답을 가능하게 합니다. 이 확장 프로그램은 결국 GitHub Copilot Chat의 내장 이미지 흐름을 위해 사용 중단될 예정입니다.

채팅에서의 비전

지금은 클립보드에서 이미지를 첨부하거나 채팅으로 직접 드래그하여 OpenAI, Azure OpenAI, Anthropic 또는 Gemini 키를 사용하여 채팅 보기에서 이미지 첨부 흐름을 경험할 수 있습니다.

Screenshot of a chat exchange. A user asks for HTML and CSS for a landing page. The response provides a basic HTML structure with a header, navigation links (Home, About, Contact), and a link to an external CSS file.

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

빠른 수정 기능으로 비전

또한, 마크다운, HTML, JSX 또는 TSX 문서의 이미지에 대한 대체 텍스트를 생성하거나 개선하여 더 나은 컨텍스트 및 접근성을 위한 설명 텍스트 통합 과정을 단순화할 수 있습니다. 대체 텍스트 빠른 수정 기능은 작업 공간의 이미지와 이미지 URL에 대해 작동합니다.

An example markdown document displays a quick fix feature for generating alt text, resulting in the automatic insertion of an alt tag and a value. The user is then prompted with a different quick fix to refine the alt text using an input box. After the user enters and submits their refined description, the alt text is updated accordingly.

이 확장 프로그램은 ChatReferenceBinaryData 제안 API를 사용합니다. 소스 코드에서 사용 방법을 보여주는 예는 GitHub에서 여기에서 확인 가능합니다.

Python

기본 REPL 변수 보기

기본 Python REPL은 이제 내장된 변수 보기에 최신 변수를 제공합니다. 이를 통해 파일에서 코드를 실행하거나 REPL 입력란을 통해 코드를 실행하는 동안 인터프리터의 상태를 자세히 살펴볼 수 있습니다.

Pylance로 docstring 생성

이제 Pylance의 docstring 템플릿 생성 기능을 사용하여 Python 코드에 대한 문서를 더욱 편리하게 생성할 수 있습니다! """ 또는 '''을 입력하고 Ctrl+Space를 누르거나 전구 아이콘을 선택하여 Docstring 생성 코드 액션을 호출하면 클래스 또는 메서드에 대한 docstring 템플릿을 생성할 수 있습니다. 생성된 docstring에는 함수의 설명, 매개변수, 매개변수 유형, 반환값 및 반환값 유형에 대한 필드가 포함됩니다.

이 기능은 현재 실험적인 설정 뒤에 있지만 곧 기본 환경으로 만들 예정입니다. python.analysis.supportDocstringTemplate 설정을 활성화하여 오늘 바로 사용해 볼 수 있습니다.

모든 docstring 접기

문서 문자열은 코드에 대한 컨텍스트와 설명을 제공하는 데 좋지만, 때로는 코드 자체에 집중하기 위해 이를 접고 싶을 수 있습니다. 새로운 Pylance: 모든 Docstring 접기 명령을 사용하여 docstring을 접음으로써 이제 더 쉽게 수행할 수 있으며, 이 명령은 원하는 키 바인딩에도 바인딩할 수 있습니다. docstring을 펼치려면 Pylance: 모든 Docstring 펼치기 명령을 사용하십시오.

향상된 import 제안

Pylance의 강력한 기능 중 하나는 자동 import 제안을 제공하는 능력입니다. 기본적으로 Pylance는 심볼이 정의된 위치에서 import 제안을 제공하지만, 심볼이 import된 파일(예: 별칭)에서 import하도록 원할 수 있습니다. 새로운 python.analysis.includeAliasesFromUserFiles 설정을 통해 이제 Pylance가 사용자 파일의 별칭 심볼을 자동 import 제안 또는 import 추가 빠른 수정에 포함할지 여부를 제어할 수 있습니다.

이 설정을 활성화하면 Pylance가 더 많은 심볼을 인덱싱하고 변경 사항을 모니터링해야 할 수 있으므로 성능에 부정적인 영향을 미칠 수 있으며, 특히 대규모 코드베이스에서는 리소스 사용량이 증가할 수 있습니다.

실험적인 AI 코드 액션: 추상 클래스 구현

이제 AI와 정적 분석의 장점을 모두 활용할 수 있는 새로운 실험적인 코드 액션을 통해 추상 클래스를 구현할 수 있습니다! 이 기능에는 PylanceGitHub Copilot 확장이 모두 필요합니다. 이를 사용해 보려면 추상 클래스를 상속하는 클래스를 정의할 때 Copilot으로 모든 상속된 추상 클래스 구현 코드 액션을 선택하면 됩니다.

사용자 설정에서 "python.analysis.aiCodeActions": {"implementAbstractClasses": false}를 설정하여 이 기능을 비활성화할 수 있습니다.

확장 프로그램 작성

언어 모델을 위한 도구

LanguageModelTool API가 최종 확정되었습니다! 이 API를 통해 채팅 확장은 언어 모델을 외부 데이터 소스에 연결하거나 작업을 수행하여 더 강력한 환경을 구축할 수 있습니다. API는 두 가지 주요 부분으로 구성됩니다.

  1. 확장이 *도구*를 등록할 수 있는 기능. 도구는 언어 모델이 사용하도록 설계된 기능의 일부입니다. 예를 들어 파일의 Git 기록을 읽는 것입니다. lm.registerTool 메서드를 사용하여 도구가 등록되면 lm.tools 목록에서 다른 확장 프로그램에서도 액세스할 수 있습니다. 이를 통해 채팅 확장은 공유 도구 생태계를 통해 다른 확장 프로그램과 원활하게 통합할 수 있습니다.

  2. 확장이 요청을 할 때 도구를 전달하거나, 언어 모델이 도구 호출을 요청하거나, 확장이 도구 호출 결과를 다시 전달하는 것과 같이 도구를 지원하는 언어 모델을 위한 메커니즘입니다.

언어 모델 도구의 사용은 복잡하며 이 API는 그 복잡성을 숨기지 않습니다. 도구를 등록하거나 채팅 참가자에서 도구를 사용하려면 확장 프로그램 샘플부터 시작하는 것이 좋습니다.

채팅 참가자 감지

GitHub Copilot이 사용자의 질문을 처리할 채팅 참가자 또는 참가자 명령을 자동으로 선택할 수 있도록 하는 채팅 참가자 감지 API가 최종 확정되었습니다. 자세한 튜토리얼 및 권장 사항은 문서를 참조하십시오.

VS Code 음성

VS Code Speech 확장 프로그램이 Azure Speech SDK의 8월 버전을 업데이트했으며 음성-텍스트 변환을 위한 최신 모델이 포함되어 있습니다. VS Code의 음성-텍스트 변환 통합(예: Copilot Chat)에서 이 업데이트로 더 나은 결과를 볼 수 있을 것입니다.

주석 스레드 collapsibleState

CommentThread의 확장/축소 상태는 이제 스레드가 이미 표시된 후에도 새로운 CommentThread.collapsibleState 속성을 사용하여 변경할 수 있습니다. 이전에는 이 속성이 주석 스레드가 처음 표시될 때만 존중되었습니다.

시작 보기의 Codicon

시작 보기에서 이제 Codicon을 렌더링하는 기능을 지원합니다. 일반적인 $(icon-name)을 사용하여 시작 보기에서 이 작업을 수행할 수 있습니다.

A sample welcome view showing the use of text, links, buttons, and codicons.

채팅 참가자의 모델 선택기 액세스

채팅 보기의 모델 선택기를 보셨을 수 있습니다. 이 선택기를 사용하면 채팅 요청에 사용되는 모델을 선택할 수 있습니다.

Copilot model picker control in the Chat view enables switching to another language model.

채팅 참가자 확장 프로그램은 이 모델 선택기를 사용하기 위해 새로운 API를 채택해야 합니다. 방금 ChatRequest 개체에 새로운 model 속성을 최종 확정했으며, 이 속성은 선택기의 모델에 대한 LanguageModelChat 인스턴스로 설정됩니다. lm.selectChatModels 메서신 대신 이 속성을 사용할 수 있습니다. 확장에서 선택한 모델 외에 특정 모델을 사용하려면 여전히 lm.selectChatModels를 사용할 수 있습니다.

미리보기 기능

TypeScript 5.7

다가오는 TypeScript 5.7 릴리스에 대한 지원을 계속 개선하고 있습니다. 자세한 내용은 TypeScript 5.7 베타 블로그 게시물TypeScript 5.7 계획을 참조하십시오.

TypeScript 5.7의 미리 보기 빌드를 사용하려면 TypeScript Nightly 확장을 설치하십시오.

JavaScript 및 TypeScript에 대한 붙여넣기 시 import 업데이트

파일 간에 코드를 이동한 후 import를 추가해야 하는 것에 지치셨나요? 붙여넣기 시 import 업데이트에 대한 실험적인 지원을 사용해 보세요! 편집기 간에 코드를 복사하여 붙여넣으면 VS Code가 붙여넣기 시 자동으로 import를 추가합니다.

import가 추가되었을 뿐만 아니라 붙여넣은 코드에서 사용된 로컬 변수에 대한 새 export까지 추가되었다는 점에 주목하세요!

지금 바로 사용해 보려면 TypeScript 5.7 이상을 사용하고 있는지 확인하십시오. 그런 다음 javascript.experimental.updateImportsOnPaste/typescript.experimental.updateImportsOnPaste를 활성화하십시오. 현재는 동일한 VS Code 창 내의 텍스트 편집기 간에 붙여넣는 경우에만 지원됩니다.

제안된 API

이미지 첨부에 대한 채팅 참조 이진 데이터

이제 ChatReferencebinaryData 제안 API를 사용하는 확장이 있는 경우 채팅에 이미지(png, jpeg, bmp, giftiff)를 붙여넣을 수 있습니다.

export class ChatReferenceBinaryData {
  /**
   * The MIME type of the binary data.
   */
  readonly mimeType: string;

  /**
   * Retrieves the binary data of the reference.
   * @returns A promise that resolves to the binary data as a Uint8Array.
   */
  data(): Thenable<Uint8Array>;

  /**
   * @param mimeType The MIME type of the binary data.
   * @param data The binary data of the reference.
   */
  constructor(mimeType: string, data: () => Thenable<Uint8Array>);
}

확장 프로그램 작성자는 채팅 핸들러를 request.references를 통해 생성한 후 이에 액세스할 수 있습니다. 이미지가 끌어서 놓거나 빠른 선택에서 첨부된 경우 URI가 되거나 붙여넣은 이미지의 경우 ChatReferenceBinaryData가 됩니다.

엔지니어링

LLM을 위한 프롬프트 빌딩 라이브러리

이번 달에 지난 1년간 Copilot Chat에서 언어 모델 프롬프트를 만드는 데 사용하고 개발한 @vscode/prompt-tsx 라이브러리를 오픈 소스로 공개했습니다. 이 라이브러리를 사용하면 개발자는 React와 유사한 TSX/JSX 구문을 사용하여 프롬프트를 만들 수 있으며, 프롬프트의 토큰 예산을 최대한 활용하기 위한 다양한 도구가 포함되어 있습니다.

AMD 코드 제거 및 웹에서의 ESM 사용 증가

주로 복구 릴리스에 필요할 경우 AMD를 지원하기 위해 유지했던 빌드 스크립트에서 AMD(비동기 모듈 정의)의 마지막 흔적을 제거했습니다.

또한 https://vscode.dev는 이제 100% ESM(ECMAScript 모듈)만으로 실행됩니다.

ESLint 9로 마이그레이션

주요 VS Code 리포지토리와 모든 확장 프로그램 샘플을 ESLint 9를 사용하도록 업데이트했습니다. 여기에는 모든 ESLint 구성을 최신 평면 구성을 사용하도록 마이그레이션하는 것이 포함되었습니다.

Electron 32 업데이트

이번 마일스톤에서는 Electron 32 업데이트를 안정 릴리스 사용자에게 제공합니다. 이 업데이트에는 Chromium 128.0.6613.186 및 Node.js 20.18.0이 포함됩니다. Insiders 빌드에서 자체 호스팅하고 초기 피드백을 제공해 주신 모든 분들께 감사드립니다.

주요 수정 사항

  • 177046: 확장 프로그램 패널에서 검색 후 충돌

감사합니다

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

이슈 추적

이슈 추적에 대한 기여

풀 리퀘스트

vscode 기여

vscode-docs 기여

vscode-js-debug 기여

vscode-languageserver-node에 기여

  • @DanTup (Danny Tuppeny): CompletionList "applyKind"에 대한 지원 추가하여 기본값 및 항목별 commitCharacters/data를 결합하는 방법 제어 PR #1558

vscode-mypy에 대한 기여

vscode-vsce 기여

language-server-protocol 기여

lsprotocol 기여

tolerant-php-parser 기여

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