PowerShell Language Support for Visual Studio Code
ATTENTION: This is the PREVIEW version of the PowerShell extension for VSCode which contains features that are being evaluated for stable. It works with PowerShell 5.1 and up.
If you are looking for the stable version, please go here or install the extension called "PowerShell" (not "PowerShell Preview")
NOTE: If you have both stable (aka "PowerShell") and preview (aka "PowerShell Preview") installed, you MUST DISABLE one of them for the best performance. Docs on how to disable an extension can be found here
This extension provides rich PowerShell language support for Visual Studio Code.
Now you can write and debug PowerShell scripts using the excellent IDE-like interface
that Visual Studio Code provides.
This extension is powered by the PowerShell language server,
PowerShell Editor Services.
This leverages the
Language Server Protocol
PowerShellEditorServices is the server and
vscode-powershell is the client.
- Windows 7 through 10 with Windows PowerShell v3 and higher, and PowerShell Core
- Linux with PowerShell Core (all PowerShell-supported distributions)
- macOS and OS X with PowerShell Core
Read the installation instructions
to get more details on how to use the extension on these platforms.
Read the FAQ for answers to common questions.
- Syntax highlighting
- Code snippets
- IntelliSense for cmdlets and more
- Rule-based analysis provided by PowerShell Script Analyzer
- Go to Definition of cmdlets and variables
- Find References of cmdlets and variables
- Document and workspace symbol discovery
- Run selected selection of PowerShell code using F8
- Launch online help for the symbol under the cursor using Ctrl+F1
- Local script debugging and basic interactive console support!
Installing the Extension
You can install the official release of the PowerShell extension by following the steps
in the Visual Studio Code documentation.
In the Extensions pane, search for "PowerShell" extension and install it there. You will
get notified automatically about any future extension updates!
You can also install a VSIX package from our Releases page by following the
Install from a VSIX
instructions. The easiest way is through the command line:
code --install-extension PowerShell-<version>.vsix
NOTE: If you are using VS Code Insiders, the command will be
If you're on Windows 7 or greater with the PowerShellGet
module installed, you can easily install both Visual Studio Code and the PowerShell
extension by running the following command:
Install-Script Install-VSCode -Scope CurrentUser; Install-VSCode.ps1
You will need to accept the prompts that appear if this is your first time running
Alternatively you can download and execute the script directly from the web
without the use of
Install-Script. However we highly recommend that you
read the script
first before running it in this way!
iex (iwr https://raw.githubusercontent.com/PowerShell/vscode-powershell/master/scripts/Install-VSCode.ps1)
If you experience any problems with the PowerShell Extension, see
the troubleshooting docs for information
on diagnosing and reporting issues.
For any security issues, please see here.
There are some example scripts in the extension's
examples folder that you can
use to discover PowerShell editing and debugging functionality. Please
check out the included README.md file to learn more about
how to use them.
This folder can be found at the following path:
or if you're using the preview version of the extension
To open/view the extension's examples in Visual Studio Code, run the following from your PowerShell command prompt:
code (Get-ChildItem $Home\.vscode\extensions\ms-vscode.PowerShell-*\examples)[-1]
Contributing to the Code
Check out the development documentation for more details
on how to contribute to this extension!
This extension is licensed under the MIT License. Please see the
third-party notices file for details on the third-party
binaries that we include with releases of this project.
This project has adopted the Microsoft Open Source Code of Conduct.
For more information see the Code of Conduct FAQ or contact firstname.lastname@example.org with any additional questions or comments.