Link Search Menu Expand Document

August 2020 (version 1.49)


Only format modified text

  • There is a new setting editor.formatOnSaveMode which makes Format on Save only apply to modified lines.

Format multiple selections#

  • multi cursor aware now

Find cursor move on type control

  • control whether cursor moves on find
  • editor.find.cursorMoveOnType


Case changing in regex replace

  • This is done with the modifiers \u\U\l\L, where \u and \l will upper/lowercase a single character, and \U and \L will upper/lowercase the rest of the matching group

Improved keybinding diagnostics

  • Developer: Toggle Keyboard Shortcuts Troubleshooting
[KeybindingService]: / Received  keydown event - modifiers: [meta], code: MetaLeft, keyCode: 91, key: Meta
[KeybindingService]: | Converted keydown event - modifiers: [meta], code: MetaLeft, keyCode: 57 ('Meta')
[KeybindingService]: \ Keyboard event cannot be dispatched.
[KeybindingService]: / Received  keydown event - modifiers: [meta], code: Slash, keyCode: 191, key: /
[KeybindingService]: | Converted keydown event - modifiers: [meta], code: Slash, keyCode: 85 ('/')
[KeybindingService]: | Resolving meta+[Slash]
[KeybindingService]: \ From 2 keybinding entries, matched editor.action.commentLine, when: editorTextFocus && !editorReadonly, source: built-in.


  • The filter also supports exclude patterns (for example, patterns starting with an exclamation mark !).
  • The filter only applies to program output but not to evaluations run by a user.


  • ships with TypeScript 4.0.2. This major update brings support for new language features such as variadic tuple types, along with editor tooling enhancements

Convert to optional chain refactoring

  • Use the new convert to optional chain refactoring to quickly convert a sequence of expressions such as a && a.b && a.b.c() to instead use optional chaining: a?.b?.c().

Deprecated tag support for JavaScript and TypeScript

 * @deprecated Use `getMode()` instead.
export function mode() { ... }

Smarter auto imports

Partial IntelliSense during project loads

  • Partial mode IntelliSense will only be used while a project is loading

Contributions to extensions

Remote Development

  • Automatic port forwarding: Ports detected in terminal output are automatically forwarded to the client.
  • Remote - Containers: You can now directly clone a repository from GitHub into a container volume.

GitHub Pull Requests and Issues

  • track multiple repos

Extension authoring

  • The terminal link provider API is now stable. This API enables language/lint extensions to handle more obscure link formats that are not already supported and even support language-specific behavior.

Task detail

‘in’ operator for ‘when’ clauses

  • source:

  • There is a new in operator for when clauses. This new operator allows for a dynamic lookup of a context key’s value within another context key’s value. For example, if you wanted to add a context menu command to folders that contain a certain type of file (or something that can’t be statically known), you can now use the in operator to achieve it.

// Note, this assumes you have already defined a command called ext.doSpecial
"menus": {
  "explorer/context": [
      "command": "ext.doSpecial",
      "when": "explorerResourceIsFolder && resourceFilename in ext:supportedFolders"

Proposed extension APIs

Webview Views

  • allows extensions to contribute webview based views to the sidebar of panel. These vieAws can offer specialized presentations of data, more advanced user interfaces, and much more.


Electron 9.0 Update

  • Chromium 83.0.4103.122 and Node.js 12.14.1.

Copyright © 2020 Thence LLC