Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 16 additions & 16 deletions release-notes/v1_100.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
Order:
Order:
TOCTitle: April 2025
PageTitle: Visual Studio Code April 2025
MetaDescription: Learn what is new in the Visual Studio Code April 2025 Release (1.100)
Expand Down Expand Up @@ -162,7 +162,7 @@ Also, the `#githubRepo` tool is only for searching for relevant code snippets. T

Use the extensions tool (`#extensions`) in chat to find extensions from the Marketplace. Based on your chat prompt, the tool is automatically invoked, or you can explicitly reference it in your prompt with `#extensions`. The tool returns a list of extensions that match your query. You can install extensions directly from the results.

<video src="images/1_100/extensions-agent-tool.mp4" title="Video that shows using the extensions tool to display popular Java extensions." autoplay loop controls muted></video>
<video src="images/1_100/extensions-agent-tool.mp4" title="Video that shows using the extensions tool to display popular Java extensions." controls muted></video>

### Improvements to the web page fetch tool

Expand Down Expand Up @@ -237,7 +237,7 @@ Note that not all language models support reading images from tool output. For e

We have enhanced the UI that shows MCP server tool input and output, and have also added support for MCP's new progress messages.

<video src="images/1_100/mcp-confirm.mp4" autoplay loop controls muted></video>
<video src="images/1_100/mcp-confirm.mp4" controls muted></video>
_Theme: [Codesong](https://marketplace.visualstudio.com/items?itemName=connor4312.codesong) (preview on [vscode.dev](https://vscode.dev/editor/theme/connor4312.codesong))_

### MCP config generation uses inputs
Expand All @@ -252,7 +252,7 @@ We have been working on a revamped version of inline chat `kb(inlineChat.start)`

Further, there is now a more lightweight UX that can optionally be enabled. With the `setting(inlineChat.hideOnRequest:true)` setting, inline chat hides as soon as a request is made. It then minimizes into the chat-editing overlay, which enables accepting or discarding changes, or restoring the inline chat control.

<video src="images/1_100/inlinechat2.mp4" title="Video that shows inline chat v2 and hide-on-request in action." autoplay loop controls muted></video>
<video src="images/1_100/inlinechat2.mp4" title="Video that shows inline chat v2 and hide-on-request in action." controls muted></video>

### Select and attach UI elements to chat (Experimental)

Expand All @@ -262,7 +262,7 @@ While you're developing a web application, you might want to ask chat about spec

After opening any locally-hosted site via the built-in Simple Browser (launch it with the **Simple Browser: Show** command), a new toolbar is now shown where you can select **Start** to select any element in the site that you want. This attaches a screenshot of the selected element, and the HTML and CSS of the element.

<video src="images/1_100/ui-element-selection-demo.mp4" title="Video showing the full flow of the UI element selection experimental feature. In the demo, we attach a hero from a webpage and ask chat to add a background image to that hero." autoplay loop controls muted></video>
<video src="images/1_100/ui-element-selection-demo.mp4" title="Video showing the full flow of the UI element selection experimental feature. In the demo, we attach a hero from a webpage and ask chat to add a background image to that hero." controls muted></video>

Configure what is attached to chat with:

Expand Down Expand Up @@ -308,11 +308,11 @@ Floating windows in VS Code allow you to move editors and certain views out of t

Here is an example of how to turn a floating editor window into compact mode:

<video src="images/1_100/floating-compact.mp4" title="Video that shows floating window compact mode." autoplay loop controls muted></video>
<video src="images/1_100/floating-compact.mp4" title="Video that shows floating window compact mode." controls muted></video>

We use compact mode by default for when you create a chat in a new window. Combined with the option to have the window always on top, you can always keep the Chat view around for asking questions!

<video src="images/1_100/floating-pinned.mp4" title="Video that shows floating window always on top." autoplay loop controls muted></video>
<video src="images/1_100/floating-pinned.mp4" title="Video that shows floating window always on top." controls muted></video>

We introduced new commands if you prefer to use keyboard shortcuts for these actions:

Expand Down Expand Up @@ -363,7 +363,7 @@ Views (tree views and webview views) can now be opened without focusing them. Th

Semantic text search now supports AI-powered keyword suggestions. By enabling this feature, you will start seeing relevant references or definitions that might help you find the code you are looking for.

<video src="images/1_100/ai-keywords.mp4" title="Video that shows AI-powered keyword suggestions in Visual Studio Code." autoplay loop controls muted></video>
<video src="images/1_100/ai-keywords.mp4" title="Video that shows AI-powered keyword suggestions in Visual Studio Code." controls muted></video>

## Code Editing

Expand Down Expand Up @@ -402,15 +402,15 @@ The Notebook Find control now supports persistent history for both the find and

To enhance existing support for cell output usage within chat, outputs are now able to be dragged into the Chat view for a seamless attachment experience. Currently, only image and textual outputs are supported. Outputs with an image mime type are directly draggable, however to avoid clashing with text selection, textual outputs require holding the `kbstyle(alt)` modifier key to enable dragging. We are exploring UX improvements in the coming releases.

<video src="images/1_100/output-dnd.mp4" title="Video that shows multiple cell outputs being attached as chat context via drag and drop." autoplay loop controls muted></video>
<video src="images/1_100/output-dnd.mp4" title="Video that shows multiple cell outputs being attached as chat context via drag and drop." controls muted></video>

### Notebook tools for agent mode

#### Run cell

Chat now has an LLM tool to run notebook cells, which allows the agent to perform updates based on cell run results or perform its own data exploration as it builds out a notebook.

<video src="images/1_100/agent-notebook-run-edit-loop.mp4" title="Video that shows copilot running notebook cells, making updates based on an error, and retrying those cells." autoplay loop controls muted></video>
<video src="images/1_100/agent-notebook-run-edit-loop.mp4" title="Video that shows copilot running notebook cells, making updates based on an error, and retrying those cells." controls muted></video>

#### Get kernel state

Expand All @@ -426,7 +426,7 @@ The Jupyter extension contributes tools for listing and installing packages into

To address a long-time feature request, this milestone we have added quick diff editor decorations for staged changes. Now you can view your staged changes directly from the editor, without needing to open the Source Control view.

<video src="images/1_100/staged-changes-diff-decorations.mp4" title="Video that shows managing staged changed from an editor by using diff decorations." autoplay loop controls muted></video>
<video src="images/1_100/staged-changes-diff-decorations.mp4" title="Video that shows managing staged changed from an editor by using diff decorations." controls muted></video>

You can customize the color of the staged changes quick diff decorations by using the following theme tokens: `editorGutter.addedSecondaryBackground`, `editorGutter.modifiedSecondaryBackground`, `editorGutter.deletedSecondaryBackground`.

Expand Down Expand Up @@ -462,7 +462,7 @@ Files with name format `.*.env` are now syntax highlighted as `.ini` files.

We've continued to iterate on the expandable hover feature for JavaScript and TypeScript. This feature lets you use a `+` and `-` in the hover control to show more or less type information.

<video src="images/1_100/expandable-hover.mp4" title="Video that shows TypeScript expandable hover." autoplay loop controls muted></video>
<video src="images/1_100/expandable-hover.mp4" title="Video that shows TypeScript expandable hover." controls muted></video>

This feature is still experimental but you can try it today by enabling `setting(typescript.experimental.expandableHover)`. You must be using TypeScript version 5.9 or above, for example by installing the [TypeScript nightly extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-typescript-next).

Expand All @@ -482,7 +482,7 @@ Dev Container features and images now include instructions files describing thei

Branch coverage is now supported in the Testing Explorer for Python! Note that your `coveragepy` version must be >= 7.7 for this feature. You can upgrade coverage by running `pip install coverage==7.7`.

<video src="images/1_100/python-branch-coverage.mp4" title="Video showing branch coverage run using the Test Explorer and branch coverage displayed." autoplay loop controls muted></video>
<video src="images/1_100/python-branch-coverage.mp4" title="Video showing branch coverage run using the Test Explorer and branch coverage displayed." controls muted></video>

#### Python Environments Quick Create command

Expand All @@ -494,9 +494,9 @@ The [Python Environments](https://marketplace.visualstudio.com/items?itemName=ms

The [Python Environments](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-python-envs) extension (preview) now includes two chat tools: “Get Python Environment Information” and “Install Python Package”. To use these tools, you can either directly reference them in your prompt by adding `#pythonGetEnvironmentInfo` `#pythonInstallPackage`, or agent mode will automatically call the tool as applicable. These tools seamlessly detect appropriate environment information based on file or workspace context, and handle package installation with accurate environment resolution.

<video src="images/1_100/python-get-env-tool.mp4" title="Video demoing the get environment information tool call implicitly by the model in agent mode." autoplay loop controls muted></video>
<video src="images/1_100/python-get-env-tool.mp4" title="Video demoing the get environment information tool call implicitly by the model in agent mode." controls muted></video>

<video src="images/1_100/python-install-pkg-tool.mp4" title="Video demoing the get install package tool call for numpy version 2.2." autoplay loop controls muted></video>
<video src="images/1_100/python-install-pkg-tool.mp4" title="Video demoing the get install package tool call for numpy version 2.2." controls muted></video>

#### Color picker when using Pylance

Expand Down Expand Up @@ -570,7 +570,7 @@ It is now possible to define variable line heights on a monaco editor by setting

Note that for simplicity for now, the line height is set only on the first line of the corresponding decoration range. In the following screen recording, lines 24 and 32 are rendered with a larger line height than the default one.

<video src="images/1_100/variable-line-heights.mp4" title="Video that shows variable line heights in the editor." autoplay loop controls muted></video>
<video src="images/1_100/variable-line-heights.mp4" title="Video that shows variable line heights in the editor." controls muted></video>

This work is not yet available to extensions, but will roll out after some more testing.

Expand Down
26 changes: 13 additions & 13 deletions release-notes/v1_101.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
---
Order:
Order:
TOCTitle: May 2025
PageTitle: Visual Studio Code May 2025
MetaDescription: Learn what is new in the Visual Studio Code May 2025 Release (1.101)
Expand Down Expand Up @@ -73,7 +73,7 @@ VS Code's Model Context Protocol support now includes prompt support. Prompts ca

The following example shows how we generate a prompt using AI, save it using the [Gistpad MCP server](https://github.com/lostintangent/gistpad-mcp), and then use it to generate a changelog entry:

<video src="images/1_101/mcp-prompts.mp4" autoplay loop controls muted></video>
<video src="images/1_101/mcp-prompts.mp4" controls muted></video>

### MCP support for resources

Expand All @@ -85,13 +85,13 @@ VS Code's Model Context Protocol support now includes resource support, which in

Here's an example of attaching resources from the [Gistpad MCP server](https://github.com/lostintangent/gistpad-mcp) to chat:

<video src="images/1_101/mcp-resources.mp4" autoplay loop controls muted></video>
<video src="images/1_101/mcp-resources.mp4" controls muted></video>

### MCP support for sampling (Experimental)

VS Code's Model Context Protocol support now includes sampling, which allows MCP servers to make requests back to the model. You'll be asked to confirm the first time an MCP server makes a sampling request, and you can configure the models the MCP server has access to as well as see a request log by selecting the server in **MCP: List Servers.**

<video src="images/1_101/mcp-sampling.mp4" autoplay loop controls muted></video>
<video src="images/1_101/mcp-sampling.mp4" controls muted></video>

Sampling support is still preliminary and we plan to expand and improve it in future iterations.

Expand Down Expand Up @@ -153,7 +153,7 @@ Undoing previous requests is now also more visible - just hover over a request a

Finally, attachments from the chat input box are now more navigable.

<video src="images/1_101/new-chat-ui-ux.mp4" title="A video of the new chat UI/UX where a request is removed to undo edits since that point." autoplay loop controls muted></video>
<video src="images/1_101/new-chat-ui-ux.mp4" title="A video of the new chat UI/UX where a request is removed to undo edits since that point." controls muted></video>

Learn more about using [chat in VS Code](https://code.visualstudio.com/docs/chat/copilot-chat) in our documentation.

Expand All @@ -169,7 +169,7 @@ We've streamlined and simplified the way that adding your current file as contex

Additionally, in agent mode, we include a hint about your current editor. This doesn't include the contents of the file, just the file name and cursor position. The agent can then use the tools it has to read the contents of the file on its own, if it thinks that it's relevant to your query.

<video src="images/1_101/implicit-context-flow.mp4" title="A video of the current open editor being suggest as implicit context and added as an attachment." autoplay loop controls muted></video>
<video src="images/1_101/implicit-context-flow.mp4" title="A video of the current open editor being suggest as implicit context and added as an attachment." controls muted></video>

Learn more about [adding context in chat](https://code.visualstudio.com/docs/chat/copilot-chat-context) in our documentation.

Expand Down Expand Up @@ -323,7 +323,7 @@ To see the toggle, enable the setting and reload VS Code. We are also in the pro

For the next milestone, we are also considering removing the toggle and changing the experimental setting to one that controls when to directly append the slower AI search results to the end of the list.

<video src="images/1_101/settings-editor-ai-search.mp4" title="Video showing AI search in the Settings editor that finds the `editor.fontSize` setting when you search 'increase text size'." autoplay loop controls muted></video>
<video src="images/1_101/settings-editor-ai-search.mp4" title="Video showing AI search in the Settings editor that finds the `editor.fontSize` setting when you search 'increase text size'." controls muted></video>

### Search keyword suggestions (Preview)

Expand Down Expand Up @@ -379,7 +379,7 @@ With follow mode, the Notebook view will automatically scroll to the cell that i

Once the agent has used the run cell tool, the Notebook toolbar is updated with a pin icon, indicating the state of follow mode. You can toggle the behavior mid agent response without changing the base setting value, allowing you to follow the work of the agent in real-time, and toggle it off when you want to review a specific portion of code while the agent continues to iterate. When you wish to follow again, simply toggle the mode, and join at the next execution.

<video src="images/1_101/notebook-follow-mode.mp4" title="Video that shows the AI executing cells in a notebook with follow mode enabled. When the cell is run, the notebook scrolls to reveal it." autoplay loop controls muted></video>
<video src="images/1_101/notebook-follow-mode.mp4" title="Video that shows the AI executing cells in a notebook with follow mode enabled. When the cell is run, the notebook scrolls to reveal it." controls muted></video>

### Notebook tools for agent mode

Expand All @@ -390,7 +390,7 @@ This involves walking you through the process of creating a Virtual Environment

This tool ensures the LLM can perform operations on the Notebook such as running cells with minimal user interaction, thereby improving the overall user experience in agent mode.

<video src="images/1_101/notebook-tools.mp4" title="Video that shows the AI configuring the Python environment, installing dependencies and finally running notebook cells." autoplay loop controls muted></video>
<video src="images/1_101/notebook-tools.mp4" title="Video that shows the AI configuring the Python environment, installing dependencies and finally running notebook cells." controls muted></video>

#### Long running agent workflows

Expand All @@ -400,7 +400,7 @@ The agent has access to an internal Notebook Summary tool to help keep it on tra

A snippet of the code is shown from a notebook cell when the agent requests confirmation to run that cell. The cell links in the Chat view now also enable you to directly navigate to cells in the notebook.

<video src="images/1_101/run-cell-confirmation.mp4" title="Video showing the AI asking to run a cell including a link to the cell and a preview of its content." autoplay loop controls muted></video>
<video src="images/1_101/run-cell-confirmation.mp4" title="Video showing the AI asking to run a cell including a link to the cell and a preview of its content." controls muted></video>

## Source Control

Expand All @@ -420,7 +420,7 @@ We have added the following features to the extension:

Upon popular demand, selecting an item in the Source Control Graph view now reveals the resources of that history item. You can choose between a tree view or list view representation from the `...` menu.

<video src="images/1_101/source-control-graph-view-resources.mp4" title="Video showing the Source Control Graph view, displaying the files for a commit and showing a diff editor of its changes." autoplay loop controls muted></video>
<video src="images/1_101/source-control-graph-view-resources.mp4" title="Video showing the Source Control Graph view, displaying the files for a commit and showing a diff editor of its changes." controls muted></video>

To open all resources of a history item in the multi-file diff editor, use the **Open Changes** action on hover. Selecting a particular resource from the Graph view opens a diff editor only for that resource. Select the **Open File** action to open the file for that particular version.

Expand Down Expand Up @@ -450,7 +450,7 @@ Language server completions are now available in the terminal for interactive Py
This brings the same language completions you receive in the editor now inside the terminal.
We are starting with support for Python via Pylance, with plans to expand to more languages in the future.

<video src="images/1_101/lsp_completions.mp4" title="Video that shows completions from LSP in REPL in the terminal." autoplay loop controls muted></video>
<video src="images/1_101/lsp_completions.mp4" title="Video that shows completions from LSP in REPL in the terminal." controls muted></video>

To try it out, ensure the following settings are enabled:

Expand Down Expand Up @@ -483,7 +483,7 @@ The “Configure Python Environment” tool ensures that the Python Environment

Tools that were previously introduced in the [Python Environments](https://marketplace.visualstudio.com/items?itemName=ms-python.vscode-python-envs) extension (preview) have been migrated to the Python extension, thereby making these tools available to all users with the Python extension installed.

<video src="images/1_101/python-tools.mp4" title="Video demoing the Python tools called implicitly by the model in agent mode." autoplay loop controls muted></video>
<video src="images/1_101/python-tools.mp4" title="Video demoing the Python tools called implicitly by the model in agent mode." controls muted></video>

#### Create a project from a template

Expand Down
Loading