Skip to content

Commit 4499429

Browse files
committed
Merged main into live
2 parents 77343a3 + 1bf8afa commit 4499429

26 files changed

+139
-64
lines changed
Loading
Loading
Loading
Loading
Loading

docs/debugger/using-the-parallel-stacks-window.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ The **Parallel Stacks** window has the following toolbar controls:
6262
|![Search icon](media/vs-2022/parallel-stacks-toolbar-search.png "Search icon")|Search Control|With this feature you can easily search through stack frames and then use arrows to navigate between those results.|
6363
|![Save icon](media/vs-2022/parallel-stacks-toolbar-save.png "Save icon")|Save Control| Enables you to save/export the content from the parallel stack window as an image.|
6464
|![External Code icon](media/vs-2022/parallel-stacks-toolbar-external-code.png "External Code icon")|Show External Code Control| Using this feature, you can show/hide the stacks from the external code/libraries.|
65+
|![Copilot Summarize icon](media/vs-2022/parallel-stacks-copilot-summarize.png "Summarize icon")|Summarize call stacks| Starting in Visual Studio 2022 version 17.13 Preview 4, you can choose **Summarize** when [Copilot](../ide/visual-studio-github-copilot-install-and-states.md) is installed and activated. This button opens the Copilot Chat window, preloaded with relevant thread context, allowing you to explore details, including thread states, function calls, and suggested fixes.|
6566
::: moniker-end
6667

6768
### Stack Frame icons

docs/debugger/view-data-in-tabular-visualizer.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: "View data with the Tabular visualizer "
33
description: View large collection objects with built-in tabular visualizers in the Visual Studio debugger and examine data by row and column for fields and properties.
4-
ms.date: "01/13/2025"
4+
ms.date: "02/04/2025"
55
ms.topic: "conceptual"
66
dev_langs:
77
- "CSharp"
@@ -60,13 +60,13 @@ Starting in Visual Studio 2022 version 17.11, you can directly change the **Expr
6060

6161
Starting in Visual Studio 2022 version 17.12 Preview 3, you get IntelliSense support to help you edit the expression.
6262

63-
Starting in Visual Studio 2022 version 17.12 Preview 2, you can get AI assistance to edit the LINQ expression. If you have Copilot activated, click the GitHub [Copilot](../ide/visual-studio-github-copilot-install-and-states.md) icon to open Copilot Chat.
63+
Starting in Visual Studio 2022 version 17.13 Preview 2, you can get inline AI assistance to edit the LINQ expression. If you have Copilot activated, click the GitHub [Copilot](../ide/visual-studio-github-copilot-install-and-states.md) sparkle icon ![GitHub Copilot sparkle icon](../debugger/media/vs-2022/copilot-sparkle-icon.png) to open the inline Copilot Chat.
6464

65-
:::image type="content" source="../debugger/media/vs-2022/debug-ienumerable-visualizer-edit-expression-copilot.png" alt-text="Screenshot of Copilot button to get help to edit the expression.":::
65+
:::image type="content" source="../debugger/media/vs-2022/debug-ienumerable-visualizer-edit-expression-copilot.gif" alt-text="Screenshot of Copilot button to get help to edit the expression.":::
6666

67-
In the Copilot Chat, you see LINQ syntax examples. Additionally, you can describe your query in natural language, and GitHub Copilot will generate the corresponding LINQ query. To apply LINQ query filtering to the visualizer, use the **Show in Visualizer** button in the chat.
67+
You can describe your query in natural language, and GitHub Copilot will generate the corresponding LINQ query. To apply LINQ query filtering to the visualizer, press **Enter**.
6868

69-
:::image type="content" source="../debugger/media/vs-2022/debug-ienumerable-visualizer-edit-expression-copilot-show-in-visualizer.png" alt-text="Screenshot of Show in Visualizer button in Copilot Chat.":::
69+
After at least one LINQ query has been generated by GitHub Copilot, you can choose to select the **Continue in Chat** button. This action opens a dedicated GitHub Copilot Chat window where you can refine your query, ask follow-up questions, view LINQ syntax examples, or explore alternative approaches in more detail. To apply a suggested LINQ query to the visualizer, use the **Show in Visualizer** button in the chat.
7070

7171
## Filter, sort, and export visualizer data
7272

Loading
Loading
Loading
35.3 KB
Loading
Loading
Loading
74.7 KB
Loading
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
---
2+
title: .NET Companatibilty for VisualStudio.Extensibility Extensions
3+
description: .NET runtime requirements for VisualStudio.Extensibility extensions
4+
author: murphymcquet-msft
5+
ms.author: murphymcquet
6+
manager: tinali
7+
ms.date: 02/04/2025
8+
ms.topic: conceptual
9+
ms.subservice: extensibility-integration
10+
---
11+
# .NET Companatibilty for VisualStudio.Extensibility Extensions
12+
13+
The new VisualStudio.Extensibilty model allows extensions to be run outside the main Visual Studio process in a separate .NET host process. Because .NET is used as the runtime to execute VisualStudio.Extensibility extensions, extensions built using the VisualStudio.Extensibility framework must stay up-to-date with the publicly supported .NET long-term servicing (LTS) runtimes.
14+
15+
## .NET Runtime Support Model
16+
17+
The .NET runtime has its own lifetime and servicing timelines, independent of Visual Studio. The current cadence sees a new .NET release every year, with odd-numbered major releases receiving 18 months of support, and even-numbered releases receiving long-term support (LTS) of 36 months. At any given time, Visual Studio ships with .NET LTS versions still in public support. For the official list of .NET runtimes and their lifetimes, see [here](https://learn.microsoft.com/lifecycle/products/microsoft-net-and-net-core).
18+
19+
The following timeline illustrates an approximation of the different .NET versions shipped with Visual Studio.
20+
21+
![Screenshot of .NET runtime timeline.](../media/vs-dotnet-timeline.png "Screenshot of .NET runtime timeline.")
22+
23+
By default, VisualStudio.Extensibility extensions target whatever the oldest supported .NET LTS runtime is. However, extension developers can specify in their extension metadata which versions of .NET their extension is known to support. Given this information, Visual Studio chooses an appropriate target based on the extension's declared .NET runtime version and its known end-of-life dates.
24+
25+
It's important to note that developers using VisualStudio.Extensibility should target a current .NET SDK. If an extension is developed for .NET version that is no longer publicly supported - and therefore no longer shipped with Visual Studio - then Visual Studio will choose the oldest publicly supported runtime available to run the extension. Although the likelihood of being affected by a breaking change between major .NET versions is low, isn't guaranteed that an application running on a previous .NET version will work on a newer one, and so the extension isn't guaranteed to work.
26+
27+
## Experiences
28+
29+
### End-user Experience
30+
31+
Visual Studio will choose which .NET runtime to use for an extension based on its declared supported .NET version and the .NET versions available to Visual Studio. There are only two scenarios where users will see any departure from the current experience:
32+
33+
* If an extension is only supported up to a .NET version that is near end-of-life, an info icon will be displayed on the extension tile in the Extension Manager window to inform the user that the extension is in danger of being unsupported.
34+
* If an extension is only supported up to a .NET version that is past end-of-life, a warning icon will be displayed on the extension tile in the Extension Manager window to inform the user that the extension is being run as best-effort on a version of .NET that hasn't declared support for, and may not work correctly.
35+
36+
![Screenshot of extensions with different .NET runtime configurations.](../media/installed-extensions-extension-manager.png "Screenshot of extensions with different .NET runtime configurations.")
37+
38+
In both scenarios, the user should contact the extension developer and ask them to ensure the extension works on a supported .NET LTS version and publish the updated extension.
39+
40+
### Developer Experience - Debugging
41+
42+
For developers of VisualStudio.Extensibility extensions, the F5 debugging experience has been updated to allow the selection of the .NET runtime to use when debugging or testing an extension. The objective of this experience is to facilitate compatibility testing of VisualStudio.Extensibility extensions on different .NET runtimes.
43+
44+
Now, when the selected startup project is a VisualStudio.Extensibility project, an additional menu item with a list of the .NET runtimes that are shipped with Visual Studio appears under the debug menu dropdown. Debugging the extension under the chosen runtime ensures that the debugged extension executes on the selected runtime. In the experimental instance, the extension tile in the Extension Manager tool window displays a lab icon and specify the .NET version that it's being evaluated for. In the following screenshot, this is demonstrated with the `Command Sample` extension.
45+
46+
Note that the example is a contrived scenario where Visual Studio includes .NET 6 and .NET 8. In actual releases only supported LTS versions of .NET will be included with Visual Studio.
47+
48+
![Screenshot of setting F5 Debug runtime target.](../media/f5-runtime-target.png "Screenshot of setting F5 Debug runtime target.")
49+
![Screenshot of extension manager during F5 debug.](../media/f5-extension-manager-tool-window.png "Screenshot of extension manager during F5 debug.")
50+
51+
### Developer Experience - Extension Configuration
52+
53+
An optional `DotnetTargetVersions` field is available on the `ExtensionConfiguration` for developers to specify one or more .NET runtimes that their extension is able to target. This field takes a list of target framework monikers such as `net8.0` or `netstandard2.0`. If provided, this information allows Visual Studio to determine which runtime should be used to run the extension. If the field is left empty, then the older of the publicly supported runtimes that come with Visual Studio will be set as a default.
54+
55+
The VisualStudio.Extensibility analyzer raises warnings if the target framework monikers specified in the extension project file `<TargetFrameworks>` property are inconsistent with the target framework monikers declared or omitted in the `ExtensionConfiguration`. If no targets are given in the `ExtensionConfiguration`, then a warning is raised if any of the monikers in `<TargetFrameworks>` aren't compatible with the chosen default. If targets are given in the `ExtensionConfiguration`, then a warning is raised if any of the monikers specified in `<TargetFrameworks>` aren't compatible with the provided values.
56+
57+
For example, if an extension builds targeting `netstandard2.0`, then it's compatible with any .NET version. However, if a developer leaves the `DotnetTargetVersions` empty and `net8.0` is chosen as the default, if the extension builds targeting `net6.0` a warning is raised.
58+
59+
The below pictures show an example of an extension which is built targeting .NET 8, but specified .NET 6 in the `DotnetTargetVersions`.
60+
61+
![Screenshot of extension code configured to run on .NET 6.](../media/extension-configuration.png "Screenshot of extension code configured to run on .NET 6.")
62+
![Screenshot of build warning for extension where the target .NET runtime is out of support.](../media/invalid-extension-configuration-warning.png "Screenshot of build warning for extension where the target .NET runtime is out of support.")
63+
64+
## Testing & Early Access
65+
66+
If you would like to try managing your extension with multiple .NET runtimes see the scripts included in the [VSExtensibility repo](https://github.com/microsoft/VSExtensibility/tree/main/New_Extensibility_Model). The included scripts enable you to update any of your Visual Studio instances with .NET 9. Note that .NET 9 is *not* an LTS version of .NET and that this is *not* a supported scenario, but will provide a sample of the future experience of developing VisualStudio.Extensibility extensions with multiple .NET runtimes available.

docs/extensibility/visualstudio.extensibility/toc.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ items:
1212
href: ./get-started/in-proc-extensions.md
1313
- name: Compare extensibility models
1414
href: extensibility-models.md
15+
- name: Managing extension .NET targets
16+
href: dotnet-management-overview.md
1517
- name: Get started
1618
expanded: true
1719
items:

docs/ide/ai-assisted-development-visual-studio.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
title: AI-assistance for developers in Visual Studio
33
description: Learn about the AI-assisted development tools in Visual Studio, such as GitHub Copilot Completions and Chat, and IntelliCode, and how they can help you write code more efficiently.
4-
ms.date: 12/18/2024
4+
ms.date: 2/5/2025
55
ms.topic: overview
66
author: anandmeg
77
ms.author: meghaanand
@@ -103,17 +103,17 @@ The following table compares the capabilities of GitHub Copilot (and GitHub Copi
103103
| Whole function & multi-line completions in gray text | **Yes** <br/>[Learn more](visual-studio-github-copilot-extension.md#how-github-copilot-works) | No |
104104
| Repeated edits detection | No | **Yes** <br/>[Learn more](intellicode-suggestions.md)|
105105
| Convert Natural language comments to code| **Yes** <br/>[Learn more](visual-studio-github-copilot-extension.md#how-github-copilot-works) | No |
106-
| Solve code problems with Natural language driven dev assistance | **Yes**, with Chat extension enabled. <br/>[Learn more](visual-studio-github-copilot-chat.md#use-copilot-chat-in-visual-studio)| No |
107-
| Code debugging | **Yes**, with Chat extension enabled. <br/>[Learn more](../debugger/debug-with-copilot.md)| No |
108-
| Measure app performance through profiling | **Yes**, with Chat extension enabled. <br/>[Learn more](https://devblogs.microsoft.com/visualstudio/simplified-code-refinement-and-debugging-with-github-copilot-chat/#cpu-usage-auto-insights-in-the-profiler) | No |
106+
| Solve code problems with Natural language driven dev assistance | **Yes**, with Copilot Chat. <br/>[Learn more](visual-studio-github-copilot-chat.md#use-copilot-chat-in-visual-studio)| No |
107+
| Code debugging | **Yes**, with Copilot Chat. <br/>[Learn more](../debugger/debug-with-copilot.md)| No |
108+
| Measure app performance through profiling | **Yes**, with Copilot Chat. <br/>[Learn more](https://devblogs.microsoft.com/visualstudio/simplified-code-refinement-and-debugging-with-github-copilot-chat/#cpu-usage-auto-insights-in-the-profiler) | No |
109109
| API usage examples | No | **Yes** <br/>[Learn more](https://devblogs.microsoft.com/visualstudio/intellicode-api-usage-examples/)|
110110
| Languages supported | Supports several programming languages and frameworks, including but not limited to: C#, C++, Python, JavaScript, and TypeScript| C#, XAML, C++, JavaScript, TypeScript, Visual Basic |
111111

112112
## Next steps
113113

114114
To learn more, consider exploring the following resources:
115115

116-
- [GitHub Copilot extension: Getting started](visual-studio-github-copilot-extension.md)
117-
- [GitHub Copilot Chat extension: Getting started](visual-studio-github-copilot-chat.md)
116+
- [GitHub Copilot Completions](visual-studio-github-copilot-extension.md)
117+
- [GitHub Copilot Chat](visual-studio-github-copilot-chat.md)
118118
- [GitHub Copilot: Compare plans](https://github.com/features/copilot)
119119
- [GitHub Copilot Trust Center](https://resources.github.com/copilot-trust-center/)

0 commit comments

Comments
 (0)