PowerShell Studio 2018: Service Release v5.5.153 and Git Support

We released a new service build of PowerShell Studio 2018 (v5.5.153) This service build is included as part of the regular update cycle for our subscribers.


New Features

This service release adds Git support and includes a file recovery feature in addition to several other new features and improvements.


Universal Version Control and GIT Support

This service build introduces the new Universal Version Control system that allows any source control provider with command line tools to be configured with PowerShell Studio and PrimalScript. This service build includes support for the Git source control system. We will eventually expand support for other providers as the system evolves.

To enable Git support, go to Options > Source Control and select Git from the System drop-down:

Universal Version Control Git


Tip To disable the Universal Version Control feature, select <Disabled> from the System drop-down.


Once enabled, the preconfigured Git commands will appear in the Source Control tab of the ribbon:

Source Control Tab - Git


The command will prompt you whenever a value is required to execute the command. For example, when you press the Git commit command, it requires a commit comment:

Git commit prompt


Any output from Git will be displayed in the new Tools Output panel (see below for more details on the new panel):

Tools Output Panel


Note: We still support traditional MS SCCI providers. Since MS SCCI providers support is dwindling, the interface will eventually be replaced with a Universal Version Control configuration.


File Recovery

Have you ever lost your work because of an unexpected shutdown? To help minimize loss from unexpected exits, PowerShell Studio now features a file recovery system. The file recovery system is enabled by default, and can be disabled in Options > Backup > Enable file recovery:

Options - Enable File Recovery


The file recovery system keeps track of any modified files (including new untitled files). In the event of an unexpected closure, the application will attempt to recover the modified files when the application is restarted. If there are files to be recovered, PowerShell Studio will present you with a file recovery dialog:

File Recovery Dialog


The file recovery dialog allows you to view the differences between the recovery file and the file on disk (if it exists):

Recovery - Compare Differences


If you wish to ignore a specific recovery file, you can simply uncheck it from the list. Once a file is recovered, the file’s tab will be marked as [Recovered] until the user saves the file:

Recovered Files


Important: After the recovery, the changes are not committed until the user explicitly saves the modified document. 

Once the file is saved, the recovered indicator will be removed from the document’s tab.


How does this differ from the Auto-Save feature?

File recovery will also  track new unsaved files in addition to existing files.  Unlike the Auto-Save feature, the recovery system does not modify the original file that is on disk. The original file is only modified when the user explicitly saves the file.


Note: PowerShell HelpWriter and PrimalSQL service builds also incorporate the new file recovery feature.


New Tools Output Panel

We replaced the existing Debug panel with the new Tools Output panel. The new Tools Output panel will display output from any tool, such as the Universal Version Control system, Custom Menu, or the PSScriptAnalyzer module.

Tools Output Panel


The Debug panel previously displayed Write-Debug output from PowerShell and tracepoint information—that output is now displayed in the Output panel. In addition, debug, verbose, and tracepoint output is now colored in the Output panel:

Output Coloring


When debugging, breakpoint notification and the post mortem messages are displayed in the Tools Output panel:

Post Mortem and Breakpoint notifications


Rename Command

The new Rename command allows you to rename an existing file as opposed to using the Save As command, which creates a copy of the original file instead of just renaming it. To rename a file, right-click on the document tab, then click the Rename command from the context menu:

File Tab Context Menu - Rename


The Rename command will bring up a Rename / Save dialog where you can specify the new name of the file. You can also choose to move the location of the file:

Rename File Dialog


Press the Save button and the file will be renamed.


Single Dialog for Modified Files

Whenever PowerShell Studio detected a file that was modified outside of the application, it prompted you for each individual file. We consolidated the popups to a single dialog that displays all of the modified files at once:

Files Modified Dialog


The checked files will be reloaded after you press the Reload button, and the unchecked files will not be reloaded.


About Help Files

PowerShell Studio now provides syntax coloring for about help files, similar to PowerShell HelpWriter:

About File Syntax


Service Packager – Added Support for Pause and Continue

We added support for pause and continue operations to our service packager engine. We updated the service script template to include the following functions:

  1. Pause-MyService
  2. Continue-MyService

Packager Service Functions


Each respective function is called by the engine whenever the service receives the pause or continue commands.


New Packager Icon

We updated the default packager icon to use a flat style icon:

Packager Icon


You can use the original icon by selecting ScriptPackage Classic.ico from the list.


Added PowerShell Core to Tools Tab

We added a ribbon button that opens an external instance of PowerShell Core console  (Ribbon > Tools > PowerShell > PowerShell Core):

Ribbon - PowerShell Core


Tip PowerShell Studio also supports an embedded PowerShell Core console in the Console pane.  You can update the configuration in Options > Console.


New Parameter for ComboBox and ListBox Helper Functions

We added a ValueMember parameter to the Update-ComboBox and Update-ListBox help functions. The ValueMember parameter determines which property the control will use to represent the value of the listbox or combobox.



Other Changes and Improvements


Improved Load Speed and Memory usage

We improved the load speed of PowerShell Studio yet again and, as a result, we removed the splash screen. In addition, the application now uses less memory when loading PowerShell cache information.



Please continue providing your feedback. Many of the new features included in the service builds are suggestions from users like you. Submit your suggestions or feature requests on the Wish List and Feature Requests forum or the new Feature Requests page.

You can view the complete service build log here.