What's Missing in PowerShell 3 ISE

  • Scripting
  • Published Sep 12, 2012 Updated Sep 13, 2012

On my quest for a decent PowerShell development tool I first tried out PowerGUI, but was not very happy with it. When the RTM version of PowerShell 3.0 along with a revamped ISE was released a few days ago, I decided to give it a try. Here is what I found.

Editor

  • Tab size is fixed at four. This absolutely needs to be configurable. While they are at it, they should also add the option to not convert tabs to spaces. (Vote for the implementation of this at Connect).
  • No bookmarks: code lines cannot be bookmarked and later jumped to. Usually this is possible by pressing CTRL+F2 and F2, respectively.
  • If a PS1 script file that is opened in the ISE is changed by another program the ISE does not detect the modification and continues to display the old file content.
  • Intellisense has problems with variable scope. It sometimes displays variables that are out of scope and sometimes does not display global variables.
  • You cannot jump from breakpoint to breakpoint in the editor.
Windows PowerShell ISE

Searching and Replacing

  • When selecting replace all it does not display how many instances it found and replaced. The user is left in the dark as to what actually happened.
  • When searching, it is not possible to wrap around, i.e. starting the search in the midst and have it continue at the beginning after it reaches the end.
  • The keyboard shortcut for “replace all” should be ALT+A instead of ALT+T (this applies to German).

Running and Debugging

  • It is not possible difficult to run scripts with parameters in the debugger. To do that, set breakpoints in the editor window (CTRL+I). Then switch to the console window (CTRL+D) and start the script there. Switch back to the editor window to debug.

Conclusion

These are just the bigger issues. I did not include many smaller things I found while using PowerShell ISE. Sadly, it did not take me long to find these issues, which makes it likely that with more time more problems can be found.

Given the number and severity of the issues I cannot like PowerShell ISE. I cannot even recommend it wholeheartedly. But, hey, it is free, so what am I complaining about. If it is not enough for you, either go for one of the commercial products or do what I am doing: use Notepad++.

Comments

Related Posts

Configuring Citrix ShareFile Sync from PowerShell

Configuring Citrix ShareFile Sync from PowerShell
When you have a cloud-based file sharing service it makes a lot of sense to synchronize part or all of the data with your desktop computer. Citrix ShareFile offers the Sync for Windows tool for that purpose. However, once you open its configuration screen you notice that has a severe restriction: it can only synchronize to a single local folder. In many cases it would make much more sense to synchronize different cloud folders to different locations on your hard disk. When I complained to the product manager Peter Schulz about this I learned about a hidden gem: the single folder restriction is only present in the UI; the underlying sync engine is much more flexible. And the best thing is: the sync engine can be configured from PowerShell. Here is how.
Citrix/Terminal Services/Remote Desktop Services

Shutting Down Unused Persistent XenDesktop VMs

Shutting Down Unused Persistent XenDesktop VMs
When you use XenDesktop the only way it makes sense you may find that Citrix has not really put much effort into making that a smooth experience. Persistent is a Second-Grade Citizen XenDesktop is really designed to be used with pooled desktops - machines that are reset to a pristine state when the user logs off. Of course, stateless desktops are much better (and, importantly, cheaper) served from XenApp. This has been the topic of many a debate which I will not repeat here. But I will state that if you give a so-called knowledge worker a personal desktop, you better make sure that desktop is persistent.
Citrix/Terminal Services/Remote Desktop Services

Latest Posts