Jump to content
Xtreme .Net Talk

Visual Studio Code February 2023


Recommended Posts

Guest Visual Studio Code Team
Posted (edited)

Update 1.76.1: The update addresses these issues.

Update 1.76.2: The update addresses these issues.

Downloads: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap


Welcome to the February 2023 release of Visual Studio Code. There are many updates in this version that we hope you'll like, some of the key highlights include:

If you'd like to read these release notes online, go to
on
.

Insiders: Want to try new features as soon as possible? You can download the nightly Insiders build and try the latest updates as soon as they are available.

[HEADING=1]Accessibility[/HEADING]

[HEADING=2]Terminal command failure audio cue[/HEADING]

When a command exits with a non-zero code in a terminal with shell integration, sighted users can glance at the command decoration to quickly understand that there was a failure. To convey a failure to screen reader users, VS Code now plays the [iCODE]audioCues.terminalCommandFailed[/iCODE] audio cue.

You can listen to the available audio cue sounds by scrolling through the Help: List Audio Cues dropdown.

[ATTACH type=full" alt="List Audio Cues dropdown with Terminal Command Failed cue selected]5930[/ATTACH]

[HEADING=2]Improved error audio cue responsiveness[/HEADING]

The [iCODE]audioCues.lineHasError[/iCODE] audio cue now plays during character navigation so that screen reader users have improved insight into where the errors are in the editor.

[HEADING=2]Terminal accessible buffer improvements[/HEADING]

Last iteration, we introduced the terminal accessible buffer, which provides screen reader users access to the terminal contents via the Terminal: Focus Accessible Buffer command.

This iteration, we've improved the accessible buffer by adding selection and link support, making it read-only, and using shell integration insights to limit output to only the important terminal content - the command that was run, the exit code if any, and the output. We plan to add configuration of this feature next iteration.

[HEADING=2]Context specific Tab focus mode[/HEADING]

The Toggle Tab Key Moves Focus command is useful for determining whether the workbench or editor/terminal receive Tab key input.

The new [iCODE]editor.tabFocusMode[/iCODE] setting allow users to set the default behavior. When the value is set to [iCODE]true[/iCODE], the workbench receives the Tab key input instead of the editor or terminal.

[HEADING=2]Screen reader shell integration support on Windows[/HEADING]

Shell integration was previously disabled when a screen reader was detected on Windows due to problems with PowerShell support in this context. We have determined that this is no longer an issue in most cases, so have enabled it.

[HEADING=2]Terminal accessible help additions[/HEADING]

Discussions with the screen reader community have yielded additions to the Terminal Accessibility Help dialog (unassigned) such as mentioning the Create New Terminal (With Profile) and Preferences: Open Accessibility Settings commands.

[HEADING=1]Profiles[/HEADING]

Profiles, released to Stable last milestone, let you quickly switch VS Code configurations depending on your current workflow and project. You can save a set of customizations such as settings, extensions, and keybindings, sync them across your machines, and easily share them with colleagues.

[HEADING=2]Profile Badge[/HEADING]

VS Code now indicates the current custom profile by showing the first two letters of the profile name as a profile badge on the Manage Activity bar icon.

[ATTACH type=full" alt="Two profile badges showing the first two letters of the profiles]5931[/ATTACH]

Themes can customize the profile badge background and foreground colors by configuring the two new theme colors:

  • [iCODE]profileBadge.background[/iCODE]
  • [iCODE]profileBadge.foreground[/iCODE]

[HEADING=2]Switch profiles[/HEADING]

You can now quickly switch between profiles with the Profiles: Switch Profile command in the Command Palette (⇧⌘P), which presents a dropdown listing your available profiles.

[ATTACH type=full" alt="Switch Profile command dropdown listing available profiles]5932[/ATTACH]

[HEADING=2]Profiles in Remote Workspaces[/HEADING]

You can now create and customize profiles that include remote extensions and switch between them in Remote Development workspaces.

Below two different profiles ("Doc Writing" and "Code") are active in two instances over Remote - SSH.

[ATTACH type=full" alt="Profiles active in two Remote - SSH instances]5933[/ATTACH]

[HEADING=2]Profiles documentation[/HEADING]

Check out the new Profiles in Visual Studio Code topic if you'd like to learn more about profiles and scenarios when they are useful. This article goes into detail on how to create, modify, share, and reuse profiles.

[HEADING=1]Workbench[/HEADING]

[HEADING=2]Moveable Explorer view[/HEADING]

Most views and view containers within VS Code are moveable except for a few built-in ones. In this release, the Explorer view container (⇧⌘E) is now moveable and can be placed into the secondary side bar or the bottom panel to allow for further workbench customization.

Below the File Explorer view has been moved to the Panel area.

[ATTACH type=full" alt="File Explorer view moved to the panel area]5934[/ATTACH]

If you'd like to reset all views back to the default layout, you can run Views: Reset View Locations from the Command Palette.

[HEADING=2]Fixed-width centered layout[/HEADING]

The View: Toggle Centered Layout command ([iCODE]workbench.action.toggleCenteredLayout[/iCODE]) now has a fixed-width layout option. This option is enabled with the new [iCODE]workbench.editor.centeredLayoutFixedWidth[/iCODE] setting. When enabled and centered layout is active, the editor is centered and attempts to maintain its width across window and panel resizes.

[HEADING=2]Multiple quick diffs[/HEADING]

With the introduction of the proposed multiple quick diff API, multiple extensions can provide a quick diff. When there are multiple quick diffs in a file, you'll now see a dropdown to choose which diff base to view:

[ATTACH type=full" alt="Multiple quick diffs and diff base dropdown]5935[/ATTACH]

[HEADING=2]Comments[/HEADING]

The Comments view has a new Expand All command to go with the existing Collapse All. The gutter icon for unresolved comments is now the same icon that is used in the Comments view.

[HEADING=2]Configure default log level[/HEADING]

You can now configure the default log level for VS Code or for an extension from the Developer: Set Log Level... command. This is persisted across restarts and is synced across machines.

[ATTACH type=full" alt="Default log level dropdown with several extensions listed]5936[/ATTACH]

Selecting an extension displays the same log level dropdown as for the default log level.

[HEADING=2]Verified publisher domain in Extension editor[/HEADING]

The Extension editor now displays the verified publisher domain next to the verified indicator. Below, the [iCODE]prettier.io[/iCODE] domain is shown to the right of the verified badge.

[ATTACH type=full" alt="Prettier extension in the extension editor displaying verified publisher domain prettier.io]5937[/ATTACH]

[HEADING=1]Editor[/HEADING]

[HEADING=2]JSONC document sorting[/HEADING]

It is now possible to sort JSONC (JSON documents with comments) files by key. To use this feature, select JSON: Sort Document from the Command Palette.

[HEADING=2]Independent bracket pairs for matching and colorization[/HEADING]

In this iteration, we changed the behavior when both [iCODE]editor.language.brackets[/iCODE] and [iCODE]editor.language.colorizedBracketPairs[/iCODE] are configured. Before, setting [iCODE]editor.language.colorizedBracketPairs[/iCODE] would override [iCODE]editor.language.brackets[/iCODE] for bracket matching (as both use the same bracket pair tree). Now, the union of both settings is used for bracket matching, but only brackets configured in [iCODE]editor.language.colorizedBracketPairs[/iCODE] are colorized.

[HEADING=1]Source Control[/HEADING]

[HEADING=2]Git commit syntax highlighting[/HEADING]

VS Code has adopted a new Git grammar, which provides syntax highlighting for Git commit message files. The new grammar has better support for languages other than English.

[HEADING=2]Git and GitHub documentation[/HEADING]

Whether you are new to source control or an experienced Git user, you can learn more about VS Code's Git integration in the Source Control section of our documentation. Articles include:

[HEADING=1]Notebooks[/HEADING]

[HEADING=2]Kernel picker default mode: MRU[/HEADING]

The kernel picker now shows the most recently used (MRU) kernel by default. This is a change from the previous behavior, which was to show all available kernels. You can still see all kernels by a secondary picker Select Another Kernel..., which will group kernels by their source (for example: Jupyter Kernel, Python Environment, etc.) when you have latest Jupyter and Python extensions installed.

[ATTACH type=full" alt="Notebook kernel picker with MRU list and using the Select Another Kernel option]5938[/ATTACH]

[HEADING=2]Notebook renderer performance diagnostics[/HEADING]

When running notebook cells, some notebook output renderers may take a long time to render. To help identify these renderers, we've added diagnostics to the hover in the notebook cell Status bar. This view shows the time it took for each renderer to execute and the total execution time. Additionally, the links in the hover will open the issue reporter with the renderer's name and execution time pre-filled so that you can easily file an issue if you find the renderer is taking too long to execute.

[ATTACH type=full" alt="Image showing the cell Status bar hover with renderer execution times]5939[/ATTACH]

[HEADING=2]Better link support for built-in error renderer[/HEADING]

The built-in error renderer now supports links to files and line numbers. This allows you to click on a file path in the error message and open the file in the editor.

Jupyter extension's error renderer was deprecated in favor of the built-in error renderer.

[ATTACH type=full" alt="Notebook built-in error renderer]5940[/ATTACH]

[HEADING=1]Languages[/HEADING]

[HEADING=2]Markdown workspace header link completions[/HEADING]

Need to link to a header in another Markdown document but don't remember or want to type out the full file path? Try using workspace header completions! To start, just type [iCODE]##[/iCODE] in a Markdown link to see a list of all Markdown headers from the current workspace:

[ATTACH type=full" alt="Suggestions for all Markdown headers in the current workspace]5941[/ATTACH]

Accept one of these completions to insert the full link to that header, even if it's in another file:

[ATTACH type=full" alt="Adding a link to the selected header in another file]5942[/ATTACH]

You can configure if/when workspace header completions show with the Markdown > Suggest > Paths: Include Workspace Header Completions setting ([iCODE]markdown.suggest.paths.includeWorkspaceHeaderCompletions[/iCODE]).

Valid setting values are:

  • [iCODE]onDoubleHash[/iCODE] (the default) - Show workspace header completions only after you type [iCODE]##[/iCODE].
  • [iCODE]onSingleOrDoubleHash[/iCODE] - Show workspace header completions after you type [iCODE]#[/iCODE] or [iCODE]##[/iCODE].
  • [iCODE]never[/iCODE] - Never show workspace header completions.

Keep in mind that finding all headers in the current workspace can be expensive, so there may be a slight delay the first time they are requested, especially for workspaces with lots of Markdown files.

[HEADING=2]Configure preferred file extension style for Markdown links[/HEADING]

The new [iCODE]markdown.preferredMdPathExtensionStyle[/iCODE] setting configures if VS Code prefers using file extensions for links to Markdown files. This preference is used for language tools such as path completions and link renames.

Valid setting values are:

  • [iCODE]auto[/iCODE] - Try to preserve the existing style of the file extension.
  • [iCODE]includeExtension[/iCODE] - Include the trailing [iCODE].md[/iCODE] in the link.
  • [iCODE]removeExtension[/iCODE] - Remove the trailing [iCODE].md[/iCODE] from the link.

[HEADING=1]Remote Development[/HEADING]

The Remote Development extensions, allow you to use a Dev Container, remote machine via SSH or Remote Tunnels, or the Windows Subsystem for Linux (WSL) as a full-featured development environment.

You can learn about new extension features and bug fixes in the Remote Development release notes.

[HEADING=2]Remote menu[/HEADING]

This milestone we made several usability improvements to the remote menu, accessible by clicking on the remote indicator in the lower left of the Status bar:

  1. There is now a default keybinding to open the remote menu: ⌥⌘O.

  2. We reduced our remote extensions' contributions to the remote menu to make it easy to view all actions for connecting to a remote window at a glance.
    • Basic actions for opening a remote window are now always available in the remote menu, so you can discover actions to connect to another remote even when you are already in a remote window.
    • Most actions for configuring or getting started with a remote have moved from the remote menu to the Command Palette to conserve space in the remote menu.

[*]The Install Additional Remote Extensions option in the remote menu now points to a list of curated Remote Development extensions and is hidden from the remote menu if all such extensions are already installed.

[HEADING=2]Remote Repositories[/HEADING]

This milestone, we introduced the Browse & Edit Remote Repositories without Cloning walkthrough in the Remote Repositories extension to help you search, edit, and create quick commits in GitHub and Azure Repos without cloning locally.

You can also check out the Remote Repositories tutorial to help you get started.

[HEADING=1]VS Code for the Web[/HEADING]

This milestone we have added experimental readonly support for Git LFS-tracked files hosted in GitHub and Azure Repos repositories on vscode.dev.

In the short video below, images stored on Git LFS in the vscode-docs repository are visible when scrolling the Markdown Preview on vscode.dev.

 

When you view a file in a GitHub or Azure Repos repository, based on your [iCODE].gitattributes[/iCODE] configuration, we detect whether the file is LFS-tracked and needs to be fetched from GitHub's or Azure Repos's LFS servers.

You can also use the GitHub Repositories and Azure Repos extensions with VS Code Desktop to browse repositories containing Git LFS-tracked files without cloning.

This behavior can be disabled with the following settings:

  • [iCODE]"githubRepositories.experimental.lfs.read.enabled": false[/iCODE]
  • [iCODE]"azureRepos.experimental.lfs.read.enabled": false[/iCODE]

VS Code does not yet support committing Git LFS-tracked files, and github.dev does not have Git LFS read support.

[HEADING=1]Extensions[/HEADING]

[HEADING=2]Improved extension search relevance[/HEADING]

We have improved the relevance of extension search results in the Extensions view and on the Marketplace gallery. Results should now be more appropriate, especially for multi-word queries.

[TABLE width=770px]

[TR]

[th]

Before

[/th][th]

After

[/th]

[/TR]

[TR]

[td][ATTACH type=full" alt="Search results for mono debugger showing Java debugger extension as the top result]5943[/ATTACH][/td][td][ATTACH type=full" alt="Search results for mono debugger showing Mono debug extension as the top result]5944[/ATTACH][/td]

[/TR]

[/TABLE]

[HEADING=1]Contributions to extensions[/HEADING]

[HEADING=2]Jupyter[/HEADING]

[HEADING=3]IPYWIDGETS[/HEADING]

The Jupyter extension now supports version [iCODE]8[/iCODE] of IPyWidgets. Python Widgets relying on [iCODE]IPyWidgets 7.*[/iCODE] will continue to work, as both versions [iCODE]7.*[/iCODE] and [iCODE]8.*[/iCODE] are supported.

[HEADING=3]INTERACTIVE WINDOW KERNEL SELECTION[/HEADING]

Auto-selecting a kernel for the Interactive Window was modified to work better with the new kernel picker UI. The current active interpreter is used unless another kernel was previously chosen for an Interactive Window in that workspace, in which case the previously selected kernel is used.

[HEADING=2]Python[/HEADING]

[HEADING=3]IMPROVED INTELLISENSE SUPPORT FOR PYTEST[/HEADING]

The Pylance extension now has powerful features that can help you work more efficiently and effectively when writing clear, concise, and easy to understand tests with pytest:

  • Support for completions, Go to Definition, Find All References, and Rename Symbol (F2) for pytest fixtures and parameterized arguments.
  • Type annotation support for pytest parameters through inlay hints (enabled by the [iCODE]"python.analysis.inlayHints.pytestParameters"[/iCODE] setting) and through Code Actions.
  • Type inference of parameterized pytest arguments, based on the parameter values provided to the decorator.

The short video below highlights these new pytest features:

[HEADING=2]GitHub Pull Requests and Issues[/HEADING]

There has been more progress on the GitHub Pull Requests and Issues extension, which allows you to work on, create, and manage pull requests and issues. Highlights include:

  • Permalink rendering in the PR description and in comments.
  • Re-requesting reviews from the description page.
  • Quick diffs for files in a checked-out PR.

Check out the changelog for the 0.60.0 release of the extension to see the other highlights.

[HEADING=1]Preview features[/HEADING]

[HEADING=2]Rich content notebook search[/HEADING]

Global search now supports showing results from notebooks as they would be displayed in the notebook editor. Enable [iCODE]search.experimental.notebookSearch[/iCODE] to try this out, and let us know about any bugs that you run into! This currently only supports searching cell inputs and Markdown sources in cells.

 

Theme: Community Material Theme (preview on vscode.dev)

[HEADING=2]Asynchronous tokenization[/HEADING]

This release ships the experimental asynchronous tokenization feature. This feature allows the editor to tokenize documents in a separate web worker, which can improve the responsiveness of the editor when the document is large.

For now, asynchronous tokenization is disabled by default but can be enabled by setting [iCODE]editor.experimental.asyncTokenization[/iCODE] to [iCODE]true[/iCODE].

[HEADING=2]TypeScript 5.0 support[/HEADING]

This update includes support for the upcoming TypeScript 5.0 release. See the TypeScript 5.0 Beta blog post and TypeScript 5.0 iteration plan for more details on what the TypeScript team is currently working on. Some editor tooling highlights:

  • New [iCODE]switch[/iCODE] and [iCODE]case[/iCODE] completions help you fill in both sections of [iCODE]switch[/iCODE] statements more quickly.
  • Work on enabling project-wide IntelliSense on github.dev and vscode.dev.

To start using the TypeScript 5.0 nightly builds, install the TypeScript Nightly extension or install the latest VS Code 1.76+ Insiders build.

[HEADING=1]Extension authoring[/HEADING]

[HEADING=2]Link support in InputBox prompts and validation messages[/HEADING]

This iteration, we introduced support for links in [iCODE]InputBox[/iCODE] prompts and validation messages. In those strings, you can now use the following syntax to create links:

[color=rgb(187, 187, 187)][[/color][color=rgb(156, 220, 254)]link[/color][color=rgb(187, 187, 187)] [/color][color=rgb(156, 220, 254)]text[/color][color=rgb(187, 187, 187)]]([/color][color=rgb(156, 220, 254)]link[/color][color=rgb(187, 187, 187)] [/color][color=rgb(156, 220, 254)]target[/color][color=rgb(187, 187, 187)])[/color]

Copy

The link target can be a URL or a command ID. When the user clicks on the link, the link target is opened in the browser or executed as a command, respectively.

Example:

[color=rgb(86, 156, 214)]const[/color][color=rgb(187, 187, 187)] [/color][color=rgb(79, 193, 255)]result[/color][color=rgb(187, 187, 187)] [/color][color=rgb(212, 212, 212)]=[/color][color=rgb(187, 187, 187)] [/color][color=rgb(197, 134, 192)]await[/color][color=rgb(187, 187, 187)] [/color][color=rgb(156, 220, 254)]vscode[/color][color=rgb(187, 187, 187)].[/color][color=rgb(156, 220, 254)]window[/color][color=rgb(187, 187, 187)].[/color][color=rgb(220, 220, 170)]showInputBox[/color][color=rgb(187, 187, 187)]({
 [/color][color=rgb(156, 220, 254)]prompt:[/color]
[color=rgb(187, 187, 187)]    [/color][color=rgb(206, 145, 120)]'Please enter a valid email address [more info](https://aka.ms/vscode-email-validation)'[/color][color=rgb(187, 187, 187)],
 [/color][color=rgb(220, 220, 170)]validateInput[/color][color=rgb(156, 220, 254)]:[/color][color=rgb(187, 187, 187)] [/color][color=rgb(156, 220, 254)]text[/color][color=rgb(187, 187, 187)] [/color][color=rgb(86, 156, 214)]=>[/color][color=rgb(187, 187, 187)] {
   [/color][color=rgb(197, 134, 192)]if[/color][color=rgb(187, 187, 187)] ([/color][color=rgb(156, 220, 254)]text[/color][color=rgb(187, 187, 187)].[/color][color=rgb(220, 220, 170)]indexOf[/color][color=rgb(187, 187, 187)]([/color][color=rgb(206, 145, 120)]'@'[/color][color=rgb(187, 187, 187)]) [/color][color=rgb(212, 212, 212)]===[/color][color=rgb(187, 187, 187)] [/color][color=rgb(212, 212, 212)]-[/color][color=rgb(181, 206, 168)]1[/color][color=rgb(187, 187, 187)]) {
     [/color][color=rgb(197, 134, 192)]return[/color][color=rgb(187, 187, 187)] [/color][color=rgb(206, 145, 120)]'Please enter a valid email address, [more info](https://aka.ms/vscode-email-validation)'[/color][color=rgb(187, 187, 187)];
   }
   [/color][color=rgb(197, 134, 192)]return[/color][color=rgb(187, 187, 187)] [/color][color=rgb(86, 156, 214)]undefined[/color][color=rgb(187, 187, 187)];
 }
});[/color]

Copy

which will result in the following prompt:

[ATTACH type=full" alt="Prompt contains a link that is underlined]5945[/ATTACH]

and the following validation message:

[ATTACH type=full" alt="Validation message contains a link that is underlined]5946[/ATTACH]

Theme: Panda Theme (preview on vscode.dev)

This behavior works for both the [iCODE]showInputBox[/iCODE] and [iCODE]createInputBox[/iCODE] APIs.

[HEADING=2]Information diagnostic for * activation event[/HEADING]

When an extension uses the [iCODE]*[/iCODE] (star) activation event, it is activated while VS Code is in the process of starting up. This can delay the startup of VS Code. To help extension authors understand the impact of using the [iCODE]*[/iCODE] activation event, we have added an information diagnostic that is shown when an extension uses the [iCODE]*[/iCODE] activation event. The diagnostic is displayed in the Problems view and is also visible in the extension editor:

[ATTACH type=full" alt="Diagnostic for * activation event]5947[/ATTACH]

For more information about [iCODE]*[/iCODE] (star) activation, you can read the Activation Events documentation.

[HEADING=2]Upcoming changes in when clause contexts parsing[/HEADING]

When clauses used in extension manifest files ([iCODE]package.json[/iCODE]) allow extensions to selectively enable and disable contributions such as commands and UI elements (for example, menus or views). The next VS Code release is planned to include a new parser for when clauses. The new parser offers more features and correctness, but it also enforces stricter rules for when clauses and may result in some breakages for existing when clauses. Review issue #175540 to learn more about the breakages and new features. You are also encouraged to subscribe to that issue for updates on the new parser, including new features, breakages, and migration guidelines.

[HEADING=2]Upcoming Electron update may require mandatory changes to native modules[/HEADING]

We plan to update to Electron 22 in our next stable release. This comes with implications for extensions that leverage native modules due to the enablement of the V8 memory cage: [iCODE]ArrayBuffers[/iCODE] which point to external ("off-heap") memory are no longer allowed. This means that native modules which rely on this functionality in V8 will need to be refactored to continue working in VS Code [iCODE]1.77[/iCODE] and later.

Please follow the advise in the Electron Blog post for how to make your native module work with future versions of VS Code.

[HEADING=1]Language Server Protocol[/HEADING]

New versions of the Language Server Protocol (LSP) client (8.1.0) and server (8.1.0) npm packages have been released. These are bug fix releases (mainly to address problems with request ordering problem when using full text document sync) and contain API additions for custom message handling to the JSON-RPC library.

[HEADING=1]Proposed APIs[/HEADING]

Every milestone comes with new proposed APIs and extension authors can try them out. As always, we want your feedback. Here are the steps to try out a proposed API:

  1. Find a proposal that you want to try and add its name to [iCODE]package.json#enabledApiProposals[/iCODE].
  2. Use the latest vscode-dts and run [iCODE]vscode-dts dev[/iCODE]. It will download the corresponding [iCODE]d.ts[/iCODE] files into your workspace.
  3. You can now program against the proposal.

You cannot publish an extension that uses a proposed API. There may be breaking changes in the next release and we never want to break existing extensions.

[HEADING=2]OpenDialogOptions allowUIResources[/HEADING]

Extensions that are aware when they are running in a remote extension host can use [iCODE]allowUIResources[/iCODE] to cause the Show local button to display in open file dialogs. Extensions that use [iCODE]allowUIResources[/iCODE] should always check the scheme of the URI that's returned.

[HEADING=2]Tooltips for QuickPickItems[/HEADING]

This iteration we are introducing a new proposed API for a [iCODE]tooltip[/iCODE] property on [iCODE]QuickPickItem[/iCODE]s. This property allows you to specify a tooltip for each item in a Quick Pick. The tooltip is displayed when the user hovers over the item or it can be toggled with Ctrl+Space.

Example:

[color=rgb(197, 134, 192)]await[/color][color=rgb(187, 187, 187)] [/color][color=rgb(156, 220, 254)]vscode[/color][color=rgb(187, 187, 187)].[/color][color=rgb(156, 220, 254)]window[/color][color=rgb(187, 187, 187)].[/color][color=rgb(220, 220, 170)]showQuickPick[/color][color=rgb(187, 187, 187)](
 [
   {
     [/color][color=rgb(156, 220, 254)]label:[/color][color=rgb(187, 187, 187)] [/color][color=rgb(206, 145, 120)]'label'[/color][color=rgb(187, 187, 187)],
     [/color][color=rgb(156, 220, 254)]tooltip:[/color][color=rgb(187, 187, 187)] [/color][color=rgb(206, 145, 120)]'tooltip'[/color]
[color=rgb(187, 187, 187)]    },
   {
     [/color][color=rgb(156, 220, 254)]label:[/color][color=rgb(187, 187, 187)] [/color][color=rgb(206, 145, 120)]'label2'[/color][color=rgb(187, 187, 187)],
     [/color][color=rgb(156, 220, 254)]tooltip:[/color][color=rgb(187, 187, 187)] [/color][color=rgb(86, 156, 214)]new[/color][color=rgb(187, 187, 187)] [/color][color=rgb(156, 220, 254)]vscode[/color][color=rgb(187, 187, 187)].[/color][color=rgb(220, 220, 170)]MarkdownString[/color][color=rgb(187, 187, 187)]([/color][color=rgb(206, 145, 120)]'tooltip2 [link](https://github.com)'[/color][color=rgb(187, 187, 187)])
   }
 ],
 {
   [/color][color=rgb(156, 220, 254)]placeHolder:[/color][color=rgb(187, 187, 187)] [/color][color=rgb(206, 145, 120)]'placeholder'[/color]
[color=rgb(187, 187, 187)]  }
);[/color]

Copy

which will result in the following Quick Pick:

 

Theme: Panda Theme (preview on vscode.dev)

Obviously, this is a simple example that doesn't need a tooltip. Tooltips are useful when you want to provide long descriptions that might have multiple lines or links to additional resources.

We think that this property is a good addition to the Quick Pick API and we are looking forward to your feedback.

[HEADING=1]Engineering[/HEADING]

[HEADING=2]More Electron UtilityProcess adoption[/HEADING]

As part of our process sandbox journey, we want to make sure that there are no more Node.js enabled browser windows in our application. This milestone we started to convert our last remaining process from a hidden Node.js browser window to an Electron UtilityProcess. As part of this work, the file watcher process had to move out into its own utility process as well.

A new setting [iCODE]window.experimental.sharedProcessUseUtilityProcess[/iCODE] enables the use of [iCODE]UtilityProcess[/iCODE] and we plan to make this the default in the next release.

[HEADING=2]macOS 10.11 and 10.12 support has ended[/HEADING]

As mentioned in our 1.75 release notes, [iCODE]1.76[/iCODE] is the last release that supports macOS 10.11 (OS X El Capitan) and 10.12 (macOS Sierra). Refer to our FAQ for additional information.

[HEADING=1]Notable fixes[/HEADING]

  • 168939 Persist state of badge hiding across reloads and view moves.
  • 164397 Layout control in the wrong place for RTL macOS.

 

Continue reading...

Edited by AWS

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...