StudioShell's goal is to fundamentally change the way you interact with Visual Studio and your code.
If you’ve ever implemented a Visual Studio extension, such as an add-in or a package, you know how convoluted this space has become. You have to become an expert in your tooling if you want to change it. StudioShell changes this landscape by exposing many of Visual Studio’s extensibility points in a simple and consistent way. It makes the Visual Studio IDE interactive and discoverable.
What an add-in does in a compiled binary, StudioShell can accomplish with a one-liner.
The current release of StudioShell is 1.5. For more information, see StudioShell 1.5
. Although this release is still classified as "beta", it is recommended for use over 1.2 and 1.31 as it fixes many issues with the previous releases.
The StudioShell beta is also available as a NuGet package for Visual Studio 2010 and 2012
There are several ways you can get involved in this project:
- Contribute your scripts to the StudioShell.Contrib project.
- Use StudioShell and log any issues using the Issue Tracker.
- If you are interested in expanding support for the SSMS object model in StudioShell, please contact the project coordinator.
- If you are interested in expanding the DTE provider with additional features of the Visual Studio service offering, please contact the project coordinator.
The features supported by StudioShell include:
- Support for standard PowerShell profile scripts, as well as StudioShell profile scripts - customize your StudioShell session as you would any other PowerShell session.
- Manage your projects, references, breakpoints, stack frame locals, menus, toolbars, Visual Studio settings, IDE windows, and even your code from PowerShell scripts, all in a consistent and discoverable way.
- Solution Modules - save your StudioShell and IDE customizations as a PowerShell module in your solution, and it will automatically be imported into your StudioShell session when the solution is loaded.
- Simple visualization controls you can invoke from the console - create a graph of project code statistics with one line of script.
- Fully integrated context-sensitive help.
- Host indifference - StudioShell features can be used from any suitable PowerShell host, including NuGet, the standard PowerShell console, and the Integrated Scripting Environment.
For more specific features and examples, please see Examples
A deeply integrated Mercurial file status monitor with two lines of PowerShell:
Exploring the DTE provider: