If you’re like me, you script something, save it, edit it, save it again and somewhere in the process you break the script and need to go back, but you saved the file under the same name over and over again. To get around this I was looking for an editor that supported versioning. I know Powershell studio by Sapien has this ability but since the price is kind of high I kept looking.
I already heard of ISESteroids and when searching for versioning somebody pointed out ISESteroids has versioning builtin as well. But how can you use it?
First of all, download ISESteroids from http://www.powertheshell.com/isesteroids/. NOTE! Unblock the zip file you downloaded before extracting it. Failure to do so will result in a not working ISESteroids.
Once installed and run (start-steroids) it takes a little time for ISESteroids to load but you will see additional buttons. For now we will focus on the verion history button/plug-in (on the far right)
Now you will see the following screen/sidebar appearing.
As you can see, the feature only works with saved files (makes sense). So let’s see how it works
So here we have a new script, named versioning.ps1 I saved it in advance and then added the first command to it, get-service *ms*. Now select Add New Version, the following pop-up screen will appear.
We’re going to select Add new Minor Version. The minor version will appear in the sidebar.
So what does this actually do. If we take a look at the folder where the script itself is saved, we see a .zip file has been created with the name of your script followed by .history. When you open it, it looks like this.
Please note that the checkbox that sais “Auto Mode” has not been enabled. Basically what this means is that you still need to save the script yourself and tell ISESteroids that it’s a new Minor or Major version of the script. When you select “Auto Mode” it will automatically create the new minor version for you every time you save the script (or run it which in turn saves it before it will run).
To me, this is an incredible useful feature and one that should actually be used by everyone that does this kind of scripting. Also when you take a closer look at the minor and major versions, you notice some options:
- Unclassified: This enables you to classify the status of your script. (Also accessible if you select that version and richt-click)
- Notes: Let’s you keep notes of what you’ve been doing (didn’t see that coming huh 🙂 )
- Compare: Allows you to compare the current script to a previous version
- Open: Opens up the selected version in a separate Tab.
- Delete: Deletes the specified version.
That’s a quick look at the versioning feature available in ISE Steroids. I really encourage you to at least try it, you can try the product for free for ten days and counting down only happens when you enable it.