Overview

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.

Current Release

The current release of this project is StudioShell 1.6.5. This release has been classified as "stable" and is recommended for use over previous releases.

The StudioShell DTE provider is now available as a NuGet package for Visual Studio 2010, 2012, and 2013. This package provides access to the DTE:/ drive from the package manager console without the overhead of installing the entire StudioShell environment.

Special thanks to Avi Haiat for helping get the 2013 support off the ground.

Getting Involved

There are several ways you can get involved in this project:

  1. Contribute your scripts to the StudioShell.Contrib project.
  2. Use StudioShell and log any issues using the Issue Tracker.
  3. If you are interested in expanding support for the SSMS object model in StudioShell, please contact the project coordinator.
  4. If you are interested in expanding the DTE provider with additional features of the Visual Studio service offering, please contact the project coordinator.

Features

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 and Documentation

Demos

A deeply integrated Mercurial file status monitor with two lines of PowerShell:
Click here to view the video.
Exploring the DTE provider:
Click here to view the video.

Last edited May 12 at 2:38 PM by beefarino, version 15