Skip to content

Commit ea08aa3

Browse files
authored
Review feedback
1 parent 9723d23 commit ea08aa3

File tree

1 file changed

+10
-11
lines changed

1 file changed

+10
-11
lines changed

docs/extensibility/visualstudio.extensibility/get-started/in-proc-extensions.md

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,17 +12,17 @@ ms.technology: vs-ide-sdk
1212

1313
# Using VisualStudio.Extensibility SDK and VSSDK together
1414

15-
While the VisualStudio.Extensibility model was created primarily to host extensions outside of the devenv.exe process, it is possible to use VisualStudio.Extensibility SDK APIs in an extension running in Visual Studio process and utilizing traditional extensibility APIs provided by the [Microsoft.VisualStudio.Sdk](https://www.nuget.org/packages/Microsoft.VisualStudio.Sdk) packages.
15+
While the VisualStudio.Extensibility model was created primarily to host extensions outside of the devenv.exe process, it is possible to use VisualStudio.Extensibility SDK APIs in an extension running in the Visual Studio process and utilizing traditional extensibility APIs provided by the [Microsoft.VisualStudio.Sdk](https://www.nuget.org/packages/Microsoft.VisualStudio.Sdk) packages.
1616

1717
The support of *in-proc* usage is meant to allow early adopters to the new VisualStudio.Extensibility APIs while relying on [Microsoft.VisualStudio.Sdk](https://www.nuget.org/packages/Microsoft.VisualStudio.Sdk) to cover any feature gap.
1818

1919
This document is a quick walkthrough on different options to utilize VisualStudio.Extensibility SDK in-proc.
2020

2121
* If you are developing a new extension, our recommended method is to create a VisualStudio.Extension that is hosted in-process following [this tutorial](#create-your-first-vssdk-compatible-visualstudioextensibility-extension). This will allow you to use full capabilities of VisualStudio.Extensibility SDK in addition to being able to inject VSSDK and MEF services.
2222

23-
* If you have an existing VSSDK extension, you can follow [these tips](#use-visualstudioextensibility-apis-from-existing-vssdk-extensions) to use the new `VisualStudioExtensibility` instance in your extension.
23+
* If you have an existing VSSDK extension, you can follow [these tips](#use-visualstudioextensibility-apis-from-existing-vssdk-extensions) to use the new [VisualStudioExtensibility](https://learn.microsoft.com/en-us/dotnet/api/microsoft.visualstudio.extensibility.visualstudioextensibility) instance in your extension.
2424

25-
* If you want to add commands, debug visualizers, tool windows to your existing VSSDK extension by using VisualStudio.Extensibility SDK, you can refer to [these tips](#using-visualstudioextensibility-sdk-and-vssdk-together) to host both a VSSDK extension and VisualStudio.Extensibility SDK in the same VS extension project.
25+
* If you want to add commands, debug visualizers, tool windows to your existing VSSDK extension by using the VisualStudio.Extensibility SDK, you can refer to [these tips](#add-a-visualstudioextensibility-extension-to-an-existing-vssdk-extension-project) to host both a VSSDK extension and a VisualStudio.Extensibility extension in the same VS extension project.
2626

2727
# Create your first VSSDK-compatible VisualStudio.Extensibility extension
2828

@@ -31,9 +31,8 @@ While the VisualStudio.Extensibility model was created primarily to host extensi
3131

3232
## Prerequisites
3333

34-
* Visual Studio 2022.6 Preview 1 or higher with `.Net desktop development` workload.
35-
* Install [VisualStudio.Extensibility Project System](https://marketplace.visualstudio.com/items?itemName=vsext.gladstone): This extension contains project templates for VisualStudio.Extensibility extensions.
36-
* If you're updating from earlier builds, make sure to update VisualStudio.Extensibility Project System to latest version as there are breaking changes in VisualStudio.Extensibility packages.
34+
* Visual Studio 2022.9 Preview 1 or higher with `.Net desktop development` and `Visual Studio extension development` workload.
35+
* If you're updating from earlier builds, make sure to uninstall VisualStudio.Extensibility Project System to avoid potential conflicts.
3736

3837
## Create the extension project
3938

@@ -124,9 +123,9 @@ internal class MyExtension : Extension
124123

125124
# Use VisualStudio.Extensibility from existing VSSDK extensions
126125

127-
For existing VSSDK extension, another option is to query for `VisualStudioExtensibility` instance via service provider and utilize its methods. This method will allow you to use new API surface area of VisualStudio.Extensibility SDK in your existing components. This can be useful in situations where you like to use the new API to query project information, document management without creating a new VisualStudio.Extensibility based extension.
126+
For existing VSSDK extensions, another option is to query for the [VisualStudioExtensibility](https://learn.microsoft.com/en-us/dotnet/api/microsoft.visualstudio.extensibility.visualstudioextensibility) instance via service provider and utilize its methods. This method will allow you to use new the API surface area of VisualStudio.Extensibility SDK in your existing components. This can be useful in situations where you like to use the new API to query project information, document management without creating a new VisualStudio.Extensibility based extension.
128127
129-
Here is an example code snippet that shows how one can utilize `VisualStudioExtensibility` with in a VSSDK package:
128+
Here is an example code snippet that shows how one can utilize `VisualStudioExtensibility` within a VSSDK package:
130129

131130
* In your `.csproj` include a package reference to VisualStudio.Extensibility APIs:
132131

@@ -154,9 +153,9 @@ public class VSSDKPackage : AsyncPackage
154153
}
155154
```
156155

157-
# Add VisualStudio.Extensibility extension in to an existing VSSDK extension project
156+
# Add a VisualStudio.Extensibility extension to an existing VSSDK extension project
158157

159-
If you also want to contribute components like tool windows, editor listeners using VisualStudio.Extensibility SDK within your existing VSSDK extension, you will have to follow additional steps to create a VisualStudio.Extensibility `Extension` instance in your project.
158+
If you also want to contribute components like tool windows, editor listeners using the VisualStudio.Extensibility SDK within your existing VSSDK extension, you will have to follow additional steps to create a VisualStudio.Extensibility [Extension](https://learn.microsoft.com/en-us/dotnet/api/microsoft.visualstudio.extensibility.extension) instance in your project.
160159
161160
* You will need an SDK style `.csproj` in order to utilize VisualStudio.Extensibility SDK packages. For existing projects, you may need to update your `.csproj` to an SDK style one.
162161

@@ -167,7 +166,7 @@ If you also want to contribute components like tool windows, editor listeners us
167166
<PackageReference Include="Microsoft.VisualStudio.Extensibility.Build" Version="17.9.23-preview-1" />
168167
```
169168

170-
* Add `VssdkCompatibleExtension` property to your project file, setting it to `true`. This will disable `vsixmanifest` generation and enable some of VSSDK features for compatibility.
169+
* Add `VssdkCompatibleExtension` property to your project file, setting it to `true`. This property will enable some VSSDK features for compatibility.
171170

172171
```XML
173172
<PropertyGroup>

0 commit comments

Comments
 (0)