Today we are extremely excited to announce that the PowerShell extension for Visual Studio Code has reached version 1.0! We are shipping this update to line up with the PowerShell Core 6.0 Beta.1 release to provide the official PowerShell development experience for all supported platforms:

Windows 7 through 10 with PowerShell v3 and higher

with PowerShell v3 and higher Linux with PowerShell v6 (all PowerShell-supported distributions)

with PowerShell v6 (all PowerShell-supported distributions) macOS and OS X with PowerShell v6

Feature Overview

We’ve been working hard over the last year and a half to put together a first-class development experience for PowerShell that includes the following features:

PowerShell ISE-like interactive development experience with the PowerShell Integrated Console

Rich debugging experience including variables view, call stack, watch window, and various breakpoint types

Integrated script analysis and code fixes provided by PSScriptAnalyzer

Code navigations that allow you to find definitions and references of functions across your script files

Highly configurable code formatter based on community best practices

New file and project creation using Plaster templates

Editor scripting API through the $psEditor object model

You can find instructions for installing VS Code and the PowerShell extension at our GitHub repo.

You can also watch these YouTube video for an overview of using the PowerShell extension and Visual Studio Code (warning, loud audio at the beginning of the first video):

What does 1.0 mean?

As you probably have already discovered, the PowerShell Team has shifted to an open-source development model for the majority of our projects. This has enabled us to move extremely quickly, responding to customer feedback by releasing updates on a regular basis. Our focus now is on delivering value and quality quickly and incrementally rather than spending months polishing a single version for release.

With that in mind, we have a bit more flexibility on what it means to ship a 1.0 release of our tools. In the case of the PowerShell extension, increasing the version to 1.0 indicates a few things:

The development workflow of the PowerShell extension is stable enough to deliver a rich, interactive experience across all supported OSes – Windows, Linux, and macOS

Our public APIs are stable and will not have breaking changes in future 1.x releases

We will support the PowerShell extension and Visual Studio Code via issues reported through our respective GitHub repositories

Originally we were planning to release a series of beta releases similar to those of PowerShell Core before finalizing our 1.0 release. It turns out that the Visual Studio Marketplace currently does not support pre-release version names like 1.0.0-beta.1, so the clearest option was to continue forward with 1.0 so that we can indicate our level of committment and support of the extension.

What’s coming next?

We’ve got a lot of great improvements planned for the PowerShell extension, many of which will be coming online within the next few releases.

PowerShell “Project Model” via Plaster – We will be expanding Plaster to provide a rich toolset for developing PowerShell modules in any editor supported by PowerShell Editor Services. More details on this effort will be shared in the near future.

– We will be expanding Plaster to provide a rich toolset for developing PowerShell modules in any editor supported by PowerShell Editor Services. More details on this effort will be shared in the near future. PSReadline support – We will add support for PSReadline in the Integrated Console to give the best possible command-line experience within the editor.

– We will add support for PSReadline in the Integrated Console to give the best possible command-line experience within the editor. Expanded $psEditor APIs – We will make the editor even more scriptable with new APIs added in future updates.

– We will make the editor even more scriptable with new APIs added in future updates. Localization – English is currently the only supported language but we will eventually be adding other languages as requested by our community and partners.

– English is currently the only supported language but we will eventually be adding other languages as requested by our community and partners. User Guide – We are currently producing a complete User Guide for the extension that will help new users become productive quickly!

– We are currently producing a complete User Guide for the extension that will help new users become productive quickly! Instructional Videos – We will be producing a series of videos explaining how to use the PowerShell extension for script, module, and DSC resource development. Subscribe to the PowerShell Team’s YouTube channel to be notified as they are released!

What does this mean for the PowerShell ISE?

The PowerShell ISE has been the official editor for PowerShell throughout most of the history of Windows PowerShell. Now with the advent of the cross-platform PowerShell Core, we need a new official editor that’s available across all supported OS platforms and versions. Visual Studio Code is now that editor and the majority of our effort will be focused there.

However, the PowerShell ISE will remain in Windows supporting Windows PowerShell with no plans to remove it. We will consider investing effort there in the future if there is a high demand for it, but for now we think that we will be able to provide the best possible experience to the PowerShell community through Visual Studio Code.

Keep the feedback coming!

We’ve been receiving a lot of great feedback from the community over the last couple of years which has helped us to prioritize our efforts and deliver a great development experience for everyone. Please feel free to give us your feedback and feature requests at our GitHub repo and click “Watch” to keep up to date with the latest developments.

Thanks a lot for your continued feedback and support, we couldn’t do it without you!

David Wilson – @daviwil Senior Software Engineer PowerShell Team