Order | TOCTitle | PageTitle | MetaDescription | MetaSocialImage | Date | DownloadVersion |
---|---|---|---|---|---|---|
67 |
June 2021 |
Visual Studio Code June 2021 |
Learn what is new in the Visual Studio Code June 2021 Release (1.58) |
1_58/release-highlights.png |
2021-07-07 |
1.58.0 |
Welcome to the Insiders build. These are the preliminary notes for the June 1.58 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 June milestone release notes are available, you can still track our progress:
- June iteration plan - Review what's planned for the milestone.
- Commit log - GitHub commits to the vscode open-source repository.
- Closed issues - Resolved bugs and implemented feature requests in the milestone.
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.
This iteration adds support for objects with a fixed number of boolean properties to the Settings editor, by rendering the properties as a list of checkboxes.
This iteration also adds additional support for arrays of enums, by using dropdowns in editing mode instead of plain textboxes.
A transient .code-workspace
workspace behaves a bit differently than usual workspaces do, specifically:
- Restarting or reloading VS Code will not attempt to open the workspace again.
- Workspaces set as transient do not show up in the list of recently opened workspaces.
Designate a transient workspace by adding the transient
property set to true
in the workspace .code-workspace
file:
{
"folders": [],
"transient": true
}
Added troubleshoot view that contains all settings sync logs and last sync states to settings sync views. You can access this view by running the command Settings Sync: Show Synced Data and enabling it from Views sub-menu like below:
Theme: GitHub Light Theme
Terminals can now be created in or moved to the editor area, enabling a multi-dimensional grid layout that persists and remains visible regardless of panel state.
Create terminals via the Create Terminal in Editor Area command.
Move a terminal from the panel to the editor by dragging and dropping from the tabs list, running Move Terminal into Editor Area with a terminal focused, or selecting the context menu action.
In a prior iteration, we removed the terminal.integrated.rendererType
setting in favor of terminal.integrated.gpuAcceleration
when we enabled the WebGL
renderer by default. Some architectures have improved terminal performance when using the canvas renderer. To use the canvas renderer, set terminal.integrated.gpuAcceleration
to canvas
.
Set terminal.integrated.defaultLocation
to editor
to direct newly created terminals to the editor area.
Set terminal.integrated.showLinkHover
to false
to disable link hovers in the terminal. This can be useful if you find them distracting, for example.
We now bundle TS 4.3.5. This minor update fixes a few important bugs, including auto imports not working in JSX.
VS Code's built-in Markdown preview can now render math equations using KaTeX
Inline math equations are wrapped in single dollar signs:
Inline math: $x^2$
While you can create a math equation block with double dollar signs:
Math block:
$$
\displaystyle
\left( \sum_{k=1}^n a_k b_k \right)^2
\leq
\left( \sum_{k=1}^n a_k^2 \right)
\left( \sum_{k=1}^n b_k^2 \right)
$$
You can set "markdown.math.enabled": false
to disable this feature.
We now also support highlighting of math equations in Markdown source:
This works both in normal markdown files and in Markdown cells inside notebooks.
When debugging is started without a launch.json
file, VS Code looks at the active editor and based on the language mode of the active editor decides what debug extension to use. However, for some languages, there are multiple fitting debug extensions and in that case VS Code would prompt you to choose. To make starting debugging smoother, we are now remembering this choice per active file, so that the next time you start debugging, the session starts without any prompts.
The Debug Console suggestions are no longer accepted on Enter
, but only on Shift+Enter
and Tab
. Previously it was very easy to accidently accept a suggestion when a user actually wanted to just evaluate what is already typed in the Debug Console input.
In order to make Tab
more discoverable as a way to accept suggestions we are now rendering the suggestion status bar in the Debug Console input.
This release includes initial support for the upcoming TypeScript 4.4 release. You can read more about the new language features and improvements in TypeScript 4.4 on the TypeScript blog.
To start using the TypeScript 4.4 nightly builds, just install the TypeScript Nightly extension.
Please share your feedback and let us know if you run into any bugs with TypeScript 4.4.
We have added new API for more detailed and structured completion item labels. You can now use the vscode.CompletionItemLabel type for item's labels and it allows you to specify label, details, and description.
These new properties allow language extensions to show signatures or qualifiers but also other completion provider can utilize this. For instance, the Github Pull Request extension now shows full names alongside aliases.
The API for showing modal information, warning, and error messages now allows to provide details. They are less prominent rendered than the actual message.
The dialog above is produced with the following code snippet. Note that detail is only supported for modal messages.
vscode.window.showInformationMessage('This is the message', {
modal: true,
detail: 'This is the detail. Rendered less prominent, but with more space for, well, details.'
});
Extensions can now:
- Customize a terminal's icon by providing an
iconPath
inTerminalOptions
orExtensionTerminalOptions
. - Contribute terminal profiles via a
TerminalProfileProvider
. - Change the name of extension terminals by firing
Pseudoterminal.onDidChangeName
.
We have started working on providing a built-in interactive window experience on top of the notebook ecosystem and the Jupyter extension has adopted it behind a setting jupyter.enableNativeInteractiveWindow
. If the feature is enabled, the Jupyter extension will open the built-in editor instead of the webview implementation, when running code from Python files or directly launching from Command Palette. The built-in editor works with your customized keybindings/keymaps or language extensions since it's deeply integrated with the workbench.
A new next version of the language server protocol together with the corresponding npm modules has been published. The version contains the final proposal for the diagnostic pull model specification.
We have updated our TypeScript projects to allow using recent JavaScript APIs, like Promise.allSettled
or String.replaceAll
. We also output more modern JavaScript, ES2020, which reduces the overall size of our main bundle by a tiny little bit.
This milestone we continued to make the VS Code window ready for enabling Electron's sandbox and context isolation features.
Specifically:
- We removed our Node.js dependency for loading the resources needed to open VSCode windows in general.
- We added searching to
iframe
elements to get behavior closer to the deprecatedwebview
component, allowing us to dropwebview
in the future. This feature can be enabled by setting"webview.experimental.useIframes": true
in thesettings.json
file.
- 126702: macOS: command line
code .
not working - 127716: Debug Hover: Allow keyboard to search through properties
- 126211: Node process started via debugger is not killed when quitting VSCode
- 125528: Deselect breakpoint in breakpoint view when no longer stopped on it
- 125144: When thread is no longer stopped the focus is not automatically passed to another thread
- 120956: iPad: can not trigger context menu outside of Editor
- 124169: Try to not indent the active debugging line
- 122448: Auto disable extensions if their dependencies are disabled
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:
- John Murray (@gjsjohnmurray)
- Andrii Dieiev (@IllusionMH)
- Simon Chan (@yume-chan)
- ArturoDent (@ArturoDent)
- Alexander (@usernamehw)
Contributions to vscode
:
- @Aaaaash (大表哥)
- fix: areLanguageDiagnosticSettingsEqual always return true PR #125365
- Files watcher exclude - do not ignore changes to the node_modules folder itself. PR #125801
- @barbaravaldez (Barbara Valdez): Modify treeDataChange event PR #125214
- @conwnet (netcon): fix: web typescript extension can not found definitions PR #125279
- @cpsauer (Christopher Sauer): Accept editor line height as multiple of font size PR #125601
- @danielgary (Daniel Gary): use title for terminal selection PR #123478
- @datho7561 (David Thompson): Add
wordPattern
for XML and XSL languages PR #127334 - @fannheyward (Heyward Fann): fix: importStatementSuggestions config section PR #124822
- @forivall (Emily Marigold Klassen): chore(typescript-language-features): fix spelling of deprecated PR #125693
- @hantatsang (Sang): Improve DocumentFilter doc PR #125734
- @jeanp413 (Jean Pierre)
- Fixes terminal drop overlay moves horizontally instead of vertically when pane is on the side PR #124985
- Fixes error while viewing contributions tab in extensions editor PR #125607
- Fixes error after dropping invalid element over editor area PR #125943
- Fixes error when drag and drop invalid element into terminal PR #126553
- Fixes rich hover focus outline shows under status bar hovers PR #127603
- @ksyx: fix(window.ts): unresponsive window popup message [NFC] PR #126351
- @LiangchengJ (Liangcheng Juves): Updated "Code - OSS" icon for macOS Big Sur PR #124416
- @markxoe (Mark Oude Elberink): Optimize english please actions PR #125154
- @mghalayini (Mohammad Ghalayini): support links that begin with a root folder PR #125615
- @movermeyer (Michael Overmeyer): Add a camelCase transform for Snippet variables PR #127257
- @nrayburn-tech (Nicholas Rayburn)
- Add hover css to the hover element PR #123384
- add option to not show link hovers for terminal PR #124926
- @qchateau (Quentin Chateau): Fix duplicated code format PR #126183
- @richardtallent (Richard Tallent): Fix doc of renderWhitespace default value PR #125591
- @rickpmartin (Rick Martin): Add search.maxResults setting PR #126762
- @ryyppy (Patrick Ecker): Update to latest seti-ui & add ReScript to the icon theme PR #125659
- @stefanloerwald (Stefan Lörwald): Fixes #125303 PR #125304
- @suzmue (Suzy Mueller): Set top level stopped reason when threadId not specified PR #126852
- @turara: Fixes [Terminal: Clear] command PR #107454
- @Vtec234 (Wojciech Nawrocki)
- Add WASM MIME type PR #125782
- Support Content-Length and Last-Modified for webview local resources PR #125994
Contributions to vscode-extension-samples
:
- @barbaravaldez (Barbara Valdez): Implement drag and drop controller PR #431
Contributions to vscode-html-languageservice
:
- @dummdidumm (Simon H): Add some missing mouse and pointer events PR #108
- @hardikshah197 (Hardik Sharma): Minor Documentation type change to "value" PR #107
Contributions to vscode-js-debug
:
- @rinselmann (Ryan Inselmann): fix: Error when trying to set a breakpoint in index.html PR #1029
Contributions to vscode-languageserver-node
:
- @dsherret (David Sherret): Ensure exit notification is sent before closing connection PR #776
Contributions to language-server-protocol
:
- @DanTup (Danny Tuppeny): Add source.fixAll constant PR #1308
Contributions to monaco-editor
:
- @anthony-c-martin (Anthony Martin): Add Bicep sample PR #2541
Contributions to monaco-languages
:
- @qwefgh90 (Changwon Choe): improve a rule which freeze a page in restructuredText PR #141
Contributions to monaco-typescript
:
- @spahnke (Sebastian Pahnke): Build tag text correctly for all tags PR #81