PowerShell Extension for Visual Studio Code October 2022 Update
We are excited to announce that the October update to the PowerShell Extension for Visual Studio Code is now available on the extension marketplace.
This October stable release incorporates a number of bugfixes throughout September and early October, though is not based on the latest preview, v2022.10.1-preview, as the refactors involved in enabling TypeScript’s strict type checking and ESLint’s strict linting will need more testing. However, based on the success of the PowerShell Script Analyzer’s v1.21.0 release we wanted to get this to you sooner!
Updates in the October Release
Note that these updates all shipped in our PowerShell Preview Extension for VS Code before shipping in our stable channel.
Some highlights of the September and October preview releases:
- 🐛 🔍 vscode-powershell #4201 – Fix automatic focus to temporary debug terminal (if it exists).
- 🐛 ✂️ vscode-powershell #4195 – Fix Function Help snippet. (Thanks @okhoel!)
- ✨ 📺 vscode-powershell #4193 – Handle busy notification for all PowerShell tasks.
- ✨ 🕵️ vscode-powershell #4164 – Enable new PSScriptAnalyzer option
avoidSemicolonsAsLineTerminators. (Thanks @bergmeister!)
- 🐛 🔍 vscode-powershell #4082 – Refactor the debug launch configuration resolvers.
- 📔 🙏 vscode-powershell #4170 – Add setting to only analyze open documents for references.
- 🐛 🛫 vscode-powershell #4160 – Lock
SessionManager.start()so only one session is started.
- ✨ 🔧 vscode-powershell #4139 – Add setting to control the references code lens.
- ✨ 🕵️ PowerShellEditorServices #1916 – Upgrade PSScriptAnalyzer to 1.21.0. (Thanks @bergmeister!)
- 🐛 🛫 vscode-powershell #4048 – Created a nested PowerShell for the top-level loop.
- 📔 🙏 PowerShellEditorServices #1917 – Overhaul workspace search for symbol references.
- ✨ 🚨 PowerShellEditorServices #1914 – Add regression tests for F5 and F8 saving to history.
For the full list of changes please refer to our changelog.
Some major bugfixes we wish to call out include:
- supporting events registered to PowerShell’s
OnIdlehandler so that Azure cmdlets such as
- a lock around the client’s
start()so the extension terminal cannot accidentally be spawned multiple times
- making the default debug configurations not override your current working directory
cwdon all of them).
Execution Busy Spinner
In addition to fixing bugs, we also reintroduced a fan-favorite feature: the PowerShell Language Status Icon will visually indicate if the execution pipeline is busy. For example, a long-running task in the PowerShell Extension Terminal or a launched editor command will show a spinner!
References Performance Improvements
Finally, I wanted to call out work by Patrick to significantly improve the performance of reference finding (which powers the reference code lenses), so large workspaces can now be used more easily. If these performance improvements are still not enough for a particular workspace, we also introduced two new settings to fine-tune the feature:
powershell.analyzeOpenDocumentsOnlywhen enabled will only search for references within open documents
powershell.enableReferencesCodeLenscan be used to disable reference finding without having to turn off other code lenses
Getting Support and Giving Feedback
While we hope the new implementation provides a much better user experience, there are bound to be issues. Please let us know if you run into anything.
If you encounter any issues with the PowerShell Extension in Visual Studio Code or have feature requests, the best place to get support is through our GitHub repository.