-
Notifications
You must be signed in to change notification settings - Fork 19
Contributing to PowerShell Tools for Visual Studio
This guide will instruct you on how to build the PowerShell Tools for Visual Studio extension
-
- .NET Desktop Development Workload
- Visual Studio Extensibility Workload
Start Visual Studio as Administrator. Administrator access is required because the PowerShell Pro Tools build copies files into the Visual Studio directory for debugging purposes.
Build the PowerShellTools
project to build the Visual Studio 2019 extension and the PowerShellTools.2022
to build the Visual Studio 2022 and later extension.
Debugging can be accomplished through Visual Studio. Set the startup project to PowerShellTools.2022
and press F5
to launch the experimental instance and debug the extension.
If you launch Visual Studio and the extension fails to load, you may need to remove the VS 2019 extension. If you built the entire solution of the PowerShellTools
project in Visual Studio 2022, then the older version of the extension was also installed in the experimental instance. This results in the extension failing to load and duplicate project and item templates. Remove the 2019 extension by click Extensions \ Manage Extensions and then uninstall PowerShell Tools for Visual Studio
. You will need to restart the experimental instance. You do not need to remove the PowerShell Tools for Visual Studio 2022
.
Contains MSBuild settings and targets files that are used in the PoshTools projects.
Common models, interfaces and helpers for PoshTools.
Refactoring used in both the VS and VS Code extensions.
Contains the bulk of the Visual Studio extension. Includes the Project system, IntelliSense, debugging system and more. Shared between the VS2019 and VS2022+ extensions.
The base project for the VS2019 extension. Mainly references the Shared project.
The base project for the VS2022+ extension. Mainly references the Shared project.
MSBuild targets for packaging.
Project and file templates like modules, scripts and form projects.
Packager library used to turn PowerShell scripts into executables.
Form designer parsing and generation logic.