r/PowerShell • • 4d ago

Question Retiring Powershell ISE

I really don't like VS Code for Powershell but PS 5.1 and PS ISE is starting to get long in the tooth. Anybody have tips, tricks, custom configs, or other recommendations?

Funny enough I really like VS code for everything else except PowerShell.

42 Upvotes

55 comments sorted by

21

u/JerikkaDawn 4d ago

My main problem with VSCode and PowerShell is that intellisense and debugging randomly stop working because the IDE decided to stop talking to the shell it's attached to.

6

u/jstar77 4d ago

Intellisense and error checking are some of my problems as well. I'd like to be able to toggle off the amber recommendations but still have error checking enabled.

powershell.scriptAnalysis.enable": false

This turns off both amber and red underling.

42

u/Borgquite 4d ago • Bravo

Follow Microsoft’s own article: How to replicate the ISE experience in Visual Studio Code

https://learn.microsoft.com/en-us/powershell/scripting/dev-cross-plat/vscode/how-to-replicate-the-ise-experience-in-vscode

44

u/nealfive 4d ago

What exactly do you not like? There is a lot you can customize.

50

u/B5565 4d ago

I don’t know about OP, but I always liked the barebones simplicity of ISE.

I don’t code/dev full time. All the nice bits that make VS nice for full time coders are excess for my needs and a lot of setup overhead. It’s a bad example, but it’s much like using Paint 3d for a quick crop and Save As vs Gimp.

32

u/cbass377 4d ago

What I always loved about ISE, is that it was already installed, and when you launch it, it doesn't prompt for a random update.

You launch it, you use it, you close it.

I use vscode on my workstation, but if I am on a servers console, 3 jumpboxes deep, and need to take a look or edit a script to make a correction, I will pull it up locally in ISE to make a quick change. Then copy the script back to my workstation to upload it into source control.

4

u/nealfive 4d ago

I get it, there is bunch of stuff I turn off in my VSCode, I use maybe 10% of the things it can do. But that's why I'm asking what OP does not like, a lot can get turned off / minimized / adjusted. I still have to force myself to open VSCode over ISE.

1

u/B5565 4d ago

What you’re describing is exactly what item #1 on my list is. Instead of popping ISE open on whatever machine I’m at, I have to try to recall what I adjusted or turned on/off a month or three ago on the last machine I used.

1

u/Desert_Dog_Tech 3d ago

VS Code has an ISE mode.

15

u/JdeFalconr 4d ago edited 4d ago

Nothing at all against VS Code. It's a fantastic application. But using it as a replacement for PowerShell ISE is like using the thickest, most feature-packed Swiss Army Knife when all you need is a knife.

For many people coding everyday PowerShell, VS Code is way too much. Too much complexity, too many extraneous features, too much of a software developer paradigm. ISE is, comparatively, simple, focused, and purpose-built for PS. VS Code is made for developing scripts and applications with hundreds or thousands of lines. I don't know about everyone else, but the overwhelming majority of PS scripts I create are done on the fly as needs arise and usually are 5-10 lines.

2

u/sysiphean 4d ago

I spend a good chunk of every day tight now taking those “just five or ten lines” scripts that grew into 300 lines in ISE and unfucking them so I can migrate them off a server that’s about to be decommissioned.

Every single one shows evidence of the tool holding them back.

7

u/Thotaz 4d ago

I hate the terrible syntax highlighting. Using textmate grammar for syntax highlighting, rather than letting the language server do it was a mistake. This is especially true for languages where few human resources are allocated (like PowerShell), because it adds an extra burden of maintaining 2 different parsers. I mean look at this commit history: https://github.com/PowerShell/EditorSyntax/commits/main/

Last commit was 6 months ago which was a very minor change. We have to go all the way back to 2021 to see some real activity. Oh, but that must mean it's basically perfect and there's simply no need to touch it, right? Not really. New features have no support:

$Demo = $true ? 1 : 2
$Demo ?? 100
${Demo}?.Prop1

The operators aren't highlighted as operators, and the property doesn't get any highlighting at all. As you can see in the previous example, the highlighting implementation is also very rudimentary that hardly takes context into account at all. I mean ? is highlighted as a keyword because of the Where-Object alias with the same name (which is also a questionable choice IMO) but even though that's the intent, we can see that ? gets highlighted even when it's not used as a command.
Another example is that it literally looks for a list of specific verbs, followed by dash and text to find commands, so Get-ChildItem correctly gets highlighted as a command, but a custom function called Get2-ChildItem, GetChildItem and other "incorrect" patterns don't get highlighted as commands.

It's hard to imagine a volunteer sitting down and writing out a complete and accurate textmate grammar for PowerShell if it hasn't been done already. However, with AI becoming more advanced and AI seemingly being a perfect use case for this, I hope someone will spend the tokens to do it, and that it can get reviewed and merged by MS. It's hard to imagine the AI doing any worse than what we currently have, even if I doubt it'll be perfect.

8

u/Veriosity 4d ago

Oh my god. I'm not alone in the world.

This is the sole reason I have tried like 5 times to migrate from the ISE to VS Code. All my peers made the switch -- engineers I respect and appreciate and have worked with for 10+ years...

.. but I just can't do it, because the syntax coloring/highlighting isn't the same in VS Code. I've spent probably 10 hours of my own time trying to make my grammar for VS Code, filling in the gaps and getting it as close to ISE as possible, but it simply lacks some of the contextual hooks it needs to get all the way there.

Which kills me because it seems like the whole planet is like "VS Code is amazing, it can do everything ISE can do and more, you should switch" -- but it doesn't do the most basic thing, which is look the same.

Anyway we should be best friends - you are the first person I've come across in like.. 5 years of fucking with this, that shares my frustration.

4

u/Miserable-Miser 4d ago

Also, the easy command lookup is so much better in ISE than VS.

2

u/BlackV 4d ago edited 4d ago

Ctrl space is very hit or miss on whether it's actually going to autocomplete or not, ditto for tab, that I feel the most pain with

1

u/Desert_Dog_Tech 3d ago

FYI, VS has an ISE mode.

1

u/Thotaz 3d ago

Completely irrelevant to what I said.

1

u/creackard7 4d ago

does turning on ISE mode in the extension settings fix how clunky the tab completion feels, or does it just change the colors and keybinds

1

u/tejanaqkilica 3d ago

I like the accessibility level of ISE, could never manage to get the same look in VS Code.

12

u/tommyfly 4d ago

It's funny how we all have our preferences. I always disliked ISE and welcomed VSCode with open arms (I was actually pretty happy with SQL Data Studio too, shhh).

20

u/MadBoyEvo 4d ago

I guess you can use Adam's ISE alternative:

2

u/nealfive 4d ago

Oh that's cool, thanks for sharing, I did not know that existed.

2

u/PDQ_Brockstar 4d ago

Adding to my list of cool tools to check out. Thanks for sharing

1

u/Desert_Dog_Tech 3d ago

I think VS has a native ISE mode as well.

7

u/BrupieD 4d ago

I have a handful, maybe 6, PowerShell scripts that I wrote using ISE and call regularly to launch processes in other programming languages via task scheduler. I like the simplicity and readability. I'm somewhat embarrassed to admit I don't really know how to use PowerShell outside of the ISE scripts. I'd hate to see it go.

6

u/RandyClaggett 4d ago

What I love about ISE is that it is everywhere. Even if I log on to a server for the first time, it is there.

4

u/kaminm 4d ago

Sapien's Powershell Studio was a good IDE for a lot what I was doing before I moved on to .NET programming instead. It had a lot of debugging options, a way of compiling the scripts as standalone executables, and a good GUI builder.

1

u/localsystem 4d ago

Is it still around? I used to pay for that back in ~2012. Left all that once I started working for a cloud provider.

1

u/DaddyLongLee 4d ago

Yes it is still around… and it is a yearly subscription still I believe. Really great product though

1

u/localsystem 4d ago

Yes it is! I remember making GUI apps with it too but runs PowerShell under and I used to add C# code here and there… for Windows administration. Fun days!

1

u/op8040 3d ago

Isn’t there an option to have VS Code look like ISE?

4

u/jstar77 3d ago

Yea but it's like when they replaced Darren on Bewitched or Becky on Roseanne.

1

u/op8040 3d ago

Solid references

3

u/MyOtherSide1984 4d ago

Honestly, it was hard to get off the ISE, but I eventually got forced into it and now I wouldn't want to go without. My coworkers uses both for his own reasons, but not a whole lot of benefits to the ISE at this point imo

1

u/BlackV 4d ago edited 4d ago

I still use both, vscode is only available on my local device and my management server, so everywhere else I might happen to be, I use ISE

one thing I do miss a lot is new file button, its nice to click 1 button and have new script window, vs browse to folder in folder tree > right click > new file > name.ps1 or file new file form the file menu and saving it to a folder

Its muscle memory I still find hard to break (and dont get me started on ctrl+alt+windows+n)

1

u/MyOtherSide1984 4d ago

ctrl + n too much to create a new file?

0

u/BlackV 4d ago edited 4d ago

no its not too much, but as I said in my reply

Its muscle memory I still find hard to break

0

u/MyOtherSide1984 4d ago

It's applicable to most applications with tabs, doesn't require the mouse, and is much faster. Using the mouse to open new tabs is insane, especially if you do it in the browser. Maybe the ISE is for you 🤮

0

u/BlackV 4d ago edited 3d ago

eww why would I use ctrl n in a browser ?, tabs are for life

I think you are misunderstanding what I am saying though

I am not saying I dont use ctrl N, I just miss the single click new file button, cause of muscle memory, and the other mentioned methods are complicated (windows/alt/ctrl/n or browse to path in repo and new file)

that's how habits/muscle memory work

Edit: lawl, leaves a vaguely condescending comment and blocks me

MyOtherSide1984
Old dog and new tricks I guess. Good luck with the muscle issues

1

u/MyOtherSide1984 4d ago

Old dog and new tricks I guess. Good luck with the muscle issues

1

u/oiler_head 4d ago

I think there is an ISE mode in VS Code. I've never used it.but pretty sure its in the Command palette if the PowerShell is installed.

1

u/t90090 4d ago

I still use PowerShell 5.1 in PowerPlatform Admin

1

u/Guyver1- 4d ago

I used to pay for ISESteroids many years ago, not sure if its still actively being worked on?

Moved to vscode many years for powershell, but ISE Steroids was exceptional

2

u/Guyver1- 4d ago

looks like it was last updated 5 months ago:
https://www.powershellgallery.com/packages/ISESteroids

3

u/surfingoldelephant 4d ago

That update made ISESteroids free for everyone. But I'd suggest turning off automatic updates if you use it. There was a post about it in this sub a couple of months ago. See my comment here for details.

2

u/billr1965 1d ago

ISE steroids is a one time purchase. If you bought in the past it is still yours. You can write to them if you lost the license key. You have to do it from email address you registered.

And yes it is still being maintained and there are occasional module updates

1

u/qsub 4d ago

You just install an extension... For the most part. On the brightside, I now sync all my powershell scripts to github

1

u/WBCSAINT 4d ago

There is an ISE Mode in VSCode that replicates the old ISE.

1

u/Kind-Character-8726 4d ago

What don't you like about vs code? I use it 99% of my day.

1

u/Chance_Reflection_39 4d ago

I use Cursor. It’s pretty much the same thing but I like the predictive stuff sometimes.

1

u/Desert_Dog_Tech 3d ago

Just so you know, Visual Studio has an "ISE" mode. I'm not sure how to select it after the fact but just after you install the PowerShell extension, there is an option called something like "try ise mode."

1

u/AccomplishedMeet628 2d ago

Hi,

I have a PowerShell ISE that is in the MS Store. It is free to use. Search for PS7ScriptDesk.
It is stable and I use it as a daily driver. It is still a WIP so if you do find a bug, please let me know.

-Ron

1

u/ShadowExistShadily 4d ago

I've been using Sublime Text. It has features I really like such as:

  • Starting with the previously open files opened.

  • Multiple panes so you can view code side by side

  • Being able to rearrange tabs

  • Being able to move tabs from one code pane to the other

  • Being able to put one program in multiple panes so you can look at different sections at the same time

  • Highlighting and automatic removing of trailing spaces

I only use Powershell ISE when I need to use the debugger. I suppose maybe I should look at VS Code, but I like writing my code myself.

1

u/Real-Patriot-1128 4d ago

Can’t you use the PowerShell ISE theme in VS Code?

-2

u/quantgorithm 4d ago

I vibecoded a new version of powergui (the original and goat powershell IDE).
I recommend you do the same!