We just released a beta version where we addressed a number of feature requests and fixes. We’d like to invite you to test-drive the beta version and provide feedback.
The enhancements below were introduced in 220.127.116.11 except for the items marked in orange. They were introduced in 18.104.22.168.
As always with beta versions, we do not publish to the PowerShell Gallery. If you want to test drive on PowerShell 5, simply download, unblock the ZIP, and unpack. You can then run the beta side-by-side with other versions by loading it like this:
Below, I’ll highlight some of the areas we are working on, so you can easily test-drive the new things.
Improved Launch Times
Launching ISESteroids can take between just a few seconds and up to 30 seconds. This largely depends on how fast your machine is. We tried to cut down the launch times, and on some systems they dropped by 50%. Don’t be too dissappointed though if is less in your case.
On popular request, we also added an option to disable the ISESteroids welcome screen. To turn it off, go to the menu “Expert Level”, and turn off “Show ISESteroids Welcome Screen”.
Be aware though that this screen serves a purpose. It is visible while ISESteroids adds its various features. When you disable it, and immediately continue to work while ISESteroids still loads, you may run into concurrency issues.
To help better understand what happens during ISESteroids start, there is a new cmdlet called Get-SteroidsStartupData which will provide startup performance data.
In addition, ISESteroids now shows a progress bar in the ISE titlebar while it loads.
Automatic Version Control
If you have used the version control Addon to save multiple versions of your script, then ISESteroids now automatically makes sure the version control addon is loaded once you open a file with version control information attached.
This way, you get immediate version control protection and won’t need to manually enable the addon anymore.
CompatAware helps you identify code that is not compatible with a given PowerShell version. This functionality is so important that it moved from the “Level” submenu to its own top menu entry called “Compatibility”.
When you generate a compatibility report, and there are no compatibility issues, ISESteroids will now tell you so rather than just return “nothing”.
When you restart ISESteroids, it reloads all your opened documents. However, in the past it would also persist empty untitled (unsaved) documents. Since ISE may start with a default empty document, restarting ISESteroids a couple of times would add a new untitled document each time.
Now, ISESteroids will no longer persist untitled documents that have no content. It will continue to persist untitled documents that have content.
In addition, the dialog box that pops up when you load persisted files has now a checkmark, so you can dismiss it altogether if you’d like to silently load persisted files.
Varible Monitor and Remote Sessions
When you connect to a remote session, for example using Enter-PSSession, the variable monitor now correctly shows the variables in the remote session. When the variable monitor shows remote content, there is a yellow header bar with a (tiny) link in it that lets you easily disconnect.
Note that the variable monitor shows variable content originating from remote sessions in a string serialized way. It is too expensive to transfer real objects to your client session, and most of the time, a string representation is all that is needed.
Remote Process Debugging in PowerShell 5
Debugging other PowerShell hosts (a new feature in PowerShell 5) is now fully supported. However this support requires a final version of PowerShell 5 (i.e. in Windows 10). Preview versions worked differently, so they may not be compatible.
To connect to another PowerShell host on your machine (i.e. another ISE running some script), choose Debug/Advanced/Debug Process. This pops up a dialog with all debuggable remote processes. Choose one.
ISESteroids connects to the remote process. You can then run Get-Runspace to view the available runspaces, and start debugging using Debug-Runspace -Name Runspace1 (or another runspace open in the currently connected process).
ISESteroids will show the running source code, support stepping and debugging, and the variable monitor will correctly show the variables on the remote process side (again, as string representations, just like in remote sessions).
When you click the “Disconnect” link in the yellow bar inside the variable monitor, you can disconnect step by step. It actually takes 3 clicks to completely disconnect. The first click will disconnect from the debugged runspace, the next click will disconnect from the current session, and the final click will disconnect from the remote process.
There are a number of relevant fixes in this release. When you output colorized text to the console, it could take until the command completed until ISESteroids showed the correct color. This should be fixed now, and all colors should show correctly immediately.
Also, setting the console pane foreground color sometimes did not update correctly. This could affect switching color themes when the text foreground color did not update until ISESteroids was restarted. This has been corrected now.
Did you ever try and select some text, then press CTRL+F? If you did, and if the navigation bar was turned on, then the selected text was put into the real-time search box. Now, the caret is also placed correctly at the end of the selected text so you can immediately press ENTER to find the next instance.
Color Customization For Vertical Guides
When adding vertical guidelines, you can now change the color of these guidelines. To do this, just make sure theme adjustment is enabled: click the button with the three color circles on the secondary toolbar, then choose “Enable UI Customization”.
When UI Customization is enabled, you find “Theme” menus on almost all right-click menus that let you customize the UI. The same is now true for vertical guides. Simply click the vertical guides button (three vertical stripes-button on the secondary toolbar), then choose “Theme”, and pick the colors you want.
For the “Theme” menu to appear, you need to restart ISESteroids after you enabled UI Customization. This is a limitation in the current beta and will be fixed.
When you open the “File” menu and right-click one of your MRU items, a context menu now has more options. You can choose whether you want the MRU list to be sorted, and whether the path should be shortened or not.
Your Feedback Greatly Appreciated
Please help us testing, and let us know if these things work for you. You may also want to check that nothing else broke. We are testing thoroughly but can truly need a number of additional eyes, given the many scenarios out in the wild.