**Update 1.62.1**: The update addresses this security [issue](https://github.com/microsoft/vscode/issues?q=is%3Aissue+milestone%3A%22October+2021+Recovery%22+is%3Aclosed).
**Update 1.62.2**: The update addresses these [issues](https://github.com/microsoft/vscode/issues?q=is%3Aissue+milestone%3A%22October+2021+Recovery+2%22+is%3Aclosed).
**Update 1.62.3**: The update addresses these [issues](https://github.com/microsoft/vscode/issues?q=is%3Aissue+milestone%3A%22October+2021+Recovery+3%22+is%3Aclosed).
Welcome to the October 2021 release of Visual Studio Code. In addition to releasing a preview of [vscode.dev](https://vscode.dev/), we announced in the [October iteration plan](https://github.com/microsoft/vscode/issues/134730) that we would focus on housekeeping GitHub issues and pull requests (see our [issue cleanup guide](https://github.com/microsoft/vscode/wiki/Issue-Grooming)). Across all of our VS Code repositories, we closed (either triaged or fixed) **4163** issues. While we closed issues, you created **2222** new issues. The main [vscode repository](https://github.com/microsoft/vscode/issues) now has **2491** open feature requests and **1246** open bugs. In addition, we closed **194** pull requests.
As in previous years, we used the [live tracker](https://vscode-issue-tracker.netlify.com/) from [Benjamin Lannon](https://github.com/lannonbr) to track our progress:
Given the focus on shipping `vscode.dev`, not everybody on the team had cycles for clean-up, so some issue clean-up will continue in November. After housekeeping, we also addressed feature requests and community [pull requests](#pull-requests).
**Watch a highlight** of the new features in this version in the VS Code team's release party. You can find the [recording of the event](https://www.youtube.com/watch?v=IKvtYHfzE3g) on our YouTube channel.
This iteration, we released a preview of Visual Studio Code for the Web. Visual Studio Code for the Web provides a zero-install experience running entirely in your browser, allowing you to quickly and safely browse source code repositories and make lightweight code changes. To get started, go to [https://vscode.dev](https://vscode.dev) in your browser.
VS Code for the Web has many of the features of VS Code desktop that you love, including search and syntax highlighting, along with extension support to work on your codebase. In addition to opening repositories, forks, and pull requests from source control providers like GitHub and Azure Repos, you can also work with code that is stored on your local machine.
Not all extensions can run when VS Code is in the browser. Extensions that are purely declarative, such as themes, snippets, or grammars, can run unmodified in the browser. However, extensions that need to run code must be updated by the extension authors. We'd like to say [thank you](#web-extensions) to the extension authors that already have published their extensions as [web extensions](https://code.visualstudio.com/api/extension-guides/web-extensions).
You can learn more about [https://vscode.dev](https://vscode.dev) in our [blog post](https://aka.ms/vscode.dev-blog), [documentation](https://aka.ms/vscode-web-docs), and [live stream](https://youtu.be/sy3TUb_iVJM).
* The Settings editor scrolls back to the top after performing a search, so the user does not end up midway through the search results after each search.
We continued iterating on bracket pair guides. Horizontal lines now outline the scope of a bracket pair. Also, vertical lines now depend on the indentation of the code that is surrounded by the bracket pair.
Bracket pair guides can be enabled by setting `editor.guides.bracketPairs` to `true` (defaults to `false`). We added a third option "`active`" to only show a bracket pair guide for the active bracket pair.
The new setting `editor.guides.bracketPairsHorizontal` controls if and when to render horizontal guides (defaults to `active`).
New themable colors `editorBracketPairGuide.background{1,...,6}` and `editorBracketPairGuide.activeBackground{1,...,6}` can be used to customize the color of bracket pair guides.
You can now configure bracket pairs for a specific programming language through settings. `editor.language.brackets` can be used to configure which bracket characters [should be matched](https://code.visualstudio.com/docs/editor/editingevolved#_bracket-matching). If set, `editor.language.colorizedBracketPairs` independently configures which bracket pairs are colorized when bracket pair colorization or bracket pair guides are enabled.
You can now choose between displaying IntelliSense hovers above (default) or below the current line. By setting `editor.hover.above` to `false`, hovers will render below the current line.
To address [CVE-2021-42574](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-42574), VS Code now renders Unicode directional formatting characters by default. Consider the following text snippet:
The above text snippet contains two explicit directional formatting characters, `U+202E` (`RIGHT-TO-LEFT OVERRIDE`) and `U+202C` (`POP DIRECTIONAL FORMATTING`). These characters can influence Unicode's [Bidirectional Algorithm](https://www.unicode.org/reports/tr9) and could be used to craft source code that renders differently than what compilers would execute.
The special rendering of these directional formatting characters can be turned off by setting `editor.renderControlCharacters` to `false`. The setting `editor.renderControlCharacters` is now `true` by default.
If you are an extension author, more details about how to become a verified publisher can be found in the [Publishing Extensions](https://code.visualstudio.com/api/working-with-extensions/publishing-extension#verify-a-publisher) topic.
![Emmet update tag command with placeholder](images/1_62/emmet-update-tag.gif)
The extension also activates now when one tries to run any Emmet command. This change should fix an issue where some commands were not found when run from the Command Palette, while also keeping the activation event list more precise so that Emmet does not start up unnecessarily, such as in an empty workspace.
For multi-root workspaces, Emmet now sources snippets from all workspace folders, rather than just the first one. As a result, custom snippets from all workspace folders will be suggested when editing an applicable file in the workspace.
Notebook cells can output multiple types of data (mimetypes) that can be rendered in different ways both by VS Code itself and extensions. Previously, VS Code had basic memoization (caching) of the selected renderer for a mimetype, and you could manually configure your preferred mimetypes using the `notebook.displayOrder` setting. However, VS Code wasn't particularly smart about picking the best renderer for a mimetype, and preferred mimetypes had to be updated manually.
Now, preferred renderers are cached on a per-notebook type, level in the workspace. Additionally, if you switch to view a different mimetype, that preference will be updated in-memory for the VS Code session, and you can use the **Notebook: Save Mimetype Display Order** command to easily update the `notebook.displayOrder` setting to the working preference.
In order to make it easier to identify kernels, the [Jupyter](https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter) extension now groups kernels in the kernel picker.
You can now filter the list of kernels displayed in the kernel picker, either globally or on a workspace basis. This is helpful if you have a large number of kernels installed but usually only work with a subset.
Automatic cell creation when running the last cells in an **Interactive Window** using `kbstyle(Shift+Enter)` can now be configured via the setting `jupyter.newCellOnRunLast`. If you don't want the default behavior to add a new cell, you can set `jupyter.netCellOnRunLast` to `false`.
A new version of the [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) extension has shipped. Major improvements are:
Work continues on the [GitHub Pull Requests and Issues](https://marketplace.visualstudio.com/items?itemName=GitHub.vscode-pull-request-github) extension, which allows you to work on, create, and manage pull requests and issues. Check out the [changelog for the 0.32.0](https://github.com/microsoft/vscode-pull-request-github/blob/main/CHANGELOG.md#0320) release of the extension to see the highlights.
Work continues on the [Remote Development extensions](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.vscode-remote-extensionpack), which allow you to use a container, remote machine, or the [Windows Subsystem for Linux](https://learn.microsoft.com/windows/wsl) (WSL) as a full-featured development environment.
* Windows Subsystem for Linux indicator lets you quickly know whether you are using WSL 1 or WSL 2.
* Advanced container configuration videos covering how to [persist bash history](https://code.visualstudio.com/remote/advancedcontainers/persist-bash-history) and [work with monorepos](https://code.visualstudio.com/remote/advancedcontainers/change-default-source-mount).
You can learn about new extension features and bug fixes in the [Remote Development release notes](https://github.com/microsoft/vscode-docs/blob/main/remote-release-notes/v1_62.md).
This update adds support for the upcoming TypeScript 4.5 release. The [TypeScript 4.5 beta announcement post](https://devblogs.microsoft.com/typescript/announcing-typescript-4-5-beta) has more information about the new language and tooling features. Some tooling highlights:
* More accurate reference counts for the references CodeLens.
To start using the TypeScript 4.5 nightly builds, install the [TypeScript Nightly extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-typescript-next).
Please share your feedback and let us know if you run into any bugs with TypeScript 4.5.
The [file decorations](https://github.com/microsoft/vscode/blob/9430f7848503b25ff1a629f2cb81b705e11672f5/src/vs/vscode.d.ts#L6071) API now supports emojis as badge texts.
File watching in VS Code changed to a new library, thanks to the work of the Parcel team with their [@parcel/watcher](https://github.com/parcel-bundler/watcher). We will gradually roll out this change to all users in the upcoming weeks. Linux users will be happy to learn that the `files.watcherExclude` now applies natively so that the number of file handles VS Code needs open for file watching can be greatly reduced.
As we continue to make the VS Code workbench ready for enabling Electron's [sandbox](https://www.electronjs.org/docs/tutorial/sandbox), we made progress on moving Node.js file services out of the workbench window into a different process. The same is true for the file watcher that no longer forks from the workbench window, but from a background process. This change is enabled by default in VS Code Insiders and will be the default in Stable for our November release.
* [135110](https://github.com/microsoft/vscode/issues/135110): Support different border settings for vertical or horizontal layouts, for in-group editor splitting
Extension authors for enabling extensions that run code as [web extensions](https://code.visualstudio.com/api/extension-guides/web-extensions) (the list below is as of November 2):
* [Typescript Language Server - Multi Host mode](https://marketplace.visualstudio.com/items?itemName=asvetliakov.typescript-language-features-multi-host) ([Alexey Svetliakov](https://marketplace.visualstudio.com/publishers/asvetliakov))
* [Svelte for VS Code Web](https://marketplace.visualstudio.com/items?itemName=asafamr.svelte-web) ([Asaf Amrami](https://marketplace.visualstudio.com/publishers/asafamr))
* [Python C++ Debugger](https://marketplace.visualstudio.com/items?itemName=benjamin-simmonds.pythoncpp-debug) ([BeniBenj](https://marketplace.visualstudio.com/publishers/benjamin-simmonds))
* [One Dark Pro](https://marketplace.visualstudio.com/items?itemName=zhuangtongfa.Material-theme) ([binaryify](https://marketplace.visualstudio.com/publishers/zhuangtongfa))
* [bmwebtest - for testing - will be deleted soon](https://marketplace.visualstudio.com/items?itemName=leodevbro.bmwebtest) ([leodevbro](https://marketplace.visualstudio.com/publishers/leodevbro))
* [Glimmer Templates Syntax for VS Code](https://marketplace.visualstudio.com/items?itemName=lifeart.vscode-glimmer-syntax) ([lifeart](https://marketplace.visualstudio.com/publishers/lifeart))
* [Unstable Ember Language Server](https://marketplace.visualstudio.com/items?itemName=lifeart.vscode-ember-unstable) ([lifeart](https://marketplace.visualstudio.com/publishers/lifeart))
* [Marp for VS Code](https://marketplace.visualstudio.com/items?itemName=marp-team.marp-vscode) ([Marp team](https://marketplace.visualstudio.com/publishers/marp-team))
* [Context Menu Extra](https://marketplace.visualstudio.com/items?itemName=rioj7.context-menu-extra) ([rioj7](https://marketplace.visualstudio.com/publishers/rioj7))
* [AutoHotKey2 Language Support](https://marketplace.visualstudio.com/items?itemName=thqby.vscode-autohotkey2-lsp) ([thqby](https://marketplace.visualstudio.com/publishers/thqby))
* [@a-stewart (Anthony Stewart)](https://github.com/a-stewart): Specific the map generics in history.ts explicitly [PR #134896](https://github.com/microsoft/vscode/pull/134896)
* [@a5hk (Ashkan)](https://github.com/a5hk): Adds support for separate horizontal and vertical borders for side by side editor [PR #135181](https://github.com/microsoft/vscode/pull/135181)
* [@asciimike (Mike McDonald)](https://github.com/asciimike): Changing port "privacy" to "visibility" to address Codespaces user confusion [PR #135193](https://github.com/microsoft/vscode/pull/135193)
* [@ashgti (John Harrison)](https://github.com/ashgti): Updating the TerminalInstance to only register link providers once. [PR #135419](https://github.com/microsoft/vscode/pull/135419)
* [@Gerrit0 (Gerrit Birkeland)](https://github.com/Gerrit0): Fix codeblock detection to catch blocks not on first lines [PR #132821](https://github.com/microsoft/vscode/pull/132821)
* [@j824h (Junghyeon Park)](https://github.com/j824h): Capturing groups support in Notebook Find Widget [PR #135444](https://github.com/microsoft/vscode/pull/135444)
* Fixes feedback widget appears wrong when invoked from command palette [PR #103738](https://github.com/microsoft/vscode/pull/103738)
* Fixes drop indicator not shown when dragging a view over panel title [PR #125438](https://github.com/microsoft/vscode/pull/125438)
* Fix empty HoverWidget is visible at startup [PR #134752](https://github.com/microsoft/vscode/pull/134752)
* [@justanotheranonymoususer](https://github.com/justanotheranonymoususer): Option to preserve focus while showing view [PR #133682](https://github.com/microsoft/vscode/pull/133682)
* [@Lemmingh](https://github.com/Lemmingh): Add source map for every possible element in the Markdown preview [PR #134799](https://github.com/microsoft/vscode/pull/134799)
* [@martinzimmermann (Martin Zimmermann)](https://github.com/martinzimmermann): Fixes #26393 by changing the default behavior of InsertCursorAbove/Below [PR #135805](https://github.com/microsoft/vscode/pull/135805)
* Set wordwrap to on for testingOutputPeek [PR #134347](https://github.com/microsoft/vscode/pull/134347)
* Add tooltip for keybinding [PR #134438](https://github.com/microsoft/vscode/pull/134438)
* [@suzmue (Suzy Mueller)](https://github.com/suzmue): disassemble request fix off by one error [PR #134241](https://github.com/microsoft/vscode/pull/134241)
* [@albinpk (Albin PK)](https://github.com/albinpk): Update comment in webpack.config.js [PR #302](https://github.com/microsoft/vscode-generator-code/pull/302)
Contributions to `vscode-js-debug`:
* [@yyyang1996 (yang)](https://github.com/yyyang1996): fix: use edge if it's the default on macOS [PR #1122](https://github.com/microsoft/vscode-js-debug/pull/1122)
* [@DanTup (Danny Tuppeny)](https://github.com/DanTup): Add support for textDocument/inlineValues [PR #806](https://github.com/microsoft/vscode-languageserver-node/pull/806)
* [@dc-mak (Dhruv Makwana)](https://github.com/dc-mak): Mention dependency of codeDescription on code [PR #830](https://github.com/microsoft/vscode-languageserver-node/pull/830)
* [@getreu (Jens Getreu)](https://github.com/getreu): Rust: Microsoft DAP server implementation [PR #204](https://github.com/microsoft/debug-adapter-protocol/pull/204)
Contributions to `language-server-protocol`:
* [@nektro (Meghan)](https://github.com/nektro): fix the bounding box of `.anchor`s [PR #1355](https://github.com/microsoft/language-server-protocol/pull/1355)
Contributions to `monaco-languages`:
* [@arlosi (Arlo Siemsen)](https://github.com/arlosi): Rust: highlighting raw strings and fix chars with escapes [PR #167](https://github.com/microsoft/monaco-languages/pull/167)