What’s been going on?
Over the past couple of months I’ve been working with an awesome team of developers and project managers over at Microsoft to bring some great new features and fix a lot of bugs in PowerShell Tools for Visual Studio. The first pull request from the Microsoft PoshTools fork was pretty large.
They’ve been very busy opening and closing issues as well.
The most significant feature that was introduced is x64-Bit support. As you may be aware, Visual Studio is a 32-bit process and will be for the foreseable future. Before this release, the PowerShell runspace was hosted inside the DevEnv.exe process. This lead to the inability to use 64-bit modules or PowerShell features. Once DSC was released and became popular, it was pretty important to implement this functionality. The team at Microsoft developed an out-of-process PowerShell host that now starts up with Visual Studio when PoshTools is installed. All the IntelliSense, debugging and classification services utilize WCF to communicate with the host process. DSC, Workflow and 64-bit modules, like SharePoint, are now supported in PoshTools. It also means better support can be built for cross-language debugging between .NET and PowerShell. This was something that was impossible when the host was maintained within DevEnv but, with a little work, could be achieved with the new architecture.
Remote Session Support
Additionally, the PowerShell host now supports remote sessions. You can enter a PSSession with Enter-PSSession or by using the icon located in the REPL window.
New Look and Feel
The default syntax highlighting has been updated to match the ISE. You can always update your syntax highlighting as you see fit by using the Fonts and Colors dialog in the Options window of Visual Studio.
We’ve also introduced all new icons developed by the UX team at Microsoft. Much better than what I was drawing in paint.
Finally, we reorganized the project properties dialog to be easier to work with. All the same options are available but on different pages.
Visual Studio 2015 CTP6 and Windows 10 TP Support – No more VS2012 Support
We made some changes to the extension manifest to allow for installation into VS2015 and Windows 10 preview builds. The extension continues to work in previously supported configurations, aside from VS2012. With VS2015 in the near future, it was decided to drop support for VS2012. We would love to hear feedback as to whether or not this is a big deal for the community going forward.
Compatibility with Python Tools for Visual Studio
A lot of the code that for the project system and the entire REPL were direct ports of code found in Python Tools for Visual Studio. Because of this, some GUIDs were reused and would cause problems when both extensions were installed. This has been cleaned up and now both extensions should live in harmony together.
TONS of bug fixes
There were fixes ranging from breakpoints only being hit once to scripts that were slow to type in due to the function drop down list. We’ve done some work to hit the most impactful issues and hope that you can see a more refined extension as a result. There are still open issues that we are tracking but will continue to work to knock that number down. Please don’t hestitate to open issues of your own.
I encourage you to go out and try out latest beta build. We hope to gather some feedback on the new features and experience before publishing to the Visual Studio Gallery. Please feel free to submit issues or even pull requests.