We just released ISESteroids 2.0 RC2, and the next big challenge is to deliver the long-waited documentation.
Until then, I’d like to walk you through a couple of the new features found in RC2.
Adjustable User Interface
ISESteroids has become a very powerful PowerShell dev environment. Although we try hard to not clutter the UI, especially PowerShell beginners were often a bit overwhelmed. This is why ISESteroids now asks you on first launch who you are. Depending on your choice, ISESteroids turns off UI elements you do not need. When you choose “Beginner”, for example, you get a very clean and simple interface.
Whenever you feel hungry for more, you can click the new “Level” menu item in the main menu, and choose a different profile, or enable all features. What’s best: the choices you see here are really files. They reside in the “Level” subfolder and are plain PowerShell hashtables.
So it is super easy to create your very own profiles, and for example remove some features that you never use.
At the same time, RC2 ships with a profile called “ISESteroids Professional 2.0”. This will give you a clue of what ISESteroids 2.0 Professional will look like, and how it differs from ISESteroids Enterprise. And it may also be a hint that time is running out on our offer: anyone who purchases a ISESteroids 1.0 license now or until March 31, will be able to continue to use this license with ISESteroids 2.0 Enterprise (the full feature set). After March 31, there will be two versions available with different pricing.
Clever code snippet support is now part of ISESteroids. Simply press CTRL+J in your editor, and you will see what we mean. ISESteroids supports hierarchical snippets that you can place into categories – simply by organizing the snippet files into subfolders. ISESteroids will automatically merge all snippets from all locations.
Snippets also are language specific. When you open a VBScript (which is now also supported), you will see only VBScript snippets.
And Snippets can be tailored to your individual skill level. When you choose the “Beginner” profile, you see only snippets of difficulty level 1-4.
To edit existing snippets, simply hover over the snippet in the snippet selector that opend on CTRL+J. You see a code preview, and on the bottom you find a link to edit (except if you are in “Beginners” mode). This launches the completely reworked Snippet Editor.
To create new snippets, simply choose “Create Snippet” in the snippet selector. It’s really that easy.
Code snippets can also be intelligent. For example, when you go to “Loops” and insert a “Basic For Loop”, the snippet code gets inserted, and the typical pieces that need adjustment are highlighted. The status bar tells you what to do and how to customize the code. TAB moves to the next adjustable code segment. Once you press ENTER, the snippet gets inserted.
The same is true for enclosing: If you do the same again, but this time select code before you press CTRL+J, then your selected code is enclosed by the snippet.
How does this magic work? When you create or edit a snippet, simply select some code, then right-click the selection. This opens up a dialog that lets you create the user adjustable input fields.
Advanced Debugger Support
When you debug scripts and have the variable monitor open, you will be up for another surprise: the variable monitor now pops up the callstack (while debugging). You can immediately identify the variable scopes, and when you click a scope, the variable monitor shows only the local variables from that scope.
There is a lot more: when you right-click the editor line number margin, you can enable the “Debugger Margin”. This margin is clickable, and you can easily set and remove breakpoints. A right-click on the debugger margin gives access to creating dynamic “variable” breakpoints, too.
Make It Yours
Instead of implementing all features you dream of, ISESteroids lets you now do it yourself.
There is a new menu item in the main menu called “My Commands”. Here, ISESteroids surfaces all custom commands you may have created. These commands were burried in the Add-Ons menu before. If you don’t know how to add custom commands, the menu has a command “Add new command”. It opens a sample script that tells you how.
The same commands also surface on right-click on a PowerShell tab.
While these commands are PowerShell tab specific, you may sometimes feel you need editor-specific commands. To add those, use Add-SteroidsEditorTabCommand. It places your commands on editor tabs. They become visible when you right-click an editor tab. This is the perfect place to add support for Source Control systems and other editor-related features.
And maybe you want even more granular control. Then you can now also tie your commands to individual tokens. Simply use Add-SteroidsContextMenuCommand. It will place your commands on the context menu when you right-click a token. The scriptblock you submit will receive two pieces of information: in $args you get the editor that was clicked, and in $args you get the token that was clicked. These kind of commands are perfect for language-level features, like refactoring all variables, or turning variables all upper case.
To add all your favorite tools to the “Tools” menu, use Add-SteroidsTool. It gives you the ability to add tools like regedit.exe right into the ISESteroids UI.
Function From Syntax
In the navigation bar, on the left hand side, you now see a “new” icon (looks like a star). It can create new functions with just one click. When you right-click it, you can choose from all function snippets, and also create functions simply by entering the desired function syntax.
This may sound complex, but it isn’t. When you click “From Syntax”, a dialog opens and has two links to examples. Take a look at these, and creating Advanced PowerShell functions will be really easy.
When you have created a function, note the other icon at the right side of the navigation bar coming to live. Click it to easily export your function to a module.
VBScript And Other File Types
ISESteroids now supports language definition files. Take a look at the folder “ContentTypes”, and you find two samples. One is for VBScript, the other one for log files.
When you open a file with a file extension that is defined in such a file, ISESteroids colorizes these files.
In addition, VBScript files can also be executed.
We now focus on completing documentation. The next milestone is the final release. We aim at early Q2. This is when the introductory offer ends, too.
If you cannot pay for a license, we have a high demand on “Helping Hands”. Create beautiful themes, or create a bunch of well crafted snippets – and get a free license in return! Please contact us before you start, so we can organize who is doing what.
Meanwhile may the PowerShell be with you!