Skip to content

Releases: PowerShell/PowerShellEditorServices

v1.5.0

27 Oct 18:43
Compare
Choose a tag to compare

Fixes and Improvements

v1.4.1

22 Jun 21:46
Compare
Choose a tag to compare

v1.4.0

21 Jun 15:09
Compare
Choose a tag to compare
  • #517 - Added new $psEditor.Workspace.NewFile() API for creating a new untitled file in the host editor. Thanks Doug Finke!

  • #520 - Added a new PowerShellEditorServices.VSCode module to contain functionality that will only appear in Visual Studio Code.

  • #523 - Added APIs and cmdlets for creating custom HTML content views in VS Code. See the *-VSCodeHtmlContentView cmdlets for more information.

  • #516 - Code formatting using PSScriptAnalyzer has now been moved server-side to use the standard textDocument/formatting and textDocument/rangeFormatting message types

  • #521 - Code formatting now accepts 3 code formatting presets, "Stroustrup", "Allman", and "OTBS" which correspond to the most common PowerShell formatting styles.

  • #518 - Added -DebugServiceOnly parameter to Start-EditorServicesHost which enables launching an Editor Services session purely for debugging PowerShell code.

  • #519 - Added a Diagnostic logging level for the most verbose logging output which isn't always necessary for investigating issues. The logging of JSON message bodies has been moved to this logging level.

v1.3.2

12 Jun 19:55
Compare
Choose a tag to compare

v1.3.1

09 Jun 23:58
Compare
Choose a tag to compare

Fixes and improvements

v1.3.0

09 Jun 16:16
Compare
Choose a tag to compare

Notice of new internal redesign (#484, #488, #489)

This release marks the start of a major redesign of the core PowerShell Editor Services APIs, PSHost implementation, and service model. Most of these changes will be transparent to the language and debugging services so there shouldn't be any major breaking changes.

The goal is to quickly design and validate a new extensibility model that allows IFeatureProvider implementations to extend focused feature components which could be a part of PowerShell Editor Services or another extension module. As we progress, certain features may move out of the core Editor Services module into satellite modules. This will allow our functionality to be much more flexible and provide extensions with the same set of capabilities that built-in features have.

We are moving toward a 2.0 release of the core PowerShell Editor Services APIs over the next few months once this new design has been validated and stabilized. We'll produce updated API documentation as we move closer to 2.0.

New document symbol and CodeLens features (#490, #497, #498)

As part of our new extensibility model work, we've added two new components which follow the new "feature and provider" model which we'll be moving all other features to soon.

The IDocumentSymbols feature component provides a list of symbols for a given document. It relies on the results provided by a collection of IDocumentSymbolProvider implementations which can come from any module. We've added the following built-in IDocumentSymbolProvider implementations:

  • ScriptDocumentSymbolProvider: Provides symbols for function and command definitions in .ps1 and .psm1 files
  • PsdDocumentSymbolProvider: Provides symbols for keys in .psd1 files
  • PesterDocumentSymbolProvider: Provides symbols for Describe, Context, and It blocks in Pester test scripts

We took a similar approach to developing an ICodeLenses feature component which retrieves a list of CodeLenses which get displayed in files to provide visible actions embedded into the code. We used this design to add the following built-in ICodeLensProvider implementations:

  • ReferencesCodeLensProvider: Shows CodeLenses like "3 references" to indicate the number of references to a given function or command
  • PesterCodeLensProvider: Shows "Run tests" and "Debug tests" CodeLenses on Pester Describe blocks in test script files allowing the user to easily run and debug those tests

Note that the ICodeLensProvider and IDocumentSymbolProvider interfaces are not fully stable yet but we encourage you to try using them so that you can give us your feedback!

Added a new PowerShellEditorServices.Commands module (#487, #496)

We've added a new Commands module that gets loaded inside of PowerShell Editor Services to provide useful functionality when the $psEditor API is available.

Thanks to our new co-maintainer Patrick Meinecke, we've gained a new set of useful commands for interacting with the $psEditor APIs within the Integrated Console:

Microsoft.PowerShell.EditorServices API removals (#492)

We've removed the following classes and interfaces which were previously considered public APIs in the core Editor Services assembly:

  • ConsoleService and IConsoleHost: We now centralize our host interface implementations under the standard PSHostUserInterface design.
  • IPromptHandlerContext: We no longer have the concept of "prompt handler contexts." Each PSHostUserInterface implementation now has one way of displaying console-based prompts to the user. New editor window prompting APIs will be added for the times when a UI is needed.
  • Logger: now replaced by a new non-static ILogger instance which can be requested by extensions through the IComponentRegistry.

v1.2.1

01 Jun 19:41
Compare
Choose a tag to compare

Fixes and improvements

  • #478 - Dynamic comment help snippets now generate parameter fields correctly when <# is typed above a param() block.

  • PowerShell/vscode-powershell#808 - An extra PS> is no longer being written to the Integrated Console for some users who have custom prompt functions.

  • PowerShell/vscode-powershell#813 - Finding references of symbols across the workspace now properly handles inaccessible folders and file paths

  • PowerShell/vscode-powershell#821 - Note properties on PSObjects are now visible in the debugger's Variables view

v1.2.0

31 May 15:21
Compare
Choose a tag to compare

Fixes and improvements

v1.1.0

18 May 17:42
Compare
Choose a tag to compare

Fixes and improvements

  • #452 - Added the powerShell/getCommentHelp request type for requesting a snippet-style text edit to add comment-based help to a function defined at a particular location.

  • #455 - Added the powerShell/startDebugger notification type to notify the editor that it should activate its debugger because a breakpoint has been hit in the session while no debugger client was attached.

  • #663 and #689 - We now write the errors and Write-Output calls that occur while loading profile scripts so that it's easier to diagnose issues with your profile scripts.

v1.0.0

10 May 14:58
Compare
Choose a tag to compare

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.