Skip to content

Latest commit

 

History

History
166 lines (101 loc) · 9.39 KB

v1_53.md

File metadata and controls

166 lines (101 loc) · 9.39 KB
Order TOCTitle PageTitle MetaDescription MetaSocialImage Date DownloadVersion
62
January 2021
Visual Studio Code January 2021
Learn what is new in the Visual Studio Code January 2021 Release (1.53)
1_53/release-highlights.png
2021-02-03
1.53.0

January 2021 (version 1.53)

Welcome to the Insiders build. These are the preliminary notes for the January 1.53 release of Visual Studio Code. As we get closer to the release date, you'll find details below about new features and important fixes.

Until the January milestone release notes are available, you can still track our progress:

We really appreciate people trying our new features as soon as they are ready, so check back here often and learn what's new.

If you find issues or have suggestions, you can enter them in the VS Code repository on GitHub.

Workbench

Tabs wrap

A new setting workbench.editor.wrapTabs is provided to let editor tabs wrap instead of showing a scrollbar.

Wrapping Tabs Theme: GitHub Dark Theme

In case the available space for the tabs is too small, wrapping will temporarily turn off and you will see the old experience with a scrollbar.

Note: You can prevent wrapping tabs from growing very large by configuring workbench.editor.tabSizing: shrink.

Tab Decorations

Two new settings allow to configure wether editor tabs show decorations, such as git status or diagnostics. Use workbench.editor.decorations.colors to decorate tabs with colors, like red/green for files with error and warning, and use workbench.editor.decorations.badges to decorate tabs with badges, like M for git modified.

Editor Tab with decorations Theme: GitHub Light Theme

New setting workbench.editor.enablePreviewFromCodeNavigation

A new setting workbench.editor.enablePreviewFromCodeNavigation allows to explicitly enable preview editors from code navigation, such as "Go to Definition". In our previous release we changed the default to open editors normally from code navigation and this setting allows to change this back to how it used to be.

Emmet Performance and Feature Improvements

Emmet now works much faster in large HTML and CSS files. Also, the extension now uses the latest Emmet dependency, meaning that features such as countdowns are now supported.

An example of Emmet expanding with a countdown in a large HTML file.

Debugging

JavaScript Debugger

A complete list of changes can be found in the js-debug changelog.

Conditional Exception Breakpoints

Conditional exception breakpoints are now supported in the JavaScript debugger. The error variable will contain the currently-thrown exception:

Screencapture that shows checking 'pause on caught exceptions' and entering 'err.message.includes("my error") as the condition. A thrown exception that doesn't match this condition is skipped, and the debugger than pauses on the exception that does. Theme: Codesong

Debug worker_threads

Debugging of Node.js worker_threads is now supported.

Screenshot of the debugger paused inside a Node.js worker_thread script Theme: Codesong

No changes or extra configuration is needed.

Integrated Terminal

Remote layout persistence

Terminal layout is restored on remote terminal reconnection. As shown below, the terminal layout is restored when reloading VS Code and reconnecting to a Windows Subsystem for Linux (WSL) remote instance.

In a remote window, three split terminals are created and resized. On reload, the layout appears unchanged.

Extension authoring

Status bar entry background color API

The previously proposed backgroundColor for StatusBarItem API is now stable. Currently only statusBarItem.errorBackground is supported to avoid the Status bar looking too colorful. We may expand this support to more colors in the future.

Status bar error in red

The use case for this new API is to enable extensions to indicate error conditions in the Status bar. For example, the ESLint extension may decide to use this color to alert the user that ESLint has not yet been enabled for a workspace.

Adding CancellationError-type

We have added a new error type: vscode.CancellationError. This type can be used in response to a CancellationToken being cancelled or when an operation is being cancelled by the executor of that operation.

Editor

New Snippet Variables

There are new snippet variables for inserting uuids and for inserting the relative path the current file. The sample snippet below would print:

let someId = 'foo/test.js/c13d226f-1932-40e2-9fd9-10198c219e33'

// sample snippet using UUID and RELATIVE_FILEPATH
{
  "scope": "javascript",
  "prefix": "newVars",
  "body": "let someId = '${RELATIVE_FILEPATH}/${UUID}'$0"
X}

Engineering

Progress on Electron Sandbox

This milestone we continued to make the VSCode window fit for enabling Electron's sandbox and context isolation.

Specifically:

  • the IPC connection to our background shared process changed from a node.js socket connection to using Electron's MessagPort API
  • there is a new internal option to enable the experimental vscode-file protocol for the main window that enables us to do some selfhosting (the issue reporter and process explorer already run with this option since last milestone)
  • we removed more direct node.js API that is used in the VSCode window

VS Code is now Trusted Types compliant

We have finished the work on making VS Code trusted types compliant: https://github.com/w3c/webappsec-trusted-types

Notable fixes

  • 96409: Trackpad: Tab switch on mouse scroll: horizontal scrolling sensitivity too high

Thank you

Last but certainly not least, a big Thank You to the following people who contributed this month to VS Code:

Contributions to our issue tracking:

Contributions to vscode:

Contributions to language-server-protocol:

Contributions to vscode-languageserver-node:

Contributions to debug-adapter-protocol: