Monday, January 24, 2022
#️⃣ 💎PowerShellEditorServices #1676 - Use EditorConfig for dotnet build and suppress existing issues. (Thanks @JustinGrote!) 🐛 🔍PowerShellEditorServices #1672 - Handle
debuggerResultbeing null in
🐛 🙏PowerShellEditorServices #1663 - Fix off-by-one error in validation within
🐛 📟PowerShellEditorServices #1667 - Fix
-*Color. (Thanks @SeeminglyScience!)
🐛 🔍PowerShellEditorServices #1661 - Fix
✨ 🙏vscode-powershell #2800 - Enable resolution of an alias to its function definition. ✨ 🔍PowerShellEditorServices #1633 - Display
IDictionariesin debugger prettily (with "Raw View" available). (Thanks @JustinGrote!)
Monday, January 10, 2022
So many more tests have been turned back on!
✨ 🙏PowerShellEditorServices #1658 - Bump PSReadLine module to 2.2.0-beta5. 🐛 🚨PowerShellEditorServices #1444 - Re-enable
🐛 🙏PowerShellEditorServices #1656 - Resurrect support to resolve aliased references. 🐛 🚨PowerShellEditorServices #1445 - Split and clean up
🐛 🔍vscode-powershell #3715 - Fix regression with
✨ 🚨vscode-powershell #3677 - Enable
Monday, December 20, 2021
🐛 🚂vscode-powershell #3718 - Create
$psEditoras a constant.
#️⃣ 🙏PowerShellEditorServices #1641 - Added check to see if
BundledModulePath. (Thanks @dkattan!)
#️⃣ 🙏PowerShellEditorServices #1640 - Implemented
-LanguageServiceOnlyswitch. (Thanks @dkattan!)
🐛 🛫PowerShellEditorServices #1638 - Fix
BundledModulePathand PSReadLine loading (redux).
🐛 🔍PowerShellEditorServices #1635 - Re-enable
Monday, November 22, 2021
✨ 📖PowerShellEditorServices #1631 - Add Justin Grote as maintainer. 🐛 🔍vscode-powershell #3667 - Improve debugger's variable population mechanism. (Thanks @JustinGrote and @SeeminglyScience!) 🐛 👷PowerShellEditorServices #1628 - Fix build for Apple M1 when running PowerShell 7.2 (arm64). 🐛 👷PowerShellEditorServices #1626 - Remove Windows Server 2016 from CI. ✨ 👷PowerShellEditorServices #1619 - Install a single
Wednesday, November 03, 2021
🐛 🔍PowerShellEditorServices #1608 - Improve PowerShell command and argument escaping. (Thanks @JustinGrote!) 🐛 📟PowerShellEditorServices #1603 - Add
#️⃣ 🙏PowerShellEditorServices #1604 - Fix profile loading and
Thursday, October 28, 2021
This preview release includes a complete overhaul of the core PowerShell engine of PowerShell Editor Services. This represents over a year's work, tracked in PSES #1295 and implemented in PSES #1459, and is our answer to many, many issues opened by users over the last few years. We're hoping you'll see a marked improvement in the reliability, performance and footprint of the extension as a result.
Previously the Integrated Console was run by setting threadpool tasks on a shared main runspace, and where LSP servicing was done with PowerShell idle events. This lead to overhead, threading issues and a complex implementation intended to work around the asymmetry between PowerShell as a synchronous, single-threaded runtime and a language server as an asynchronous, multi-threaded service.
This change has overhauled how we service LSP requests, how the Integrated Console works, how PSReadLine is integrated, how debugging is implemented, how remoting is handled, and a long tail of other features in PowerShell Editor Services.
Also, in making it, while 6,000 lines of code were added, we removed 12,000, for a more maintainable, more efficient and easier to understand extension backend.
While most of our testing has been re-enabled (and we're working on adding more), there are bound to be issues with this new implementation. Please give this a try and let us know if you run into anything.
We also want to thank @SeeminglyScience for his help and knowledge as we've made this migration.
Finally, a crude breakdown of the work from the commits:
- An initial dedicated pipeline thread consumer implementation
- Implement the console REPL
- Implement PSRL idle handling
- Implement completions
- Move to invoking PSRL as a C# delegate
- Implement cancellation and Ctrl+C
- Make F8 work again
- Ensure execution policy is set correctly
- Implement $PROFILE support
- Make nested prompts work
- Implement REPL debugging
- Implement remote debugging in the REPL
- Hook up the debugging UI
- Implement a new concurrent priority queue for PowerShell tasks
- Reimplement the REPL synchronously rather than on its own thread
- Really get debugging working...
- Implement DSC breakpoint support
- Reimplement legacy readline support
- Ensure stdio is still supported as an LSP transport
- Remove PowerShellContextService and other defunct code
- Get integration tests working again (and improve diagnosis of PSES failures)
- Get unit testing working again (except debug service tests)