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

2019년 9월 (버전 1.39)

업데이트 1.39.1: 이 업데이트는 보안 취약점 수정 사항을 포함하여 이러한 이슈들을 해결합니다.

업데이트 1.39.2: 이 업데이트는 이러한 이슈들을 해결합니다.

다운로드: Windows: x64 | Mac: Intel | Linux: deb rpm tarball snap


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

이 릴리스 노트를 온라인으로 읽으려면 code.visualstudio.com업데이트로 이동하십시오.

Insider: 가능한 한 빨리 새로운 기능을 보려면? 야간 빌드인 Insider를 다운로드하고 최신 업데이트를 즉시 사용해 볼 수 있습니다. 최신 Visual Studio Code 뉴스, 업데이트 및 콘텐츠를 보려면 Twitter @code를 팔로우하세요!

워크벤치

업데이트된 소스 제어 보기

소스 제어 보기가 최신 트리 위젯을 사용하도록 업데이트되었습니다. 이제 소스 제어 제목 표시줄의 보기 모드 토글 버튼을 사용하여 목록 보기와 트리 보기 간을 전환할 수 있습니다.

Source Control toggle view mode button

scm.defaultViewMode 설정을 사용하여 기본 보기를 변경할 수 있으며, 이 설정은 list 또는 tree 값을 사용합니다.

이제 보기에서 입력을 시작하기만 하면 업데이트된 트리 위젯의 자동 키보드 탐색 및 필터링의 이점을 누릴 수 있습니다.

Updated SCM view

트리 보기 모드(폴더 표시)에서 Git 확장 프로그램은 이제 폴더에 대한 명령을 제공합니다. 예를 들어, 폴더 내 모든 파일에 적용될 변경 스테이징입니다.

신뢰할 수 있는 도메인 설정 개선

1.38 릴리스에 도입된 나가는 링크 보호 기능에 대한 신뢰할 수 있는 도메인 관리를 간소화했습니다.

이제 신뢰할 수 있는 도메인 관리 명령을 사용하여 JSON 텍스트 파일로 신뢰할 수 있는 도메인을 쉽게 추가, 제거 또는 수정할 수 있습니다.

Improved trusted domains management

선택 가능한 완성 세부 정보

자동 완성 세부 정보를 이제 복사 및 붙여넣기 위해 선택할 수 있습니다.

Selectable completion details

Windows에서 일본어 UI 글꼴 업데이트

Windows에서 일본어 UI 글꼴이 Meiryo에서 Yu Gothic UIMeiryo UI로 변경되었습니다.

UI 글꼴은 좁은 일본어 가나 문자를 사용하여 가로 공간을 절약합니다. 일본어 언어 팩을 설치하고 표시 언어 구성 명령으로 표시 언어 식별자를 ja로 설정하면 일본어 UI를 사용할 수 있습니다.

아래 이미지에서 Insiders (녹색 아이콘) 메뉴 표시줄에서 좁은 UI 글꼴이 어떻게 보이는지 확인할 수 있습니다.

Japanese typeface

제안 및 호버에서 고정폭 글꼴 표시 개선

이전에는 제안 및 호버 위젯의 인라인 <code> 세그먼트가 font-family를 지정하지 않았습니다. Windows / macOS에서는 이러한 세그먼트가 font-family: monospace에 대한 Chrome의 기본 선택으로 렌더링되었습니다.

이번 반복에서는 VS Code UI 전체에서 사용되는 시스템 sans-serif 글꼴과 일치시켰습니다.

  • Windows: Courier New -> Consolas (Segoe UI와 일치)
  • macOS: Courier -> SF Mono, Monaco, Menlo (SF TextHelvetica Neue와 일치)
  • Linux: 변경 없음. 인라인 코드 세그먼트는 Linux에서 font-family: monospace에 대한 Chrome의 기본값인 Liberation Mono로 계속 렌더링됩니다.

아래에서 SF Mono가 인라인 코드 블록에 더 일관된 모양을 제공한다는 것을 알 수 있습니다.

Suggest and Hover widgets monospace typeface

설정 편집기에서 uniqueItems 유효성 검사

1.38 릴리스에 도입된 문자열 배열 설정 유효성 검사가 이제 uniqueItems를 지원합니다.

"uniqueItems": true를 사용하는 경우 설정 편집기에서 중복 항목이 경고를 표시합니다.

확장 README에서 코드 블록 강조 표시

확장 README의 코드 블록(확장 보기 세부 정보 창에 표시됨)이 이제 VS Code에서 강조 표시됩니다.

A block of JSON being highlighted

강조 표시는 현재 색상 테마를 사용합니다.

편집기

토글 접기

이제 토글 접기 (⌘K ⌘L (Windows, Linux Ctrl+K Ctrl+L)) 명령으로 접기 영역을 확장하고 축소할 수 있습니다.

미니맵 편집기 선택 장식

편집기 선택이 이제 미니맵 내에서 강조 표시됩니다.

Minimap displays the editor selection

minimap.selectionHighlight 테마 색상을 수정하여 이러한 장식의 색상을 변경할 수 있습니다.

미니맵 터치 이벤트

미니맵 슬라이더를 이제 터치로 드래그할 수 있습니다.

다중 커서 붙여넣기 새 옵션

이전에는 클립보드에서 여러 줄 텍스트를 붙여넣을 때 VS Code가 클립보드 텍스트 줄 수와 커서 수를 확인하고 일치하면 각 줄을 커서에 "분배" 또는 "확산"했습니다. 이제 이 동작을 editor.multiCursorPaste 설정으로 제어할 수 있으며, 이 설정은 다음과 같은 값을 가질 수 있습니다.

  • spread - 각 커서가 텍스트 줄을 붙여넣습니다 (기본값).
  • full - 각 커서가 전체 클립보드 텍스트를 붙여넣습니다.

통합 터미널

사용자 지정 작업 디렉토리로 새 터미널 열기

사용자 지정 현재 작업 디렉토리(cwd)로 터미널을 생성할 수 있는 새 명령이 있습니다.

{
  "key": "cmd+shift+h",
  "command": "workbench.action.terminal.newWithCwd",
  "args": {
    "cwd": "${fileDirname}"
  }
}

임의의 편리한 작업 디렉토리로 새 터미널을 열기 위한 자체 키보드 바로가기를 만들 수 있습니다. cwd 값은 일반 경로 또는 변수일 수 있습니다.

더 나은 로캘 감지

terminal.integrated.setLocaleVariables 설정이 새 terminal.integrated.detectLocale 설정으로 대체되었습니다. 기본값은 auto이며, 사용자가 명시적으로 구성하지 않은 경우에만 터미널 세션의 $LANG 변수를 감지된 언어 UTF-8 값으로 설정합니다. 이 더 나은 기본값은 터미널의 언어 및 인코딩 관련 문제를 줄여야 합니다.

언어

HTML ARIA 속성 참조

HTML ARIA 속성에 대한 자동 완성 및 호버 정보에 이제 해당 WAI-ARIA 설명서에 대한 참조가 포함됩니다.

HTML ARIA reference

세미콜론을 포함한 CSS 속성 완성

CSS 속성 완성이 이제 줄 끝에 세미콜론을 삽입합니다.

(Windows / Linux) Ctrl+Enter 또는 (macOS) Cmd+Enter를 사용하여 끝의 ;를 새 줄로 옮기지 않고 새 줄을 만들 수 있습니다.

[css|scss|less].completion.completePropertyWithSemicolon 설정을 사용하여 이 기능을 제어할 수 있습니다.

CSS property completion semicolon

변수 완성을 위한 CSS 색상 미리 보기

CSS 변수를 완성할 때 원본 변수가 색상 문자열인 경우 VS Code는 이제 완성 항목에 색상을 표시합니다.

CSS variable completion with color swatch

markdown.links.openLocation

새로운 markdown.links.openLocation 설정은 Markdown 파일 내의 링크가 열리는 위치를 제어합니다.

markdown.links.openLocation에는 두 가지 값이 있습니다.

  • currentGroup - 링크를 현재 편집기 그룹에서 엽니다 (기본값).
  • beside - 현재 Markdown 편집기 옆에 링크를 엽니다.

"markdown.links.openLocation": "beside"는 설명서를 작업할 때 유용할 수 있습니다.

디버깅

열 중단점 UI 개선

디버깅 중에 VS Code는 이제 모든 중단점 후보 위치를 인라인으로 표시합니다. 이렇게 하면 사용자가 더 정확한 위치에 중단점을 설정하기가 더 쉬워집니다. UI를 복잡하게 만들지 않기 위해 후보 중단점은 해당 줄에 가능한 위치가 하나 이상 있는 경우에만 표시됩니다.

인라인 중단점과 직접 상호 작용할 수 있습니다. 클릭하여 활성화/비활성화하고 컨텍스트 메뉴를 호출하여 더 많은 작업을 수행할 수 있습니다.

Inline breakpoints

참고: 이 기능은 기본 런타임 또는 디버거의 지원이 필요하며, 향후 몇 개의 디버그 확장 프로그램만 이 기능을 사용할 것으로 예상됩니다. 이번 릴리스에서는 Node DebugDebugger for Chrome이 이를 지원합니다. 확장 프로그램 작성자를 위한 예제로, 저희 Mock Debug 샘플은 이를 위한 지원을 "모방"합니다.

호출 스택 보기에서 인라인 디버그 작업

호출 스택 보기에 세션 또는 스레드가 표시될 때 이제 마우스 오버 시 인라인으로 디버그 작업을 표시합니다. 이렇게 하면 여러 세션 또는 스레드를 디버깅할 때 디버그 흐름을 더 쉽게 제어할 수 있습니다. 작업을 수행하기 위해 먼저 세션 또는 스레드에 포커스를 설정할 필요가 더 이상 없습니다.

세션에 스레드가 하나만 있는 경우 스레드가 표시되지 않으므로 모든 작업이 세션에 표시됩니다. 그렇지 않으면 모든 작업이 해당 컨텍스트(세션 작업은 세션에, 스레드 작업은 스레드에)에 표시됩니다.

Inline debug actions from the Call Stack view

호출 스택 보기 동작 개선

호출 스택 보기의 기능을 개선했습니다.

  • 디버그 세션 또는 스레드를 클릭해도 더 이상 확장되지 않습니다. 셰브런(>) UI 요소만 직접 클릭해야 합니다. 이렇게 하면 단순히 포커스를 이동하려는 경우 세션 또는 스레드가 실수로 확장되는 것을 방지합니다.
  • VS Code는 더 이상 새 디버그 세션이 중단되지 않으면 자동으로 포커스를 맞추지 않습니다.

VS Code는 이제 디버그 콘솔의 표현식에서만 링크를 감지하며, 문자열 출력에서만 링크를 감지하는 것이 아닙니다. 링크 감지 알고리즘도 개선되었습니다.

PreLaunchTask가 이제 기본 빌드를 참조할 수 있습니다.

새 변수 ${defaultBuildTask}의 도입으로, 항상 기본 빌드 작업을 참조하는 일반적인 preLaunchTask를 가질 수 있게 되었습니다.

{
  "name": "Hello World",
  "type": "node",
  "request": "launch",
  "preLaunchTask": "${defaultBuildTask}"
}

${defaultBuildTask}작업: 빌드 작업 실행 명령을 실행할 때 실행되는 작업의 이름으로 확인됩니다. 빌드 작업 실행 명령을 사용하는 것과 마찬가지로, 여러 개의 기본 빌드 작업이 있거나 기본 빌드 작업이 없는 경우 빌드 작업을 선택하기 위한 빠른 선택이 표시됩니다.

preLaunchTask 오류 시 선택 기억

preLaunchTask 오류 시 사용자 설정에서 내 선택 기억 확인란으로 선택 사항을 기억할 수 있습니다. 선택 사항은 debug.onTaskErrors로 사용자 설정에 저장되며, 세 가지 값(prompt(기본값), debugAnyway, showErrors)을 가질 수 있습니다.

PreLaunchTask error choice dialog

확장 프로그램 기여

원격 개발 (미리 보기)

컨테이너, 원격 머신 또는 Windows Subsystem for Linux(WSL)를 전체 기능 개발 환경으로 사용할 수 있게 해주는 원격 개발 확장 프로그램에 대한 작업이 계속되었습니다.

1.39의 주요 기능은 다음과 같습니다.

  • 원격 탐색기가 이제 WSL 확장을 지원하며 설치된 Linux 배포판에 쉽게 연결할 수 있습니다.
  • 새로운 컨테이너 볼륨에 리포지토리 복제 명령을 통해 소스 코드 리포지토리를 격리하여 작업할 수 있습니다.
  • SSH 연결 공유 및 SSH를 사용하여 Windows 원격 머신에 연결하는 실험적인 지원.

원격 개발 릴리스 노트를 통해 새 확장 기능의 기능 및 버그 수정을 확인할 수 있습니다.

또한 최근 두 개의 블로그 게시물을 읽을 수 있습니다.

미리 보기 기능

미리보기 기능은 릴리스 준비가 되지 않았지만 사용할 만큼 기능적입니다. 개발 중인 동안 초기 피드백을 환영합니다.

TypeScript 3.7-베타 지원

VS Code는 TypeScript 3.7이 공식 출시될 때까지 번들링하지 않지만, 흥미로운 새로운 TypeScript 3.7-베타 기능을 모두 지원하기 위해 이미 작업 중입니다.

여기에는 다음이 포함됩니다.

  • JavaScript 및 TypeScript 파일에서 선택적 체이닝 및 nullish 병합에 대한 구문 강조 표시.
  • 선택적 체이닝에 대한 완성 지원.
  • 새로운 javascript.format.semicolonstypescript.format.semicolons 설정을 사용하여 세미콜론 제어.

TypeScript Nightly 확장 프로그램을 설치하여 오늘 모든 새 TypeScript 3.7 기능을 쉽게 시도해 볼 수 있습니다. 피드백을 공유하고 TypeScript 3.7 베타 버그가 발견되면 알려주세요!

확장 프로그램 작성

확장 터미널 API

확장 터미널 API가 최종 확정되어 확장이 터미널 입력에 반응하고 출력을 완전히 제어할 수 있게 되었습니다. 다음은 확장 터미널을 생성하고 시작 시 빨간색으로 'Hello world'를 출력하는 예입니다.

const writeEmitter = new vscode.EventEmitter<string>();
const pty: vscode.Pseudoterminal = {
  onDidWrite: writeEmitter.event,
  open: () => writeEmitter.fire('\x1b[31mHello world\x1b[0m'),
  close: () => {}
};
vscode.window.createTerminal({ name: 'My terminal', pty });

더 자세한 내용은 API 참조 및 extension-terminal-sample을 참조하세요.

기호 및 완성에 대한 사용 중단 태그

완성 항목 및 기호를 사용 중단으로 표시할 수 있는 기호 태그 API가 최종 확정되었습니다. 1.38 릴리스 노트에서 자세히 알아보세요.

여기에서 Java 확장 프로그램SymbolTag.Deprecated를 사용하여 사용 중단된 형식 또는 멤버를 참조하는 소스 코드를 취소선으로 표시하는 것을 볼 수 있습니다.

Java deprecated method

디버그 세션 이름은 더 이상 읽기 전용이 아닙니다.

DebugSession의 이름을 변경할 수 있습니다. 디버그 세션의 이름은 처음에 DebugConfiguration에서 가져옵니다. 변경 사항은 UI에 제대로 반영됩니다.

웹뷰가 로컬 리소스에 Webview.asWebviewUri를 사용하지 않는 경우 경고

Webview API를 사용하는 확장 프로그램을 개발하는 동안, 새 Webview.asWebviewUri API 대신 vscode-resource: URI를 직접 사용하여 로컬 리소스를 로드하는 웹뷰를 만들 때 경고를 기록합니다.

Debug warning for a webview that uses vscode-resources

기존 vscode-resource: URI는 계속 작동하지만, 모든 웹뷰 확장이 새 API인 Webview.asWebviewUri API로 마이그레이션하기를 바랍니다.

  • 네트워크 드라이브에서 로컬 리소스를 로드하는 경우 발생하는 까다로운 엣지 케이스를 처리합니다.
  • 로컬 콘텐츠와 원격 콘텐츠를 혼합하여 로드할 수 있는 웹뷰를 사용할 수 있게 합니다.
  • VS Code의 웹 버전에서 더 안정적으로 작동합니다.

TreeView 메시지 API

트리 보기에서 메시지를 설정하는 API가 최종 확정되었습니다. 메시지 API 사용 예는 트리 보기 확장 프로그램 샘플에서 확인할 수 있습니다.

Octicons 스타일 업데이트

모든 아이콘 디자인이 일관되도록 Octicons새로운 아이콘 개요 스타일에 맞춰 업데이트했습니다.

Updated Octicons

SCM 폴더 메뉴

업데이트된 SCM 보기는 이제 변경 사항을 트리로 렌더링하는 것을 지원합니다. SCM 공급자는 scm/resourceFolder/context 메뉴 ID를 사용하여 폴더 메뉴에 명령을 제공할 수 있습니다.

언어 서버 프로토콜

3.15.0 버전의 Language Server Protocol 사양이 제공됩니다. 버전은 아직 최종이 아니므로 Language Server Protocol 리포지토리에 이슈 또는 풀 리퀘스트로 피드백을 보내주시면 감사하겠습니다. 스트리밍 및 진행률 보고 지원이 다음 버전의 언어 서버 프로토콜에 추가되었습니다. 노드 서버 및 VS Code 클라이언트에 대한 구현은 각각 vscode-languageserver@6.0.0-next.1vscode-languageclient@6.0.0-next.1로 제공됩니다.

디버그 어댑터 프로토콜

취소 지원

이전 요청에 대해 생성된 결과에 대한 클라이언트의 관심이 더 이상 없음을 디버그 어댑터에 힌트를 줄 수 있는 새 cancel 요청이 디버그 어댑터 프로토콜에 추가되었습니다.

이 요청은 힌트 특성을 가집니다. 즉, 디버그 어댑터는 이 요청을 존중하기 위해 '최선'의 노력을 할 것으로 예상할 수 있지만 보장은 없습니다. 프론트엔드 클라이언트는 supportsCancelRequest 기능이 정의되어 있고 값이 true인 경우에만 이 요청을 호출할 수 있습니다.

취소된 요청은 여전히 응답을 보내야 합니다. 이는 일반 결과 또는 오류 응답일 수 있습니다. 취소된 요청에서 부분 결과를 반환하는 것이 가능하지만, 프론트엔드 클라이언트가 응답이 부분적인지 여부를 감지하는 일반적인 방법은 없다는 점에 유의하세요.

9월 릴리스에서는 VS Code가 stacktrace, scopes, variables 요청(호출 스택변수 보기에서 사용됨) 및 completions 요청(디버그 콘솔에서 사용됨)에 대한 취소를 지원합니다.

참고: 9월 현재 Mock Debug 확장 프로그램만 취소를 구현합니다.

소스 범위에서 가능한 중단점 찾기

새로운 breakpointLocations 요청은 DAP 클라이언트가 지정된 소스 범위에서 가능한 모든 중단점 위치를 찾는 데 사용할 수 있습니다. 이는 UI에서 "인라인"( "열") 중단점의 검색 가능성을 개선하는 데 사용할 수 있습니다.

클라이언트는 supportsBreakpointLocationsRequest 기능이 정의되어 있고 값이 true인 경우에만 breakpointLocations 요청을 호출할 수 있습니다.

제안된 확장 API

모든 마일스톤에는 새로운 제안 API가 포함되며 확장 작성자는 이를 사용해 볼 수 있습니다. 언제나처럼 여러분의 피드백을 기다립니다. 제안 API를 사용해 보려면 다음을 수행하세요.

  • 제안된 API는 자주 변경되므로 Insiders를 사용해야 합니다.
  • 확장의 package.json 파일에 이 줄이 있어야 합니다: "enableProposedApi": true.
  • vscode.proposed.d.ts 파일의 최신 버전을 프로젝트 소스 위치로 복사합니다.

제안된 API를 사용하는 확장은 게시할 수 없습니다. 다음 릴리스에서 호환되지 않는 변경이 발생할 수 있으며 기존 확장에 문제가 발생하는 것을 원하지 않습니다.

vscode.env.uiKind

확장이 어떤 종류의 UI에서 사용되는지 파악할 수 있게 해주는 새 제안 API vscode.env.uiKind가 추가되었습니다. 브라우저에서 VS Code 실행을 지원하기 위해 가능한 값은 UIKind.DesktopUIKind.Web입니다.

vscode.env.asExternalUri

제안 API vscode.env.asExternalUri는 확장이 실행되는 위치에서 외부 URI(예: http: 또는 https: URI)를 동일한 리소스에 대한 클라이언트 머신의 URI로 확인하도록 합니다. 이는 vscode.env.openExternal API의 동반 API이며, 해결된 URI를 외부 프로그램을 사용하여 여는 대신 확장 프로그램에 결과를 반환합니다.

import * as vscode from 'vscode';
import * as http from 'http';

const PORT = 3000;

export function activate(context: vscode.ExtensionContext) {
  startLocalServer(PORT);

  context.subscriptions.push(
    vscode.commands.registerCommand('example.command', async () => {
      const resolved = vscode.env.asExternalUri(
        vscode.Uri.parse(`https://:${PORT}`)
      );
      vscode.window.showInformationMessage(
        `Resolved to: ${resolved} on client and copied to clipboard`
      );
      vscode.env.clipboard.writeText(resolved.toString());
    })
  );
}

function startLocalServer(port: number) {
  const server = http.createServer((req, res) => {
    res.end('Hello world!');
  });
  server.on('clientError', (err, socket) => {
    socket.end('HTTP/1.1 400 Bad Request\r\n\r\n');
  });
  server.listen(port);
  vscode.window.showInformationMessage(`Started local server on port: ${port}`);
}

vscode.env.asExternalUri는 현재 http:https: URI만 지원합니다. 확장이 클라이언트 머신에서 실행되는 경우 아무 작업도 수행하지 않습니다. 그러나 확장이 원격으로 실행되는 경우 vscode.env.asExternalUri는 자동으로 로컬 머신에서 원격의 target으로 포트 전달 터널을 설정하고 터널에 대한 로컬 URI를 반환합니다.

리소스에 대한 읽기 전용 웹뷰 편집기

셰이더, Excel 파일부터 3D 모델에 이르기까지 모든 것을 미리 볼 수 있는 VS Code 확장 프로그램을 찾을 수 있습니다. 몇몇 대담한 확장 프로그램은 이진 또는 XML 파일을 시각적으로 편집하기 위한 복잡한 편집기 스타일 경험을 구축하기도 했습니다. 이 모든 것이 VS Code의 기존 확장 프로그램 API를 사용하여 이미 가능하지만, 미리 보기 또는 사용자 지정 편집기를 구축하려면 비직관적인 방식으로 여러 API를 조립해야 합니다. 또한 확장 프로그램 자체에 많은 것을 남겨두어 종종 VS Code의 나머지 부분과 일관되지 않은 사용자 경험을 초래합니다. 사용자 지정 편집기 API 제안은 이를 개선하는 것을 목표로 합니다.

사용자 지정 편집기 API는 특정 리소스에 대해 VS Code의 표준 텍스트 편집기를 대신하여 사용되는 완전한 사용자 지정 읽기/쓰기 편집기를 생성하기 위한 프레임워크를 확장 프로그램에 제공합니다. 예를 들어 XAML 사용자 지정 편집기는 .xaml 파일에 대한 WYSIWYG 스타일 편집기를 보여줄 수 있습니다. 우리의 최종 목표는 VS Code를 빠르고 가볍고 일관되게 유지하면서 확장 프로그램에 최대한의 유연성을 제공하는 것입니다.

이번 반복에서는 사용자 지정 편집기 API 제안의 첫 부분을 공유합니다: 읽기 전용, 웹뷰 기반 사용자 지정 편집기. 사용자 지정 편집기 제안 개요는 여기에서 찾을 수 있습니다. 사용자 지정 편집기는 이미 VS Code의 내장 이미지 미리 보기를 지원하는 데 사용되고 있습니다.

현재 제안은 첫 단계이며, 크게 개정될 가능성이 높습니다. 향후 몇 달 동안 사용자 지정 편집기 API를 계속 반복할 것입니다.

TreeView 제목

트리 보기 제목은 항상 확장 프로그램의 package.json 파일에서 가져왔습니다. 이제 트리 보기 제목은 처음에 package.json에서 가져오지만 나중에 변경할 수 있습니다. title 속성의 변경 사항은 보기 제목 UI에 제대로 반영됩니다.

startDebugging consoleMode 옵션으로 디버그 콘솔 병합

계층적 디버그 세션을 더 잘 지원하기 위해 vscode.debug.startDebugging API에 선택적 인수 consoleMode를 추가했습니다. 이 인수는 VS Code가 부모 및 자식 디버그 세션의 디버그 콘솔을 병합해야 하는지 여부를 제어합니다. 예를 들어, 이는 클러스터 디버깅에 특히 유용합니다. 여기서 많은 자식 세션이 있고 모든 디버그 세션이 동일한 디버그 콘솔로 가는 것이 훨씬 깔끔합니다.

더 이상 사용되지 않는 Terminal.onDidWriteData API 제거

제안 API Terminal.onDidWriteData가 전역 이벤트 window.onDidWriteTerminalData를 선호하여 제거되었습니다.

엔지니어링

웹사이트 새로고침

브랜드와 더 잘 일치하도록 Visual Studio Code 웹사이트 아이콘과 색상을 업데이트했습니다. 이는 웹사이트 및 문서 페이지 전반에 걸쳐 반영됩니다.

Website colors updated

Terser를 통한 JavaScript 최소화

제품 빌드용 JavaScript 최소화를 위해 사용하던 미니파이어를 terser로 변경했습니다. 이전에는 이전 버전의 uglify-es를 사용하고 있었습니다. Terser 개발자는 채택 과정에서 매우 유용한 지원을 해 주었습니다.

파일 감시자 업데이트 (Chokidar)

이번 마일스톤 동안 macOS 및 Linux의 파일 감시자를 3.x 버전으로 업데이트하여 성능 개선, 메모리 소비 감소, 패키지 크기 축소를 가져왔습니다. Chokidar repoChokidar 3 블로그 게시물에서 자세히 알아볼 수 있습니다.

실제 빌드에 대한 통합 테스트 실행

제품 빌드는 빌드의 일부로 대규모 통합 테스트 제품군을 실행합니다. 이전에는 이러한 테스트가 소스에서 실행되는 VS Code를 대상으로 실행되었습니다. 이제 이러한 테스트는 빌드된 VS Code 버전을 사용하여 빌드가 릴리스 준비가 되었는지 확인합니다.

TypeScript 3.6을 사용하여 VS Code 빌드

VS Code 코어 및 내장 확장은 이제 TypeScript 3.6을 사용하여 빌드됩니다.

이미지 미리 보기 내장 확장 프로그램으로 이동

VS Code의 이미지 미리 보기 기능이 핵심 코드베이스에서 내장 이미지 미리 보기 확장 프로그램으로 이동되었습니다. 이미지 미리 보기의 기능은 이전과 거의 동일해야 합니다.

The built-in Image Preview extension

이미지 미리 보기를 내장 확장 프로그램으로 추출하면 버그를 수정하고 기능을 추가하는 것이 더 쉬워지며, 궁극적으로 확장 프로그램이 VS Code의 내장 이미지 미리 보기를 더 쉽게 재정의할 수 있게 됩니다.

이 변경 사항은 이번 반복에서 완료된 사용자 지정 편집기 API 작업으로 인해 가능해졌습니다.

새로운 문서

Node.js 배포 튜토리얼

Node.js 배포 튜토리얼learn.microsoft.comAzure JavaScript 개발자 센터로 이동되었습니다.

여기에서 Visual Studio Code를 사용하여 다음을 수행하는 튜토리얼을 찾을 수 있습니다.

주요 수정 사항

  • 78984: 제안 위젯에서 터치 작동 안 함
  • 79196: 디버그 콘솔에서 REPL 결과와 console.log 출력이 잘못된 순서로 표시됨
  • 80003: 일반 중단점에 제목 툴팁이 없음
  • 55106: 중단점은 최소한 하나의 세션에 의해 확인되면 확인된 것으로 표시됨
  • 80435: 탐색기 사이드바에서 빈 폴더 섹션 숨기기 허용
  • 80464: SetVariable 요청의 실패 메시지가 표시되지 않음
  • 80402: 디버그 UI가 디버그 세션 종료 시 스피너 정리 안 함
  • 82047: 원격 이름 표시를 위한 새 제목 변수

감사합니다

마지막으로, VS Code를 더욱 발전시키는 데 도움을 준 다음 분들께 진심으로 감사드립니다.

이슈 추적에 대한 기여

수신되는 이슈를 관리하는 데 도움이 되고 싶으시면 커뮤니티 이슈 추적 페이지를 참조하세요.

vscode 기여

vscode-eslint 기여

vscode-languageserver-node에 기여

language-server-protocol 기여

debug-adapter-protocol에 기여

vscode-debugadapter-node에 대한 기여

vscode-css-languageservice에 대한 기여

vscode-vsce 기여

localization 기여

Microsoft Localization Community Platform (MLCP)를 사용하는 800명 이상의 클라우드 + AI 현지화 커뮤니티 회원이 있으며, Visual Studio Code에 약 100명의 활성 기여자가 있습니다. 새로운 번역 제공, 번역 투표 또는 프로세스 개선 제안 등 기여해주신 모든 분들께 감사드립니다.

다음은 기여자의 스냅샷입니다. 프로젝트에 대한 자세한 내용과 기여자 이름 목록을 보려면 프로젝트 사이트(https://aka.ms/vscodeloc)를 방문하십시오.

  • 덴마크어: Mark Drastrup, Lasse Stilvang.
  • 네덜란드어: Niels ter Haar, Laurens Kwanten.
  • 영국 영어: Martin Littlecott, s.benson, sonali Dixit.
  • 핀란드어: Kiti Suupohja, Tommi Finnilä.
  • 프랑스어: Thierry DEMAN-BARCELÒ, Maxime Coquerel, Antoine Griffard, Rodolphe NOEL, DJ Dakta.
  • 독일어: Christof Opresnik.
  • 그리스어: Θοδωρής Τσιρπάνης.
  • 히브리어: Yonatan Bachar, Snir Broshi.
  • 힌디어: mtar05, निरव आडतिया, Amit Gusain, Degant Puri.
  • 중국어 간체: Justin Liu, Yizhi Gu, paul cheung, yungkei fan, 斌 项, Yiting Zhu, 一斤瓜子, Tianzhi Zeng, cool yang, Peng Zeng, Y!an, Joel Yang, 楠 姜, 建 周.
  • 중국어 번체: Winnie Lin, 蔡牧村, 謝政廷, Yi-Jyun Pan, Poy Chang.
  • 인도네시아어: Eriawan Kusumawardhono, Riwut Libinuko, William Surya Permana, Septian Adi, Laurensius Dede Suhardiman.
  • 이탈리아어: Luigi Bruno, Alessandro Alpi, Claudio Mezzasalma, Marco Dal Pino.
  • 일본어: Michihito Kumamoto, Hiroyuki Mori, Aya Tokura, 井上 圭司, Yuzo Konishi, Yoshihisa Ozaki, Kogesaka, Yuta Ojima, TENMYO Masakazu, Koichi Makino, Takayuki Fuwa.
  • 한국어: Hongju, Sungjin Jeong, Seikwang Chung.
  • 라트비아어: Andris Vilde.
  • 리투아니아어: Renatas Laužadis.
  • 폴란드어: Kacper Łakomski.
  • 포르투갈어 (브라질): Marcelo Fernandes, Marcondes Alexandre, Felipe Oliveira, Alan Bueno.
  • 포르투갈어 (포르투갈): Pedro G..
  • 루마니아어: Mihail-Gabriel Alexe.
  • 러시아어: konpl.
  • 스페인어: José María Aguilar, Abdón Rodríguez P., Ricardo Estrada Rdez, Anix Cormak, Carlos Mendible.
  • 타밀어: Rajeshkumar Ramasamy.
  • 터키어: Safa Selim.
  • 우크라이나어: Oleksandr Krasnokutskyi, Arthur Murauskas.
  • 베트남어: Vương, Van-Tien Hoang, Hai Nguyen, Tuan Duong.
© . This site is unofficial and not affiliated with Microsoft.