r/PowerShell • • 1d 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.

34 Upvotes

54 comments sorted by

21

u/JerikkaDawn 1d 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 1d 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.

37

u/Borgquite 1d ago

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

43

u/nealfive 1d ago

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

46

u/B5565 1d 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.

31

u/cbass377 1d 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.

3

u/nealfive 1d 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.

→ More replies (1)
→ More replies (1)

13

u/JdeFalconr 1d ago edited 1d 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.

→ More replies (1)

7

u/Thotaz 1d 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 1d 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 1d ago

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

→ More replies (3)
→ More replies (2)

10

u/tommyfly 1d 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).

19

u/MadBoyEvo 1d ago

I guess you can use Adam's ISE alternative:

2

u/nealfive 1d ago

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

2

u/PDQ_Brockstar 1d ago

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

→ More replies (1)

7

u/BrupieD 1d 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 1d 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 1d 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.

→ More replies (3)

1

u/op8040 1d ago

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

3

u/jstar77 1d ago

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

→ More replies (1)

3

u/MyOtherSide1984 1d 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

→ More replies (6)

1

u/oiler_head 1d 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 1d ago

I still use PowerShell 5.1 in PowerPlatform Admin

1

u/Guyver1- 1d 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