PowerShell ISE – Yippee!

No blog entries here for ever, I was thinking this blog would see no life until next year’s Scripting Games:-)  But then CTP3 was released and in particular, the Integrated Scripting Environment (ISE) has got my attention – because it’s scriptable (See PowerShell ISE Can Do a Lot More Than You Think).

The CTP3 Story So Far

I’ve installed CTP3 on 6 machines here at home (3xVista Desktop; 1xVista Laptop; 2xServer 2008 Domain Controllers) – all working as expected; remoting running between all the machines.

I’ve been trying to keep up with the blogs (there have been 33 posts to date on the PowerShell Team Blog alone since CTP3 was released!) and have been toying with Advanced Functions and Modules.  All very, very cool.

My PowerShell Environment (or, Why I Didn’t Use ISE)

I use (and highly recommend) PowerShell Plus (now sold by Idera http://www.idera.com/Products/PowerShell/).  Hopefully the rumoured update due soon will improve the CTP3 interoperability…  Anyway, being a PS+ fan meant I practically ignored ISE all the way through CTP2.

I fired up ISE with CTP3 and thought “same-old, same-old” until I saw Jeffery’s post – at which point I got slightly more interested.  Now this is getting good!  I’ve just written a module containing some ISE functions (to be posted shortly) and thought I’d provide some thoughts…

Where To Next, ISE?

This is a fantastic opportunity!  OK, currently the ISE object model is a little, err, on the light side.  But the potential is there.  I come from a IBM/VM background and was a huge fan of Xedit – the VM programmable editor; there was nothing that couldn’t be done with that editor and I’ve never been 100% happy about my current-fave replacement – whatever that happens to have been (currently EditPad Pro and the PS+ Editor (yeah, I’ve tried the PowerGUI one too…))

ISE could be right up there if the object model is expanded. 

One of the good things in Xedit was the “All” command; this took a pattern and displayed all the lines in the current file that matched the pattern.  All other lines were either hidden entirely or bunches of hidden lines were replaced with a “shadow line” (Set Shadow On/Off).  Global edits to the file would then operate only on the displayed lines (Set Scope Display).  This was incredibly useful (You perhaps don’t miss it until you don’t have it anymore!) – it’s been implemented in other editors (for example GVIM – and Emacs I’m sure) – if you’d like a go get the free Xedit clone by Mark Hessling (here: http://sourceforge.net/project/showfiles.php?group_id=29648) called “The Hessling Editor” or “THE” for short.

I’ve written a very simple, poor-man’s “All” command for ISE (included in the module), but it’s somewhat less than it could be … hopefully that object model will improve!

What about ISE?  Well, check the (extremely comprehensive) Xedit command set and object model here: http://hessling-editor.sourceforge.net/doc/index.html

As a first step – let us display or hide lines in the editor window:-)

Preferably, find out where Mark Hessling is and get him a job on the PowerShell Team:-))


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s