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.
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:
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:
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:
Any output from Git will be displayed in the new Tools Output panel (see below for more details on the new 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.
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:
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:
The file recovery dialog allows you to view the differences between the recovery file and the file on disk (if it exists):
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:
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.
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:
When debugging, breakpoint notification and the post mortem messages are displayed in the Tools Output panel:
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:
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:
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:
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:
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:
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:
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):
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.