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.
- Windows 7 through 10 with PowerShell v3 and higher
- Linux with PowerShell v6 (all PowerShell-supported distributions)
- macOS and OS X with PowerShell v6
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!
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
the Install-Script
command.
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://git.io/vbxjj)
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
code-insiders
.
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:
C:\Users\<yourusername>\.vscode\extensions\ms-vscode.PowerShell-<version>\examples
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]
If you're having trouble with the PowerShell extension, please follow these instructions to file an issue on our GitHub repository:
1. File an issue on our Issues Page
Make sure to fill in the information that is requested in the issue template as it will help us investigate the problem more quickly.
Note To automatically create a bug report from within the extension run the "Report a problem on GitHub" command. Some basic information about your instance and powershell versions will be collected and inserted into a new GitHub issue.
If you're having an issue with crashing or other erratic behavior, add the following line to your User Settings in Visual Studio Code:
"powershell.developer.editorServicesLogLevel": "Verbose"
Restart Visual Studio Code and try to reproduce the problem. Once you are done with that, zip up the logs in the corresponding folder for your operating system:
- Windows:
$HOME\.vscode\extensions\ms-vscode.PowerShell-<CURRENT VERSION>\logs
- Linux and macOS:
~/.vscode/extensions/ms-vscode.PowerShell-<CURRENT VERSION>/logs
You have two options for sending us the logs:
-
If you are editing scripts that contain sensitive information (intellectual property, deployment or administrative information, etc), e-mail the logs directly to daviwil [at] microsoft.com
-
If you are editing scripts that don't contain sensitive information, you can drag and drop your logs ZIP file into the GitHub issue that you are creating.
Check out the development documentation for more details on how to contribute to this extension!
- David Wilson - @daviwil
- Keith Hill - @r_keith_hill
- Kapil Borle - @kmborle
- Trevor Sullivan - @pcgeek86
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.