Releases: PowerShell/PowerShellEditorServices
v1.0.0
We are excited to announce that we've reached version 1.0! For more information, please see the official announcement on the PowerShell Team Blog.
Fixes and improvements
-
Upgraded our Language Server Protocol support to protocol version 3.
-
Added basic module-wide function references support which searches all of the PowerShell script files within the current workspace for references and definitions.
-
Fixed vscode-powershell #698 - When debugging scripts in the integrated console, the cursor position should now be stable after stepping through your code! Please let us know if you see any other cases where this issue appears.
-
Fixed vscode-powershell #626 - Fixed an issue where debugging a script in one VS Code window would cause that script's output to be written to a different VS Code window in the same process.
-
Fixed vscode-powershell #618 - Pressing enter on an empty command line in the Integrated Console no longer adds the empty line to the command history.
-
Fixed vscode-powershell #617 - Stopping the debugger during a prompt for a mandatory script parameter no longer crashes the language server.
-
Fixed #428 - Debugger no longer hangs when you stop debugging while an input or choice prompt is active in the integrated console.
v0.12.1
- Fixed vscode-powershell #645 -
"Go to Definition" or "Find References" now work in untitled scripts without
crashing the session - Fixed vscode-powershell #632 -
Debugger no longer hangs when launched while PowerShell session is still
initializing - Fixed #430 -
Resolved occasional IntelliSense slowness by preventing the implicit loading
of the PowerShellGet and PackageManagement modules. This change will be reverted
once a bug in PackageManagement is fixed. - Fixed #427 -
Fixed an occasional crash when requesting editor IntelliSense while running
a script in the debugger - Fixed #416 -
Cleaned up errors that would appear in the$Errors
variable from the use
ofGet-Command
andGet-Help
in IntelliSense results
v0.12.0
Fixes and improvements
-
Added #408 - Enabled debugging of untitled script files
-
Added #405 - Script column number is now reported in the top stack frame when the debugger
stops to aid in displaying a column indicator in Visual Studio Code -
Fixed #411 - Commands executed internally now interrupt the integrated console's command
prompt -
Fixed #409 - PowerShell session now does not crash when a breakpoint is hit outside of
debug mode -
Fixed #614 - Auto variables are now populating correctly in the debugger. NOTE: There is a known issue where all of a script's variables begin to show up in the Auto list after running a script for the first time. This is caused by a change in 0.11.0 where we now dot-source all debugged scripts. We will provide an option for this behavior in the future
v0.11.0: Merge pull request #402 from daviwil/release/0.11.0
Fixes and improvements
- Added PowerShell/vscode-powershell#583 -
When you open files in a remote PowerShell session with thepsedit
command,
their updated contents are now saved back to the remote machine when you save
them in the editor. - Added PowerShell/vscode-powershell#540 -
The scripts that you debug are now dot-sourced into the integrated console's
session, allowing you to experiment with the results of your last execution. - Added PowerShell/vscode-powershell#600 -
Debugger commands likestepInto
,continue
, andquit
are now available
in the integrated console while debugging a script. - Fixed PowerShell/vscode-powershell#533 -
The backspace key now works in the integrated console on Linux and macOS. This
fix also resolves a few usability problems with the integrated console on all
supported OSes. - Fixed PowerShell/vscode-powershell#542 -
Get-Credential now hides keystrokes correctly on Linux and macOS. - Fixed PowerShell/vscode-powershell#579 -
Sorting of IntelliSense results is now consistent with the PowerShell ISE - Fixed PowerShell/vscode-powershell#575 -
The interactive console no longer starts up with errors in the$Error
variable.
v0.10.0: Merge pull request #379 from PowerShell/release/0.10.0
These improvements are described in detail in the vscode-powershell changelog
for its 0.10.0 release.
Language feature improvements
- Added new terminal-based integrated console
- Added new code formatting settings with additional rules
- Added Get-Credential, SecureString, and PSCredential support
Debugging improvements
- Connected primary debugging experience with integrated console
- Added column number breakpoints
- Added support for step-in debugging of remote ScriptBlocks with PowerShell Core 6.0.0-alpha.17
v0.9.0
These improvements are described in detail in the vscode-powershell changelog
for its 0.9.0 release.
Language feature improvements
- Added PowerShell code formatting integration with PSScriptAnalyzer
- Improved PSScriptAnalyzer execution, now runs asynchronously
- Added Document symbol support for .psd1 files
Debugging improvements
- Remote session and debugging support via Enter-PSSession (PowerShell v4+)
- "Attach to process/runspace" debugging support via Enter-PSHostProcess and Debug-Runspace (PowerShell v5+)
- Initial
psedit
command support for loading files from remote sessions - Added language server protocol request for gathering PowerShell host processes for debugging
- Many minor improvements to the debugging experience
$psEditor API improvements
- Added
FileContext.Close()
method to close an open file
Other fixes and improvements
- Fixed #339:
Prompt functions that return something other than string cause the debugger to crash
v0.6.1
v0.6.0
Introduced a new documentation site
- We have launched a new documentation site
for this project on GitHub Pages. This documentation provides both a user guide
and .NET API documentation pages that are generated directly from our code
documentation. Check it out and let us know what you think!
Added a new cross-editor extensibility model
- We've added a new extensibility model which allows you to write PowerShell
code to add new functionality to Visual Studio Code and other editors with
a single API. If you've used$psISE
in the PowerShell ISE, you'll feel
right at home with$psEditor
. Check out the documentation
for more details!
Support for user and system-wide profiles
- We've now introduced the
$profile
variable which contains the expected
properties that you normally see inpowershell.exe
andpowershell_ise.exe
:AllUsersAllHosts
AllUsersCurrentHost
CurrentUserAllHosts
CurrentUserCurrentHost
- Each editor integration can specify what their host-specific profile filename
should be. If no profile name has been specified a default ofPowerShellEditorServices_profile.ps1
is used. - Profiles are not loaded by default when PowerShell Editor Services is used.
This behavior may change in the future based on user feedback. - Editor integrations can also specify their name and version for the
$host.Name
and$host.Version
properties so that script authors have a better idea of
where their code is being used.
Other improvements
$env
variables now have IntelliSense complete correctly (#206).- The debug adapter now does not crash when you attempt to add breakpoints
for files that have been moved or don't exist (#195). - Fixed an issue preventing output from being written in the debugger if you
don't set a breakpoint before running a script. - Debug adapter now doesn't crash when rendering an object for the
variables view if ToString throws an exception.
v0.5.0
Support for PowerShell v3 and v4
- Support for PowerShell v3 and v4 is now complete! Note that for this release,
Script Analyzer support has been disabled for PS v3 and v4 until we implement
a better strategy for integrating it as a module dependency
Debugging improvements
- Added support for command breakpoints
- Added support for conditional breakpoints
- Improved the debug adapter startup sequence to handle new VS Code debugging features
Other improvements
using 'module'
now resolves relative paths correctly, removing a syntax error that
previously appeared when relative paths were used- Calling
Read-Host -AsSecureString
orGet-Credential
from the console now shows an
appropriate "not supported" error message instead of crashing the language service.
Support for these commands will be added in a later release.