Version History Archive

2.5.1.2 (released May 17, 2016)

New:

Changed:

  • Obfuscation: when you obfuscate a script, the obfuscation report now uses the obfuscated variable and function name as key, not as value. This makes it easier to use the obfuscation tables to undo obfuscation.

Fixed:

  • Obfuscation: did not obfuscate parameters that use a colon to directly assign values. Fixed.

2.5.1.1 (released May 11, 2016)

New:

  • Comparison: When right-clicking the tab of a saved file, the context menu now has an item “Compare to”. If the file contains unsaved changes, choose “saved file” to open the file comparison tool and show all unsaved changes to that script.
  • Comparison: When more than one file is open, the comparison context menu item allows to compare the current script to another open script.
  • Obfuscator: when you obfuscate a script (Tools/Obfuscate) and check “Create Obfuscation Table”, ISESteroids now produces aligned hashtables with the new variable and function names.
  • Pester support for Obfuscator. When you obfuscate a script that has a Pester test, there is now an option to also update the Pester test so you can continue to use the Pester test with the obfuscated script.

Fixed:

  • When obfuscating a script, splatted variables broke because obfuscated variable names were using braces. Corrected.
  • When reloading a script (right-click editor tab, then choose “Reload”), fixed minor bug.

2.5.1.0 (released May 10, 2016)

New:

  • Added back color coding for VBScript and other file types.
  • Added PowerShell Obfuscator. Use menu Tools/Obfuscator to obfuscate the current script.

Fixed:

  • Block comments now accept blank lines at the beginning of selected text
  • When saving a new snippet to WindowsPowerShell/Snippets, the snippet manager showed a warning dialog claiming this was not a default location. Fixed.

2.5.0.6 (released May 3, 2016)

New:

  • Pester context menu now has a submenu “Settings” where you can edit the templates used for new tests

Fixed:

  • Apparently, when adding a new Pester test to an existing test file, the test could be inserted at a wrong position. This problem only occurred rarely. Hopefully fixed. If not, please report.

2.5.0.5 (released May 2, 2016)

New:

  • Pester Integration:
  • In Pester, when clicking a “Should” assertion and pressing CTRL+J, the snippet selector now inserts the Pester snippets and removes the previously present assertion completely.
  • Functions now show a “Pester” overlay next to the “reference count” overlay. By clicking the overlay, a context menu opens and provides easy access to Pester test generation and allows to test individual functions or entire scripts by a simple click.
  • When you run a Pester test, and the script being tested contains active code (code outside function definitions), ISESteroids shows a warning, explaining that this active code would be invoked by running a Pester test on the script.
  • When right-clicking an editor tab, the context menu now has a “Delete” command which closes AND DELETES the current file.
  • “Align Assignment Operators” now also aligns keys in a hashtable or a DSC node. To invoke, right-click anywhere in script, then choose “Refactor/Align Assignment Operators”

Fixed:

  • When you pressed TAB in the console to autocomplete, ISESteroids could hang. Fixed.
  • When pressing CTRL+Q (IntelliSelect), improved the granularity of autoselection when invoking multiple times.
  • When inserting a snippet that contained a here-string, automatic indentation could break the snippet. Fixed.
  • When the help panel is open, clicking on a function did not show function help if the function resides in a module. Fixed.
  • When exporting functions to module, in the “location” list, folder names with underscores would not show the underscore in the UI. Fixed.
  • When a file is renamed by right-clicking  the editor tab, a version archive (if present) and a Pester test (if present) are also renamed.
  • Collapsible regions were sometimes broken and showed incorrectly/partially. Fixed.
  • When saving a new snippet, if the default PowerShell snippet folder is not present, it is created, so the SaveAs dialog now defaults to the correct location.
  • In LivePresent, when double-clicking a PowerPoint presentation, PowerPoint may not start on some systems. Windows does not correctly identify the associated executable. Added a workaround.
  • In the module manifest (ISESteroids.psd1), the entry “PowerShellHostName” was commented out so ISESteroids could be loaded in a plain PowerShell console. Fixed.

2.4.0.44 (released April 1, 2016)

New:

  • When code is selected, a new icon appears in the debugger margin. Clicking this icon opens a context menu with refactoring options. Selections can easily be surrounded with structures like scriptblocks, regions, conditions, or commented in and out.
  • When code is selected, and you click on the icon in the debugger margin, there is a new command “Convert Syntax to Function”. It is enabled when you select a valid syntax definition, and turns the syntax into a PowerShell function. Hold SHIFT to replace the function definition with the function code (by default, the function is inserted into a new editor pane). Hold CTRL to open the advanced syntax editor.
  • ISESteroids now has a subfolder called “DefaultSettings”. You can place default options and color options into this folder. ISESteroids will use these settings when there are no user settings as initial default values.
  • Moved the command “CloneView” from context menu to View menu.
  • When you click a path to a file or folder inside your code, ISESteroids displays a link in its status bar to open the folder in Windows Explorer (and select the file if the path resolves to a file).
  • When you apply a color theme, the color theme no longer changes the font settings. Font settings are now completely separated from color themes and use font themes. You can change (and also create new) font themes through the “Themes” button. Choose “Font Themes”, and select an existing font theme, or “Save Current Font Composition” to create your own new font theme.
  • When ISESteroids has started, it shows its home path in the status bar. You can click on that path to open the folder where ISESteroids was loaded from. This can help identify issues when you have more than one version of ISESteroids installed in different locations because it lets you now clearly identify which version was currently loaded. Also, this way you can easily remove unwanted versions of ISESteroids.
  • Variable monitor now shows scriptblock content in braces.
  • The Stacktrace Panel in Variable monitor (slides in during debugging sessions) now shows separate “script:” and “global:” scope (unless both are the same)
  • When you place the cursor into a line and press F8, by default the entire line is selected and then executed. However, if the current line is part of a multi-line command, this produces syntax errors. ISESteroids now identifies the other lines that are part of a command, selects them all, and executes the entire selection.

Changed:

  • Removed the ability to hold CTRL and press ArrowUP/Down to browse through command line history. This feature conflicts with the ability to exit the  input area in the console pane.
  • CTRL+Arrow default functionality restored. To quickly move to the beginning or end of a structure (like a scriptblock brace), use CTRL+SHIFT+Arrow instead.

Improved:

  • The SnippetManager was completely rewritten to make it easier to use, and more powerful. You can now open the SnippetManager also from within the “Tools” menu.
  • Vast improvements to IntelliSelect: when you press CTRL+Q multiple times, ISESteroids now selects logical code units. This includes comments, regions, and AST structures.
  • Launch time optimized. ISESteroids will start much faster.
  • Optimized memory release. When you work with ISE over a longer period of time, ISESteroids releases memory more efficiently, reducing the overall memory retention.
  • ISESteroids help panel now supports showing syntax and help information for self-defined functions, even if these functions were not yet run and do not yet exist in memory. Simply open the ISESteroids help panel, then click on a function name inside the script.
  • The navigation bar can now be controlled via the “View” menu: Show Navigationbar. Cleaned up contents of View menu.

Fixed:

  • When you open a new PowerShellTab, the console foreground color could be black until you loaded a new color scheme. Fixed.
  • When you close an existing PowerShellTab, the editor tab context menu was gone until a new document was opened. Fixed.
  • When you used the “Command Analysis” panel to analyze parameter binding, and closed the panel again, PowerShell code would still execute slower than normal. Fixed. When you now turn off “Command Analysis”, all parameter binding logging is turned off again.
  • When inserting a code snippet into the editor, there was a visual border around the snippet for as long as the snippet was in insertion mode. This was not as helpful as thought. Removed.
  • When you change the console background color (i.e., right-click into the console, choose “Themes”), the console token colors were not adjusted. When you changed the console background from a dark to a light color, for example, the tokens would still use light colors and would be hard to read. Added logic to detect this. Token colors are adjusted automatically now when appropriate.
  • In PowerShell 5, on rare occasions, console output was broken. Fixed.

2.3.0.64 (released March 7, 2016)

New:

  • When you turn a script into an executable (Menu Tools/Create Application), you now have an option to create a 32bit executable if you must ensure that a script runs in a 32bit environment.
  • When you export a function to a module, the module now adheres to the standards required by PowerShellGet repositories, so you can upload your modules to the public PowerShellGet repository, or to a private repository (using Publish-Module)
  • When you export a function to an existing module, the minor version of the module manifest is automatically incremented.

Fixed:

  • In PowerShell 5, on rare occasion, the console would not output anything anymore. Fixed.
  • When inserting a new function via the icon to the left of the navigation bar, a DSC snippet was inserted by default when no selection was made before. Fixed. Snippet now defaults to a simple PowerShell function body.
  • In some rare cases, licenses would only be accepted from an Administrator user. Fixed.
  • When a licensed version of ISESteroids starts, it outputted a number of instruction lines. Removed.
  • Further optimized launch speed, especially with slow networks.
  • There could be multiple “Create New Document” submenu items in the editor context menu that were not cleared from a previous call to another context menu. Fixed.
  • Some 3rd party applications such as WinMerge and Kaxaml failed to start when ISESteroids was installed for “All Users” rather than in your personal Documents folder. The reason is that portable apps try and save their settings in the folder where they were installed. Since the folder is non-writeable, the application could not start. Fixed. If the application cannot start, ISESteroids copies it to a temporary file location first, then launches it from there.
  • Occasionally, when you re-applied your ISESteroids license, you received the message that the license was installed on too many machines even though you did not. Fixed.

 

2.3.0.46 (released Oct 29, 2015)

New:

  • In PowerShell 5, when you have installed PSScriptAnalyzer from Microsoft, you can use the new menu item “Expert Level” / “Realtime Code Review”, and turn on the option “Use ScriptAnalyzer Rules”. This turns on a realtime check, so each time your code violates one of the PSScriptAnalyzer rules, a green squiggle line indicates what is wrong. Hover over the squiggle to find out which rule triggered this, and what the issue is. Bear in mind that ISESteroids has no influence over the rules that get applied. So if you think a rule triggers without need, contact the PSScriptAnalyzer team at github. If PSScriptAnalyzer is not yet installed, ISESteroids offers to download and install it for you. After you installed PSScriptAnalyzer, make sure you restart ISESteroids. You then can turn on the PSScriptAnalyzer support outlined above.
  • When you press CTRL+SHIFT+F, ISESteroids opens the advanced file finder addon. The option Recurse is now preselected. Search results now display a code preview for the line(s) containing matches; simply double-click a search item to see the preview.
  • CompatAware now also checks automatic variables such as $PSScriptRoot.
  • CompatAware now checks for ordered hashtables.
  • CompatAware now checks for named attributes with omitted value.
  • The script refactoring tool will not add a #requires statement to .psm1 module files. Modules use metadata in .psd1 files to define requirements. #requires statements inside modules may conflict with metadata. Note that ISESteroids will add a #requires statement when you manually run the “Add/Update #requires statement”. The change only affects the automatic script fixer.
  • The script refactoring tool occasionally produced an error message stating that a script could not be changed while the debugger is active. This happened when there were active breakpoints in any open script. Fixed.
  • In previous versions, on first launch ISESteroids displayed a dialog to pick the UI level (Beginner, Expert). Removed. To change the UI level, use the menu “Expert Level”. By default, ISESteroids will now always enable all features.

Fixed:

  • When you press CTRL+F3, ISESteroids shows only lines that contain a search result. Pressing the key shortcut again toggles this. The special “line view mode” only works when the navigation bar is visible, and when you entered a search phrase into the search box. Starting with this release, pressing CTRL+F3 will automatically turn the navigation bar on if it was off. If there is no search phrase in the search box, it takes the current selection. If there is no current selection, it takes the word the caret is in.
  • ISESteroids supports a “Zero Touch” mode: when you add a folder “AppData” inside your ISESteroids module folder, then all user settings are stored here instead of using the roaming AppData folder located in $env:AppData. However, your license is always stored locally (because it is bound to a particular machine). Once the license is stored locally, ISESteroids would no longer use the Zero Touch-Settings. Fixed.
  • When you try and code-sign a script with no codesigning certificates available, ISESteroids offers to create one. If you pressed “Cancel”, ISESteroids tried to sign the file anyway. Fixed.
  • When you created a CompatAware compatibility report, the line number was off by one. Fixed.

2.3.0.36 (released September 11, 2015)

New:

  • New Visual Studio-like design for editor tabs. When you hover over an editor tab that currently has no focus, the tab will temporarily show a close button so you can quickly close open files without having to first select them.
  • New design for scrollbars, less obtrusive, modern.

Fixed:

  • Snippets did not work reliably in the console pane. Fixed.
  • Unclassified token color was too light in default theme. DSC configuration keywords were sometimes not readable. Fixed. To apply the fix, simply re-apply the default theme (click the button with the three color circles on the secondary toolbar, choose Color Theme, then Default.
  • Runspace debugging in PowerShell 5 was not working right. Fixed.

 

2.3.0.11 (released August 28, 2015)

Fixed:

  • When opening a new PowerShell tab, the window titlebar showed a progressbar. This was an artifact that should not have been there in the first place (but did not affect functionality). Fixed.

 

2.3.0.10 (released August 24, 2015)

New:

  • Added all default snippets. So when you press CTRL+J to open the snippet selector, you now find subfolders for DSC and workflows, too. The other snippets have been merged to the existing categories. Added keyboard shortcuts and intelligent auto-fill fields for most new snippets.
  • Added snippets for class support in PowerShell 5.
  • Added snippet support for PowerShell versioning. Snippets marked compatible with a given PS version will no longer show when a lower PowerShell version is running. So when you run PowerShell 5, no class snippets will be shown. When you run PowerShell 3, no DSC snippets will be shown.
  • When you open a script file that has version information attached to it, ISESteroids automatically opens the Version addon tool, and activates version control.
  • Main menu “Level” was renamed to “ExpertLevel”. Content was cleaned up. CompatAware moved to its own top level menu “Compatibility”.
  • Added new command “Show ISESteroids Welcome Screen”. When disabled, ISESteroids skips the blur during launch.
  • Added new cmdlet “Get-SteroidsStartupData” which reports performance data collected during ISESteroids launch. This information can be used to optimize ISESteroids launch times.
  • When you restart ISESteroids, persisted files no longer include empty documents.
  • When ISESteroids loads persisted data from a previous session, there was always a dialog asking whether you wanted to load or discard persisted data. This dialog now has a checkbox that lets you dismiss this dialog in the future.
  • When ISESteroids loads, there is now a progress bar in the ISE title bar.
  • In the file menu, when right-clicking an MRU item, the context menu now lets you choose (a) the maximum number of items in the MRU list (b) whether to sort alphabetically, and (c) whether to shorten paths.
  • When you enabled theme adjustments (click the three-color-circle-button in the secondary toolbar, then enable “Enable UI Adjustments”), you can now also customize the colors of vertical guides. Simply click the button for vertical guides (three vertical stripes in the secondary tool bar), then choose “Theme”, and set the color of your choice.
  • Install script (install.ps1, which you can launch via install.bat) is now digitally signed. This ensures that you can run the install script on machines where ExecutionPolicy requires it.
  • Updated ILSpy to version 2.2.0.1706

Fix:

  • Fixed caret positions for existing snippets. When you inserted “Where-Object”, for example, by typing “wh”, then pressing TAB, the snippet was inserted, but the end caret position was off. Fixed for all snippets.
  • Color output to the console would sometimes show correct colors only after the command completed. Fixed.
  • Console Foreground Color could not be updated for the first PowerShellTab once ISESteroids was loaded. Fixed.
  • When connected to a remote session, the variable monitor would not update variables. Fixed.
  • When you select text and press CTRL+F while the navigation bar is visible, the selected text is placed into the real-time search field. The caret inside the search box was not updated, though. Fixed: caret now placed at the end of the search word, so the search word can easily be changed.
  • When remote debugging another process, the variable monitor would not show the variables of the remote process, and all console output was shown on the remote side (in the remote process). Fixed.
  • When trial mode ends, the license overlay now provides a link. When you click the link, an OpenFile dialog opens and lets you easily select your license file, and activate it.
  • In PowerShell 5, when you use the new class statement, ISESteroids treated class methods like PowerShell functions, and recommended to use param() blocks. Fixed. Class methods are no longer treated like PowerShell functions.

2.3.0.1 (released July 30, 2015)

Fix:

  • Due to a bug, ISESteroids would report that you had reached your activation limit when in reality only the license file did not match the operating system any more. Beginning with 2.3.0.1, ISESteroids will correctly report that the current license is no longer valid, and ask you to simply re-apply your license file to refresh the license.

 

2.3.0.0 (released July 22, 2015)

New:

  • Use Update-SteroidsHelp to update PowerShell help in the best possible way. By default, help files are updated when you have Administrator privileges, else help files are downloaded and installed to HelpCache. The cmdlet can be run from the Help menu as well (Update PowerShell Help).
  • To use text-based about-help files from HelpCache, run Enable-SteroidsHelpAboutCache. This is a per-session setting.
  • Run Show-SteroidsAdvancedSearch, or press CTRL+SHIFT+F, or use the command in the menu “Edit”, to display an advanced help addon that lets you do advanced searches across multiple files and locations.
  • When you run a script in an external test environment (click the button with the blue powershell logo and green play icon), your current preferences are applied to the console. So if you have set $DebugPreference, for example, to “Continue”, the same setting will be active in the test console, and Write-Debug messages would show. This does not apply to test consoles that you launch with the SYSTEM account (right-click the toolbar button to view options). Thank you Kamil for this suggestion.
  • When you set a temporary guide (CTRL+SHIFT+G), then pressing ENTER while being on the right side of the guide will set the caret position to the guideline rather than the beginning of the line (indenting to the guide)
  • HelpCache: if PowerShell module help files are missing, ISESteroids looks into “HelpCache” folder and can load help files from there. This enables regular users to use full PowerShell help even if the original module location is in a write-protected location. It also allows users to keep help files in the ISESteroids module folder or in the user profile.
  • Customizable username: place a file named “username.txt” into the ISESteroids module folder to customize the greeting name displayed during launch. ISESteroids will then read the name from this file.
  • When you right-click the navigation combo, a new context menu opens and lets you control whether the navigation combo should include regions defined in the script, and whether the regions should be sorted alphabetically by name, or appear in the order in which they are defined in the script (default). The context menu also contains the command “Manage Indentations…” which opens a dialog that defines indentation size and type (spaces or tabs). When there are no functions in a script, you can now click the text label inside the function combobox to show a list of regions only (provided you did not disable regions in the combo list as outlined above).
  • When you right-click the “PLAY” button (the button that runs a script, marked with a green triangle), you get the chance to define command line arguments. If you submit command line arguments, they will be sent to the script when you launch it. To clear command line arguments, enter a blank text or click “Cancel”. Command line arguments are specific for a script so you can define different command line arguments for different scripts. Command line arguments persist until you either clear them or close the script.
  • When you right-click the “PLAY” button (the button that runs a script, marked with a green triangle), you can disable the default dot-sourcing. By default, ISE runs scripts always dot-sourced, so the script scope is equal to the global scope. This is done to support debugging because dot-sourcing keeps the variables and functions defined by a script for later inspection. To run a script in its own scope, which would be the default when running scripts inside the PowerShell console, check the context menu option to disable automatic dot-sourcing. This setting is per script. It remains active until you toggle it again, or close the script. NOTE: You can temporarily run a script in local scope (disable automatic dot-sourcing) when holding CTRL while you click the PLAY button. Note also that ISESteroids shows the correct command line, adding the dot-source symbol where appropriate.
  • In the toolbar, there is a new button with three vertical stripes. When clicked, it opens a menu. You can then choose to display vertical guide lines.
  • Font Themes would only set some font settings. Fixed.

Fixed:

  • HelpCache supported cached help files for cmdlets only, not for functions. Many Microsoft Modules contain CIM cmdlets that internally are functions. Fixed. Now help for functions that comes as cdxml-file is also supported.
  • When you place a text file named “username.txt” into the ISESteroids base folder, it can contain text that will be used as a salutation when ISESteroids starts. Special characters did not display correctly. Changed encoding to UTF8.
  • When you right-click the green “Play” button and define command line arguments, AND you choose to disable automatic dot sourcing, the script would not run. Fixed.
  • When you define command line arguments for a script and then use the test button (the button with the blue powershell logo and green play icon) to run the current script in an external console, the arguments were not submitted to the test script. Fixed. Arguments will not be applied to test consoles, though, that you run with the SYSTEM account (right-click button to see options). Thanks again, Kamil! Was a cool barbecue PS user group meeting yesterday, and your taco salad rocks.
  • When indentation is set to TABs instead of spaces, setting a temporary guideline could be off. Fixed.
  • When there was no script open when ISESteroids was loaded, the blur overlay was not removed. Fixed.
  • ISESteroids did not detect VisualStudio 2013 Express Edition. Fixed.
  • When entering a search text into the realtime search text box, focus could switch to the editor pane, resulting in accidental change of script code. Fixed.
  • When the navigation bar combo was opened and then closed without clicking an item, the editor selection was moved to the last selected combobox item. Fixed. Closing the combo without clicking an item will not change editor position anymore.
  • The hyperlinks in the status bar to automatically fix code issues were disfunctional. Fixed.
  • When you wrap a PowerShell script as an EXE file using Tools/Create Application, powershell used default threading options. In PowerShell 2.0, the EXE would run in MTA mode, so WPF scripts could not run. Changed threading mode to STA explicitly so EXEs with WPF content will now run in PowerShell 2.0 as well.
  • When adding a #requires statement (for example by pressing CTRL+ALT+R), in certain scenarios a blank -Modules statement was added. Fixed.

2.2.0.0 (released June 19, 2015)

Fixed:

  • Fixed some rare exceptions.
  • Adding #requires statement (i.e. via CTRL+ALT+R) could occasionally add a leading comma. Fixed.
  • When a script contained advanced functions, #requires incorrectly was not raised to PowerShell version 2. Fixed.
  • When Command Analysis is enabled, and a command ends with a comment, an exception was raised. Fixed.
  • Script performance measurement did not show performance graph in the debugger margin. Fixed.

2.1.0.65 (Beta version)

New:

  • SpeedAST technology speeds up editing and adornments by magnitudes. Delays caused by code analysis are reduced to a minimum, even huge scripts with 30K+ lines show almost no delay when navigating the document
  • Added color coding to snippet tooltip code previews.
  • when a lightbulb icon in the debugger margin indicates that there are automatic code fixers available, a new tooltip lists the available fixes. Click the bulb to apply to current script.
  • function navigator list now also includes regions. Regions are shown first in the list and ordered by start offset, followed by functions/workflows/configurations ordered by name. Regions are ordered by startoffset because they often resemble a logical structure with consecutive steps.
  • MemorySeal optimizes memory release when documents are closed. This optimization takes care of documents that you opened after ISESteroids was loaded. Any document that was loaded into ISE before you launch ISESteroids will not benefit.

Fixed:

  • Refactoring addon would replace all TABs in script with empty string. Fixed.
  • The menu command “Toggle Outlining” was invoking update-help. Fixed.
  • Significantly improved the speed of outlining management in documents with a large number of collapsible regions (collapsing and expanding of code).
  • When exporting multiple functions to a module, and specifying to remove the function from the original script, only the first function was removed. Fixed.
  • When exporting multiple functions to a module, the preselection included nested functions. Fixed. The list now only contains first-level functions and no longer includes nested functions.
  • Variable monitor would only show local variables. When connected to a remote runspace (i.e. via Enter-PSSession), remote variables would not show. Fixed.
  • The File menu occasionally would not open if there were unavailable files in the MRU list. Fixed.
  • Risk analyzer occasionally showed wrong command name in descriptive field. Fixed.

 

2.1.0.51 (released May 29, 2015)

Fixes:

  • Tooltip for syntax errors was not showing enhancement on en-US systems. Fixed
  • CTRL+SHIFT+S was not implemented (save all non-Untitled documents). Fixed.
  • Clear MRU list on right-click inside File menu did not work. Fixed.
  • when using submenus with Add-SteroidsEditorTabCommand, submenus were not reused by other items. Fixed. Sample code now produces a correctly nested context menu when right-clicking editor tab:
Add-SteroidsEditorTabCommand -DisplayName Item\Item1 -ScriptBlock {} -Force
Add-SteroidsEditorTabCommand -DisplayName Item\Item2 -ScriptBlock {} -Force

 

2.1.0.50 (released May 29, 2015)

New:

  • Command Analysis provides deep insight into the last executed command. This is an Enterprise feature available in ISESteroids Enterprise and ISESteroids PowerShell Specialist licenses. There is a new handle labelled “Command Analysis” at the bottom of the interactive PowerShell console. Drag it upwards to display the new Command Analysis tool pane. Once you execute commands, the pane displays the resolved command, parameter binding information, explorable command output analysis, and Get-Member information for the data emitted by the last command.
  • Command History Search: ISESteroids already saves and restores command history. Now, you can easily find old command history items: in the console, type a word that you expect in your command history. Then press CTRL+UP or CTRL+DOWN to selectively browse your command history. Without holding CTRL, you get the default behavior and step through all history items.

Fixes:

  • Improved launch time, in selected scenarios by up to 300%
  • Machine-enabled license is now stored in roaming profile even if there is a local AppData folder inside the ISESteroids folder. This enables sharing ISEsteroids settings across machines, i.e. using SkyDrive.
  • When dragging a license file onto ISESteroids, it could take a long time for the license to be accepted. Fixed.
  • In certain scenarios, ISESteroids would have repeated periods of irresponsiveness. Fixed.
  • Default execution policy is set to “Bypass” on process level by default. This makes sure scripts can be run and there are no delays with signed scripts in an offline scenario.
  • ISESteroids now runs even when module autoloading is turned off
  • Coloring of tokens in console was sometimes off. Fixed.
  • When inserting an advanced code snippet, snippet mode was disabled only when the user clicked outside the snippet region or pressed ENTER while the caret was on an active input field. This caused confusion, and snippet mode was active longer than expected. Changed. Now, snippet mode ends whenever the user clicks anywhere outside an active input field.
  • When debugging remoting sessions and online services such as SharepointOnline, the VariableMonitor would not correctly update variables, and could even throw an exception. Fixed.
  • on PS5, with ISESteroids loaded, the console would occasionally not show any output. Fixed.
  • File menu did not open when ISE had never been used before. Fixed.

 

2.1.0.4 (released May 13, 2015)

New:

  • WPF editing now supports VisualStudio Express editions as well

Fixes:

  • WPF editing required full version of Visual Studio 2013 or better. Now older versions of VisualStudio also work.
  • Final version still showed “RC” in start screen. Removed.

 

 

2.1.0.2 (released May 12, 2015)

Fixes:

  • when debugging against online services such as SharePointOnline, the VariableMonitor would not show variable content, and could even raise an exception. Fixed.

2.1.0.0 (released May 11, 2015 – final release)

New Features:

  •  support for WPF design. Right-click editor and choose “WPF” to create new XAML. Right-click XAML to add code-behind or event handlers.
    – Very fast and lightweight WPF support: “Kaxaml for ISESteroids” (part of this release)
    – WPF support for VisualStudio WPF designer (no express editions) real 2-way sync
  • Doubleclick editor tab to toggle distraction free mode
  • Support for editor flip (details follow)
  • Support for presentations
  • select text that contains a powershell function syntax, then right-click, to generate function from syntax. Hold CTRL to open wizard.
  • support for private fonts
  • support for font themes. Click “Themes” button on secondary toolbar to see color-, font-, and audio themes.
  • support for audio themes
  • added theme support for the variable monitor
  • added theme “Monokai” (thanks Matt!)
  • added theme “Awesome” (thanks Matt!)

Fixed:

  • when an MRU file path was locted on a network resource, and the resource was offline, it could take a long time for the file menu to open. Fixed by not testing existence of network-based MRU files
  • when all licenses were in use, ISESteroids just reported an invalid “machine code”. Now displays a friendly message stating the true reason.
  • Keyboard shortcut ALT+N was not working. Now toggles the navigation bar.
  • when using the refactoring tools and restructuring hashtables, there could be a (benign) exception. Fixed.
  • when a script contains a DSC configuration, the script fixer could throw exceptions. Fixed.
  • when autoindenting, hashtables with here-strings inside would be indented. Fixed.
  • CompatAware wrongly identified cmdlets from PSSnapins as modules. Added support for “-PSSnapin” statement

2.0.16.10 (released Apr 9, 2015)

New Features:

  • Ability to change file encoding. To view and/or change current file encoding, right-click an editor tab, then choose “Encoding”. To set the default encoding for blank files, hold CTRL while selecting an encoding.
  • File Version Checker now can use any 3rd party comparison tool. To configure, open the File Version Compare Addon, click on “Add New Version”, and choose “Configure File Comparison Tool”. A dialog opens and lets you select the tool of your choice, plus configure the arguments.
    for bcomp.exe, the command line arguments would be: “{2}” “{3}” /lefttitle=”{0}” /righttitle=”{1}”
  • hold the right mouse button and use the mouse wheel to navigate between open editor panes. Requires at least two open editor panes. Switches to the selected pane once the right mouse button is released.
  • MRU list of recently opened files in the FILE menu now is completely manageable: right-click a MRU file to pin or unpin it, to clear the file or the list, or to save or load MRU lists.
  • MRU list of recently opened files marks files red that are not accessible anymore.
  • The settings button at the right side of the Instant Search textbox now has the new option “Whole Word”. When enabled, the search expression must match a whole word. If unchecked, any occurance is selected. If “Regular Expression” is enabled, then the search term is treated as regular expression.
  • since CTRL+TAB is now inserting a real TAB into the editor, there are two new alternatives to switch between open editor windows:
    hold the right mouse button, and move the mouse wheel
    hold CTRL, and press PageUp or PageDown
  • added new theme “githubStyle”. Thank you very much Matt for sharing yet another beautiful theme!
  • Extended Add-SteroidsContextMenu with a number of parameters. Context menu extensions can now be tied to selection, token type, ast type, variable type, and filtered by regular expressions. This way, context menu commands can be highly specific and will only appear when the clicked element meets all requirements.
  • Added Get/Remove-SteroidsContextMenu to manage and also remove existing custom context menus. By default, Add-SteroidsContextMenu always adds new menu items and never overwrites existing. This is useful because there can be multiple context menu commands with the same name, each with different requirements like token or ast type. To remove obsolete commands, or update existing commands, use Remove-SteroidsContextMenu to manually remove any command that you want to get rid of.
  • Extended Add-SteroidsEditorCommand: added -Force to overwrite existing editor context menus. Added support for nested menus. Use “\” in displayname to created nested menu items. Example: Add-SteroidsEditorTabCommand -DisplayName “MyTools\GetFilePath” -ScriptBlock { $psise.CurrentFile.FullPath } -Force  (menu item appears when you right-click an editor tab).

Fixed:

  •  CompatAware: creating a compatibility report could fail with an error message “Key cannot be null”. Fixed.
  • Important fix for PowerShell 3 users: executing commands in the interactive console could lead to an issue where the console was no longer responding to new commands. Fixed.
  • when refactoring function parameters to a param() block, the type names used the .NET fullname property. Will now use the short type accelerator name if one is available.
  • when refactoring function parameters to a param() block, indentation of autocreated param() block was sometimes way off. Fixed.
  • refactoring incorrectly stripped off switch parameter arguments. Fixed.
  • refactoring reformatted comma-separated lists even if the spacing of the list was already ok. Fixed.
  • when selecting a function name in the function combobox, the caret position is always set to the beginning of the selected function. Previously, when the caret was already anywhere inside the selected function, the caret position was not updated.

 

2.0.15.49 (released Mar 28, 2015)

New Features:

  • New Feature “CompatAware”, added to Menu “Limit”. CompatAware auto-generates #requires statements (CTRL+ALT+R), can create a compatibility report, and places yellow squiggle lines on commands and/or parameters that are not compatible with the desired PowerShell version.
  • Tooltips for Syntax Errors are enhanced and provide hints. Hover over a red squiggle line to get immediate help. Help is fully customizable. Right-click the warning icon in the debugger margin to add more help.
  • to insert a TAB rather than invoking intellisense, hold CTRL while you press TAB.
  • New “Zero-Touch” mode: launch ISESteroids without changing the host system whatsoever. To enable, add a folder “AppData” to the ISESteroids module folder, and make sure it is writeable. ISESteroids will then write state data into this folder rather than $env:appdata\ISESteroids.
  • New settings added to “Limit”-files (inside the folder “Limit” in the ISESteroids module).
    All “AddOn…Open” entries control whether a given addon is shown by default. This way, you can design your own UILimit file that shows all addons you need right when ISESteroids starts.
  • When you run an Untitled script, the script code is no longer pasted into the console window. Instead, the untitled script path will be displayed
  • When you run a script, ISESteroids now adds dot sourcing to the file path to indicate that the script runs in global scope
  • When you hold CTRL while launching a script in the editor, the script is executed in local scope (like launching a script inside the PowerShell console)
  • when you execute a saved script, the command to run the script is added to the command line history. This way, you can press ARROWUP after running a script to run it again, or change dot sourcing
  • when you open the snippet wizard, on the welcome page you now find a link “I want to edit an existing snippet”. Clicking this will open a dialog where you can select an existing snippet file, and edit it.
  • Runtime errors are now marked with red squiggle lines inside the editor. When a script ends, and there have been runtime errors, the editor automatically scrolls to the position with the last runtime error. When you hover over a runtime error in a script, a tooltip provides error details.

Fixed:

  • improved scope awareness of snippets. In the editor, the snippet selector will show “Pipeline-scope” snippets when there is a “|” adjacent to the caret position, and “Scriptblock-scope” snippets when there is no text adjacent. Else, both types of snippets are shown.
  • “Simple Error Message” was not enabled by default on newly opened tabs.
  • function names that do not adhere to verb-noun syntax were underlined even if the function was marked “private”. Fixed.
  • in CloneView and SplitView, errors displayed duplicate tooltips. Fixed.
  • when the caret was in a new file at position 0, CTRL+J would not open the snippet selector. Fixed.

 

2.0.15.26 (released Mar 14, 2015)

New Features:

  • Export to Module-Wizard received a number of enhancements. When you click inside a function, in the navigation bar you see a white “package” icon. Click it to export a function to a new PowerShell module, or add the function to an existing module. Enhancements:
    –  can now export all functions in a script at once, not just one function at a time
    –  can now export modules to any location, not just the user profile. There is a new link “Select Location” in the wizard UI. Click it to select other locations
    – Export to module wizard now includes modules that are not stored in one of the default locations listed in $env:PSModulePath as long as these modules are loaded to memory. This way, you can export functions to existing modules that are located in atypical locations.
    – Remembers now selections made
    – if a module was already in memory, after export you get the chance to reload the updated module
    – if a module was saved in a location not listed in $env:PSModulePath, after export you get the change to load the module
  • New Navigation Shortcut: press CTRL+UP / CTRL+DOWN to quickly move to the beginning / end of a bracematch. This makes it very easy to navigate to the top or bottom of a scriptblock/function.
  • Bookmark support: In addition to the comment-based permanent bookmarks, ISESteroids now supports invisible bookmarks, too. Press CTRL+F7 to toggle bookmark, F7 to move to next bookmark, SHIFT+F7 to move to previous bookmark. There is a blue box in the debugger margin for lines with a bookmark, and the line number for bookmarks turn green (unless you changed the color theme).
  • added new theme “Solarized”. Thanks to Matt McNabb! If you create some awesome themes, too, and would like to share them, please send them so I can include them.
  • added new theme “VisualStudioBlue”. Thanks again to Matt!
  • New menu item “Advanced” in “Debug” menu with Advanced debugging tools:
    – “Auxiliary Output” tool.  It opens a new window and shows the state of confirm/debug/warning/erroractionpreference. Click on an icon to change the settings. You can change the settings anytime, even when a script is currently running. So you can turn on and off verbose or debug messages while a script executes. If for example a script is running for a long time, and you’d like to see what it does, simply enable some or all auxiliary output, and see the auxiliary output currently emitted by the script. Supports a minimode. Supports live updates, so when you switch PowerShell tabs or set these things from code, the control will immediately reflect the new settings.
    – Execution Policy Override: lets you override executionpolicy for environments where executionpolicy is locked. This is BTW not a security breach. Execution policy is not meant to control who can execute scripts. It is meant to be a personal seat belt, and you should always be able to take it off when you feel like it.
  • StrictMode menu item in Debugger/Advanced. Toggles strict mode and shows current status. This is useful for script testing when you want extra strict language tests and find i.e. misspelled variables or non-existing member calls.
  • Snippet Insertion Selector now works for the console window as well. When the console has focus and you press CTRL+J, the snippet selector shows only snippets that have a Console scope (the author has marked the snippet to be suitable for the console)
  • Additions to the main menu item “Level”:
    – Simulate: when checked, turns on whatif for all commands (Simulation Mode)
    – Confirm: lets you easily control the current confirmation level
  • Snippet inserter (press CTRL+J) is now scope-aware. Depending on where in a script you invoke it, it will show different snippet choices, based on AST scope.

Fixed:

  • when ISESteroids was installed for all users, selecting a theme would not work. Fixed.
  • when launching ISESteroids for the first time, and opening a new PowerShell tab, all console tokens turned black. Fixed.
  • with PowerShell 3, clicking the debugger margin would not toggle breakpoints. Fixed.
  • with PowerShell 3, right-clicking a variable in the variable monitor, and then choosing “Debugger/Clear All Breakpoints” would do nothing. Fixed.
  • with PowerShell 3, custom context menu commands would not execute. Fixed.
  • with PowerShell 3, breakpoint adornments were missing while in the debugger. Fixed.
  • ISESteroids changed the LastWriteTime information for files, even if these files were not changed. This occured because state information (breakpoints, outlining, bookmarks) is always saved in an NTFS stream. Fixed.
  • when using InstantSearch, editor content would receive the focus in the middle of typing a search expression. This occured whenever the function scope changed and the function list was updated. Fixed.
  • when you pressed ArrowUP or ArrowDown in a large script, you could experience slowdowns due to extensive AST adornments being drawn on each caret move. Changed. Whenever there are two caret movements within 100ms or less, AST adornments are delayed.
  • when you renamed a file by right-clicking the editor tab, and cancelled, the file was still renamed. Fixed.
  • sibling token colors would also be applied to the current token, so whenever there is more than one instance of a token that you click, both the current token adornment and the sibling token adornment were applied. Fixed.
  • when setting breakpoints via DebuggerMargin, breakpoints did not always bind. Fixed.
  • when the snippet selector opened (press CTRL+J) when the current editor view was scrolled, the position was off. Fixed.
  • made the snippet selector tooltip for snippets smaller.
  • optimized the placement of the selector tooltip on screen margins
  • occasionally, when ISESteroids launches, the first editor that was open before ISESteroids was loaded, would not be extended. Fixed.
  • when editing an existing snippet in Snippet Editor, the “desired final caret position” was not initialized. Fixed.
  • the snippet tooltip (code preview) would not display code that contains syntax errors. Fixed.
  • when you select code and used block comment (CTRL+SHIFT+B), occasionally the selection was lost. Fixed.
  • when switching Theme from dark to light or vice-versa, the console pane caret colors were not always adjusted. Fixed.

 

2.0.15.9 (released Mar 7, 2015)

Known Issues:

  • When you do a fresh install, and in the same session open a new PowerShell tab, then the console token colors are all black. This is because there has not yet been a color profile created. Once you close and open ISE once, the color profile gets created, and colors are ok.
  • The first editor inside the ISE that was open before you load ISESteroids may occasionally not get all enhancements applied.

New Features:

  • Instant search field now has a settings button. Click it to open the settings menu:
    – Show Result Lines Only : Hides all lines in the editor that do not match the search phrase. Clear search box (i.e. press ESC) to restore full view. Full view is also restored when you start editing the text.
    – Use RegEx: when enabled, treats the Instant Search term as regular expression
  • when you export a function to a PowerShell module by clicking the module icon in the navigation bar, the export dialog now has the option to export all function in your current script rather than just the selected function
  • F3 / SHIFT+F3 now work with Instant Search
  • CTRL+F3 toggles the all-new “FocusView”: when you have entered an instant search word, FocusView only shows the lines that contains the search term.
  • you can now automatically save your work environment and have ISESteroids reload all open editors and tabs on next launch. To control this, hold CTRL while closing the ISE editor. A dialog opens and offers you different choices. Note: if you have unsaved documents open, closing ISE will first bring up the “do you want to save” dialog. Make sure you keep holding CTRL while you close these dialogs. Note also that if editor persistance is enabled, “untitled” documents will also be saved, even if you discarded them during exit. If you do want to discard these files, make sure you close them before exiting ISE.
  • when you right-click a command, and the command is a powershell function defined in the current or any other open script, then the context menu now has a “Go to definition” even if the function was not executed (defined in memory) before.

Fixes:

  • pressing ESC inside the editor will now clear the instant search field
  • when a function reported “external references”, clicking on it would open the error panel rather than navigating to the external link. Fixed.
  • when the help pane was enabled, and ISESteroids was restarted, it was restored only after a delay. Fixed.
  • in PowerShell 5, when Start-Transcript was enabled before or right after loading ISESteroids, commands would not show any output. Fixed.
  • occasionally, ISESteroids would crash on load. Fixed.
  • There was no way to change the colors for current token and sibling tokens. Now, with theme adjustment enabled, you can right-click any token and set these colors, too.
  • Changed the built-in themes to use lighter versions for token and sibling token highlighting. Make sure you load a predefined theme to apply these changes.

2.0.15.7 (released Mar 5, 2015)

Fixes:

  • The File Version Addon was broken. Works again.
  • Fixed incompatibilities with PowerShell 3.
  • Fixed incompatibilities with PowerShell 4.

 

2.0.15.4 (released Mar 4, 2015)

New Features:

  • Enhanced Find: when you press CTRL+F while the navigation bar is visible, you get real time search (press ENTER/SHIFT-ENTER to navigate)
  • Added a number of cmdlets to add custom scriptblock commands to script tabs, powershell tabs, and individual token types.
  • Editor context menu (right-click editor tab) has a new command: “Set Current Directory To Script Folder”. It automatically changes the current console directory to match the folder in which the current script is located in.
  • New menu “Level”: allows customization of UI and removal of unwanted UI elements
  • New menu “MyCommands”: exposes custom commands added to the current PowerShell Tab
  • Navigationbar now has a “New” icon at the far left side. Clicking it adds a new function template. Right-clicking invokes a menu for adding various new untitled file types as well as a list of all code snippets that define functions. Hold CTRL to set snippet as new default function template. “From Syntax” autogenerates function body from simplified or advanced syntax definition.
  • VBScript files can now be executed. The “Play” button and the keyboard shortcut F5 will detect that the current file is a VBScript document, and run it inside PowerShell as VBScript code.
  • VBScript and other file types can now be color-coded. There are definition files in the subfolder “ContentTypes”.
  • Variable Monitor now shows icons for each variable:
    – indicating newly defined variables
    – indicating variable breakpoints
    – indicating that a variable was read from a parent scope (when debugging)
  • Variable Monitor now has a callstack window that shows all active PowerShell scopes. Click on a scope to view only the local variables from that scope.
    – When a new variable is defined, variable monitor automatically selects the variable
    – When a variable breakpoint is hit, variable monitor automatically opens and selects the hit variable
  • When debugging, ISESteroids now supports stepping through functions defined in Untitled (unsaved) documents. ISESteroids enhances the debugger to be able to step through functions defined in memory only. Previously, stepping was supported only for functions that were defined in saved files.
  • Added cmdlet “Remove-SteroidsLicense” to quickly remove a license when no longer in use.
  • Added back cmdlet “Show-SteroidsLicense” to quickly open the license status dialog
  • Added icon buttons to the function selection combo list to create new functions, turn selected code into a function, or export a selected function to a new or existing module
  • Added checkbox “Open Module After Export” when exporting a function to a module. When checked, the module folder is opened in explorer. This way, the module can easily be inspected or moved to another location.
  • Added “Distraction Free View”. Toggle by pressing F12, or via menu “View”.
  • Enhanced “AutoHide Menus”: when you right-click an empty space of the main menu bar, in the context menu you now can control whether the Windows taskbar is in AutoHide mode or not.
  • Added Application Icons to Tools menu
  • Added new cmdlet Add-SteroidsTool. It takes name and path of an executable, and places it into the tools menu.
  •  Added new cmdlet Add-SteroidsEditorTabCommand. It takes name and scriptblock, and places a new command on the editor tab menu that opens when you right-click the editor tab.
  • Added new cmdlet Update-SteroidsSnippetRepository to update the snippet repository and reflect any changes made by loaded modules or other logic that imported snippets into the ISE editor.

Fixed:

  • – when applying a theme, ISE persisted some settings. When ISE was relaunched without ISESteroids, these settings were reapplied. Fixed. ISESteroids now stores the user settings when it starts, and restores them when it exits.
  • opening a Remote PowerShell Tab while ISESteroids is active would not connect to the remote system. Fixed.
  • 1-click Restart now works solidly across multiple tabs. So when you have more than one tab, you can still use the feature and restore all tabs. The feature will not currently support open Remote powershell tabs yet.
  • When restoring 1-click data, and a script had a breakpoint, upon restore some scripts may have been locked (readonly), and some Untitled scripts may have been lost due to this. Fixed.
  • when debugging, the variable monitor could hang when an object variable was expanded. Fixed.
  • when ISESteroids launches, it always displayed the same welcome message. This confused licensed users. ISESteroids will now report license status.
  • in dark themes, the combo box inside the function explorer had a white border, and the black button was hard to see. Changed colors.
  • when a code snippet was deleted outside ISE, and the snippet manager opened, it would run into an issue and not display. Fixed.
  • when the snippet manager window was open but behind other windows, clicking the snippet manager toolbar button did not bring the window to the foreground. Fixed.
  • Snippet Manager used static white background for editing snippets. Should use the current main editor background, or else token become hard to read. Fixed.
  • ISESteroids shows references for functions, filters, workflows, and class methods (PowerShell 5). For workflows, there was not enough room reserved for references to show. Fixed.
  • when working with PowerShell Configurations, there could be a slow-down in editor performance. Fixed.
  • when a document has Syntax Errors, and the user clicked on the error message in the ISE status bar, the editor was not scrolling to the error. Only an error selection panel was sliding in. Changed: now a click on the status bar error message automatically scrolls the Syntax Error into view, and the cursor is positioned at the start of the offending token.
  • in CloneView windows, in the context menu, the commands Cut, Copy, and Paste were missing. Fixed.
  • “AutoHide Toolbars” mode was stored in user preferences and re-enabled when ISE was relaunched. This could cause confusion. Setting is now limited to currently running instance, and this mode is disabled by default when ISESteroids starts.
  •  in Risk Analyzer, when you placed a risk on your whitelist, the risk icon was not automatically updated to reflect this. Updates occurred only when the script content changed. Fixed.
  • in the Snippet Editor, the caret position was not automatically updated when snippet code was changed. Fixed.
  • when bulk-renaming variables using F2, and you chose a new variable name that already existed before, variable name conflicts could occur. Added a warning dialog.
  • when a variable in a script was using a qualifier such as “script:” or “global:”, and the variable monitor mode is “script”, then this qualifier was added to the variable name inside the variable monitor. Fixed.
  • when the script fixer was invoked while a script was running, the button to run the script fixers was not enabled again. Fixed.
  • non-powershell document types used “unclassified token color” as text color. Should be “DefaultTextColor”. Fixed.
  • when signing a script with an untrusted certificate, the signature was not applied to the script. Fixed.

Open Issues:

  • currently, customizable file types include only .VBS. There will be generic support for any file type shortly
  • when you launch ISESteroids, existing editors may be missing some editor features. Any newly added editor will have all features
  • custom file type tokenization (like VBS) is experimental. There is still some work to do with the language definition files and classifiers.

 

2.0.13.6 (released Jan 5, 2015)

New Features:

  • Improved Help Addon: hold ALT and click on a script token to open ISESteroids help in a separate window. You can also press ALT+F1. F1 opens the default PowerShell help viewer.
  • Context sensitive help is now available in the console pane as well. When the help addon is visible, in the console pane click on any token to view help. Hold ALT to open in separate window. Note that context sensitive help in the console pane is limited to the active input area. To open the default help window (which also works in the output area because it uses plain text), press F1 instead.
  • Added the ability to theme squiggles. To set a different squiggle color, right-click any code token in the editor, then choose “Theme/Squiggle” and pick a new color. Note that theming needs to be enabled to see the “Theme” context menu item.
  • Added “Restore Mode”: in the secondary toolbar, there is a new button that restarts the ISE and reopens all open files, restoring breakpoints and collapsible regions. Use “Restore Mode” to continue in a clean PowerShell environment, or to restart ISE after some hours of work to free resources. NOTE: Although Restore Mode handles multiple tabs, there are currently issues when you have multiple tabs open. Restore Mode will not re-connect remote PowerShell tabs (yet). And there may be other minor issues related to multiple open tabs.

Fixes:

  • Fixed a problem with tabcompletion: tabcompletion for .NET types yielded no result.
  • Console special colors such as error and verbose colors did not persist. Fixed.
  • Fixed issue with status bar caret position. Position was not updated when the caret was moved manually. Fixed.
  • In the script profiler (accessible through a right-click on the debugger margin), “Magnify to View” was always disabled. It can now be enabled, scaling the performance data to the visual portion of the code.
  • Fixed position of “Print” command in “File” menu
  • Cleaned up “File” menu
  • Toolbar buttons on the settings toolbar displayed a tooltip that advertised “right click to configure”. Removed.
  • Script fixer “Convert Positional Parameters”: when a parameter takes values from remaining arguments, and there is more than one positional parameter, adding named parameters breaks the command. Fixed.
  • Wizard to create EXE from script (found in menu “Tools”): when the application was cancelled by CTRL+C, it would not exit completely. Fixed.
  • When debugging fixer scripts, editor focus could switch to the editor script being fixed when the variable monitor was visible. Fixed.

ISESteroids Release Candidate (“Santa Claus”, released Dec 6, 2014)

New Features:

  • File Version History commands are now available via the context menu that opens when you right-click a PowerShell Tab: “New Major Version” and “New Minor Version”. Both commands add new version snapshots silently unless you hold CTRL to open the version info addon.
  • Added new command “Rename” to right-click menu for file tab. This command can rename a PowerShell tab.
  • Added new command “Reload” to right-click menu for file tab. This command will reload the current script from file and discard any changes made since the file was last saved.
  • Added customizable colors. Open $env:appdata\isesteroids\options\coloroptions.xml to view and edit. Editing of themes is also available by right-clicking a UI element and choosing “Theme”. The “Theme” menu option can be turned on and off by a new toolbar button that controls theming. This button also opens a menu with predefined themes to select from, and you can save your current theme under a new name and add it to that menu.
  • Added memory optimization. When closing a script, resources are freed or reused.
  • Added right-click context menu for the line number margin. Menu exposes UI settings and lets you easily hide or show the line numbering margin.
  • Added right-click context menu for the outlining margin. Menu exposes UI settings and lets you easily hide and show outlining.
  • Enhanced the context menu Paste command in the console. Will now paste file names that were taken from explorer. Multiple selected files will result in a comma-separated list of file names
  • Console can now use its own font and size, independent of editor settings. Right-click console, choose “Theme”, disable “Share font and size…”
  • Added debug glyph margin to editors. Clicking into this margin sets and clears breakpoints, and right-clicking the margin opens debug menu options.
  • Added ability to set dynamic variable breakpoints and conditional breakpoints.
  • Added a script profiler that profiles script performance and shows a performance graph in the debug margin
  • Added autocreation code wizard for static methods. Right-click static method, choose “Refactor”, “Turn Method Into Function”
  • Untitled scripts now display a different color in the new debug margin. Clicking into this margin invokes SaveAs.
  • Added “OnDemand” tab to Script Refactor Addon where you can store refactoring scripts that you want to run manually when needed.
  • Added On Demand refactoring script that replaces static text with environment variables.
  • Added color option to console context menu: setting error, warning, verbose colors
  • Added option to console context menu to show shortened error messages
  • Added Admin mode warning to console: when Admin privileges are active, the console shows a stripe pattern in the left margin. Can be turned on and off by right-clicking into that margin.
  • Added AutoHide toolbars. Right-click the main menu bar, or double-click the free area of the main menu bar, to enable/disable. When enabled, all toolbars are hidden. They are shown when the mouse hovers over the main menu bar. They get hidden again once the user clicks into an editor or the console.
  • Status bar now changes color when PowerShell is busy, similar to what Visual Studio does. Right-click status bar to enable/disable this feature.

Fixes:

  • In PowerShell 5 Preview, when script transcription was turned on, ISESteroids would stall. Fixed.
  • When VerbosePreference was set to $true, ISESteroids would not start correctly. Fixed.
  • When your profile script added engine events, ISESteroids would not start correctly. Fixed.
  • Fixed a bug with the function navigation combo: when there was only one PowerShell function and no code outside the function, opening the navigation combo would lock ISE. Fixed.Enhanced Line Number Margin always used white background. Changed to transparent so when you use a dark theme, the background won’t change within the line number margin.
  • Risk button incorrectly showed tooltip for console button when mouse was positioned at its edge. Fixed.
  • The “run in console” feature did not honor the ‘Skip Profile Scripts’ option if the option ‘Run in Powershell 2.0 Console’ was selected. Fixed.
  • When a profile file did not exist, the message displayed “\n” rather than breaking the message text. Fixed.
  • When a profile file did not exist, and the parent folder was not present, the profile file was not created. Fixed.
  • When a loaded script file was renamed, the file watcher did not notice, so file changes were not detected anymore. Fixed.
  • Fixed a bug where DSC scripts would be tokenized slower than normal.
  • Fixed an ISE bug where unclassified tokens would display black even when using a dark theme. Now, when using a light theme, these tokens are black, and when using a dark theme, they turn “wheat”
  • When you request a timestamped signature, and there is an Internet connection, but the connection is not getting you to the timestamp server (i.e. hotel network, authentication still required), the signing engine correctly returned an ASN1 error. Picked it up, and provided a more meaningful error message instead.
  • Updated ILSpy 3rd party tool to latest version
  • When the console pane is maximized, and in the status bar the button is clicked that takes the last console command and copies it to the editor, the editor is put into two-pane mode and made visible. If there is currently no editor, a new editor document is created.
  • When clicking on the Editor overlay icon in a maximized console, ISESteroids now checks whether there is at least one editor. If not, a new editor document is added.
  • Changed fixer units. They now take the group name from the parent folder name, and the fixer unit name from the folder name
  • When refactoring was interrupted (i.e. by pressing the stop button or by hitting a breakpoint), the wait cursor was kept active, and the script overlay was locked. Fixed.
  • The template button now remembers the last selection. Click to open the last selected template. Right-click to choose a different template
  • Detected a race condition when ISESteroids occasionally would not load correctly if other ISE customizations took place in a profile script. Fixed.
  • Help addon pane will open automatically on new tabs when it was open before.
  • Improved performance considerably for some of the fixer scripts
  • Fixed a number of fixer scripts based on user reports.
  • Adjusted the colors for shortened error messages so they now honor system error default colors

2.0.10.24 (released Oct 25, 2014)

New Features:

  • New feature “CloneWindow”: when you right-click an empty spot on an editor, choose “Open CloneView” to open a new external editor window that allows editing the script simultaneously. You can use this feature to place additional editor windows on different display monitors.
  • Risk Assessment Manager: displays a green/orange/red icon in the status bar that indicates the potential risks found in a script. When clicking the icon, you can review and approve risks, and manage white and black lists
  • New cmdlet: Get-PSXVersion will display the current ISESteroids version and can also be invoked through a menu item in the  “Help” menu.

Fixes:

  • Detached Console did not support keyboard shortcuts for clipboard, and context menu was not functional. Fixed.
  • Alias “?” was resolved in an incorrect way because “?” was interpreted as wildcard. Fixed
  • In a command line, when an argument was a scriptblock and there were additional parameters following the scriptblock, the refactorscript added a line feed after the closing brace which broke the command line. Fixed.
  • In Refactor Module, when you check “Refresh Indentation”, indentation is rebuilt from scratch, produces more accurate indentation than before
  • Autocompletion added an open brace when braces were used inside variable names and the user entered a closing brace as part of the variable name. Fixed.
  • Experience based parsing wizard (Tools menu) requires PowerShell version 5 or better. Added a check. Wizard will now display a dialog if PowerShell version is less than 5.
  • Right-clicking the blue PowerShell toolbar button opens a context menu with test options. Clicking a checked item could uncheck this without checking an alternate options. Fixed.
  • Added a new fixer script “Align Key-Value-Pairs in Hashtables” to category “Reformat Structures”. Will place one key-value-pair per line, and makes sure assignment operators are aligned.
  • Added a skippable Warning Message that appears before a script is refactored and recommends a backup or enabled version control. This was introduced because script refactoring can be complex, and can mess up scripts in certain circumstances.
  • Variable submenu (including “Go To Definition”) now works for embedded variables in expandable strings
  • Fixed a bug where ISESteroids would not open the Modules exporter wizard when the subfolder “Modules” was missing in the PowerShell user profile
  • Fixed Undo for Fixer Scripts. When you fix a script, you can now safely undo changes.
  • Fixed a bug in variable monitor where the variable monitor stopped showing variables. This was triggered when the variable monitor was hidden (or another addon was displayed). Once the variable monitor was made visible again, its content was blank. Fixed.
  • Fixed a bug in the refactor script “Positional Parameters”. The script incorrectly added positional parameters to splatted variables.
  • Snippet Manager did not support inserting TABs. Added.
  • Snippet Manager did not show visible whitespace. Fixed.
  • Snippet Manager: Details were collapsed by default. Now expanded by default.

2.0.10.8 (released Oct 8, 2014)

Thank you all for great feedback. Many suggestions integrated, many issues solved:

  • moved ScriptMap icon to right side of toolbar to be closer to actual scriptmap tool
  • fixed keyboard shortcut for block comments: CTRL+SHIFT+B. CTRL+B is taken by PowerShell 5 to break into a running script.
  • fixed auto-indentation. Here-String content is no longer indentated.
  • added capability to toggle expansion of current collapsible region. There is a new toolbar button + keyboard shortcut. ALT+ARROWLEFT/ARROWRIGHT will toggle the outlining region the caret is in
  • improved precision of variable renaming. Now supports function parameters that are defined outside param() block
  • Added “Rename” command to context menu (part of “Refactor” menu item)
  • Added “Go To Definition” to variable context menu. Will select the closest scoped script position that defined or changed the variable.
  • Enhanced Version Control: user can create major and minor versions and choose whether to discard subversions when new versions are added.
  • Added option to add notes to Version Control snapshot. Click the new link “Notes” to open an editor and add notes. Notes will appear as tooltip when hovering over “Notes” link.
  • Added missing functionality to Code Signing Context Menu (Icon in Statusbar)

2.0.10.3 (released Oct 3, 2014)

Fixed some fixing scripts used by the Refactoring tool. There was an issue where some double-quoted strings were replaced incorrectly by empty strings. Also, some fixing scripts emitted (benign) error messages. All of this is now fixed.

2.0.9.30  (released Oct 1, 2014)

Public ISESteroids 2.0 Preview version. Runs on ISESteroids 1.0 license, or for 10 testing days. Expires Dec 1, 2014 when a final release is available.

1.0.4.16 (released April 16, 2014)

Fixed “Turn into Function”. When you select script code, right-click the selection, and choose “Turn Into Function” in the context menu, ISESteroids autogenerates a function from the selected code.

In some scenarios, this was removing code that should not be removed. Fixed. The conversion function will now no longer remove vital code. It will no longer offer to turn the special variable “$null” into a parameter, either.

Fixed crash on cmdlet decompilation. In some rare instances, right-clicking a cmdlet and choosing “Source Code -> Decompile” would crash the ISE.