Hi all,
As the new maintainer of the Visual Studio Code PowerShell Extension and PowerShell Editor Services, I am planning to make a new stable release this (or potentially next) month! The last stable release was June, 2020, or almost 9 months ago, with preview releases in July and September. Here are my specific goals for doing so:
v2021.2.0-preview with PSES at v2.3.0-preview.3These are simply my first draft of goals, and they are open for discussion! Thanks ahead of time for your input.
To this end my tentative plan is to simply release off the tip of _master_ after reviewing as well as I can the changes made since v2020.6.0.
Thanks for putting this together, really helpful for drawing clarity! One minor goal I'd like to add for this stable release is to update incorrect extension metadata which indicates the stable release to be a preview build in the VSCode marketplace
/cc @bergmeister @JamesWTruher @daxian-dbw
Just some useful information around the PSScriptAnalyzer version:
The stable version still ships with 1.19.0 but the preview version has shipped with 1.19.1 and proved many times that nearly all new issues (mostly formatting bugs) that were raised in the past months were already fixed in 1.19.1 (which is currently the latest version) and people confirmed by either switching to preview or installing the latest PSSA version locally (which always trumps the shipped version due to PSModulePath order). As of right now, I am not aware of any bug report that would show a regression from 1.19.0 to 1.19.1.
Therefore I feel strong about the next stable version to ship with PSSA 1.19.1, no matter if you base it off the last release branch or the last preview/master, in the latter case nothing needs to be done but in the former, you'd need to cherry-pick those PRs:
@andschwa Welcome! And this looks like a reasonable forward plan to me, thank you for providing a roadmap.
@andschwa Welcome to the project! 馃檪
If you have any questions about the code base or project history feel free to tag me or reach out on the PowerShell discord.
I've been regularly checking to see if any new releases have been planned. Glad to finally see that someone is picking this up and taking ownership. I imagine that there are tons of people out there using vscode-powershell who would enjoy an improved user experience.
Thanks all for the warm welcome! I agree with including PSScriptAnalyzer version 1.19.1, and I wanted to release off the tip of _master_ anyway so that works out. I've added a list of tasks to the issue description (by no means exhaustive, just as reminders).
Hey folks, I just published the last preview release to GitHub (and probably won't publish it to the marketplace since I'm going to roll it into a proper stable release early next week). I'm a bit new to this whole process, and learning as I go, so would you kindly please test it and let me know if you find any _unexpected_ issues?
Check it out: v2021.2.0-preview (and the editor services at v2.3.0-preview.3)
Ohhhhh you bet I'll be checking out this preview build. Thanks for the heads up! 馃挭馃徎
Question: you called out the Editor Services package separately, but my understanding is that it's included in the vscode-powershell extension, right? Just wanted to make sure this wasn't a two-step install process.
Thanks. I'm really hoping to get a more agile release process now.
If I hit any problems (that aren't already known), I'll let you know.
Question: you called out the Editor Services package separately, but my understanding is that it's included in the vscode-powershell extension, right? Just wanted to make sure this wasn't a two-step install process.
That is correct, it's bundled in the VSIX. I just called it out so you can see which code was built into the extension.
Thanks for testing!
I'm not sure if this is a regression or not, but when the extension starts up, my PowerShell profile script is not running. In Windows Terminal and the default terminal (non-integrated terminal) in VSCode all run my profile script as expected. @andschwa
As far as I know $Profile is different in VSCode, PowerShell 5.1, PowerShell 7 and so on. If you type $profile it will show totally different path.
@pcgeek86 @PrzemyslawKlys this appears to be happening to me too with my CurrentUserAllHosts profile as well using the latest preview above. Doesn't happen on my other machine running normal preview.
Left is integrated console (profile not loading), right is normal terminal (profile loaded)

I've reverted to PowerShell Extension and it acts the same. To me it's behaving as it always was. Are you confirming my version or @pcgeek86's version @JustinGrote ? :-)
@PrzemyslawKlys confirming @pcgeek86 that it is "not working". I just reverted to 2020.9.0 Preview and it works as expected again, so definitely something in the new vsix preview.

I see, the profile is different, but it's not getting executed either.
$profile.currentuserallhosts is the same on both.
The path is the same in both Windows Terminal and VSCode. However, in VSCode my profile is not applying customizations.

@andschwa to summarize, it appears that the latest vsix preview is not loading user profiles. Can you confirm?
I am definitely seeing something strange. It loaded fine, including my profile, and then VS Code prompted me that the extension I'd installed (the preview) "wanted to change these environment variables," I said yes, it reloaded and now won't finish loading the integrated terminal. (This is on Windows 10 with PowerShell 5.) Looks like we're not releasing today 馃槩
After restarting the console, it loaded but yes, did not load my profile either.
Ok, so I believe the prompt about changing environment variables didn't matter, other than that it loaded something _old_ that worked, and then after I allowed it to proceed, loaded the new stuff which doesn't work.
The profile not loading has repro'd for me on:
So I am looking at the commits between the last preview and this preview to see what may have changed.
Ok, @rjmholt and I tracked it down. There are more changes to the PowerShellEditorServices between preview.2 and preview.3 than I would have liked to see (as that means more untested code). In https://github.com/PowerShell/PowerShellEditorServices/commit/d7c8ddc398d4d287b7b853e644410e6a08892937, the default value for EnableProfileLoading was changed from false to true in the server, causing this condition to stop evaluating as true (since that boolean _required_ that the value change from false to true when the client's value of "true" was sent).
Rob has opened https://github.com/PowerShell/PowerShellEditorServices/pull/1415 to fix this, and we're deciding if we want to move forward with PowerShellEditorServices based off master still (plus this fix).
So just FYI, I am planning to release _yet another_ preview today, and upload it to the marketplace. If (and only if) that goes well, we'll update the stable with it...probably tomorrow.
Nice work -- looking forward to it, Andy!
Oh, by the way, I should probably mention that I've had an ongoing issue where .NET namespaces and class names are not auto-completing in Intellisense results. That has been hard to work without ... does anyone else still have this issue with this preview build?
I just tried to create a video demonstrating the issue, but was able to replicate the problem in both VSCode as well as Windows Terminal. So, it's not specific to the VSCode PowerShell extension. Feel free to ignore (for now).
I can't post the video here due to size, so I'll put it up on YouTube.
@pcgeek86 I do. It may be related to other modules tho. Check this:
In my case Azure AD module was/is causing this in most cases, but it can be anything for PowerShell 5.1. In PS 7 it's supposedly fixed (at least in reference to my problem with types)
@pcgeek86 @PrzemyslawKlys Preview up on GitHub! Posting to marketplace after some quick vetting...
Downloading and testing
It's up on the marketplace! @rjmholt and I gave it a quick spin on Windows with a few different PowerShells. Profile loading bug is fixed 馃コ
Looks good. If we could get some fixes for the .NET namespace and type completion, that would be hugely helpful. I tried it again, and I'm pretty sure it's just broken in PowerShell Core 7.1.2, nothing specifically to do with the VSCode extension.

Here's a video showing .NET Namespace and Type completion failing in both VSCode and Terminal. 馃憠馃徎 https://youtu.be/GKWemjqlZVA
Thanks @pcgeek86! Could you helpfully open a separate issue for that?
Of course! I'm guessing it belongs under powershell/powershell, not this repo, right?
FWIW I'd be willing to give up just about every other feature in order to get reliable auto-completion. That is obviously a bit of an overstatement but ... I can't help but wonder that as more & more features got added to the extension, we forgot to take care of job # 1 - auto-completion. Put another way, I'd love to see way more investment in "fixing" the extension and way less investment in adding more features. :-)
What Keith said. I don't care about new features. I am interested in reliability of the "core" feature set. One of the things that has consistent set PowerShell apart from other languages, over the last ~16 years is the metadata around modules, commands, .NET types, parameters, and so on. I've been consistently promoting PowerShell in my professional training content at CBT Nuggets as well as on my YouTube channel, for these reasons. We really need to get things back to a reliable working state. I wish I had the engineering know-how (and time) to contribute, but alas I must leave this task to the professional software engineers.
I really respect and appreciate the attitude from @rjmholt in one of the threads that @PrzemyslawKlys linked to earlier, in which he proactively accepted responsibility for the reliability of the VSCode PowerShell extension, regardless of the reliability of the PowerShell engine itself.
Granted, the PowerShell engine needs to work, in order to provide data back to the VSCode extension, but the "can do" attitude goes a long way.
PSES definitely needs a hefty amount of stability work.
Just to be clear though, the issue @pcgeek86 is talking about isn't something the extension can fix since the results are the same outside of it.
Just to be clear though, the issue @pcgeek86 is talking about isn't something the extension can fix since the results are the same outside of it.
Yep, I understand and have proven, in my video capture, that this is an issue with the PowerShell engine. That being said, I'm sure the individuals working on vscode-powershell have a fair amount of communication with the PowerShell Core team (at least, I'd hope so). So, the overall message should be universally understood in this audience.
Yeah it's the same team. If you wouldn't mind could you create an issue for that over on PowerShell/PowerShell? If not I can open one, just want to make sure it's tracked.
@SeeminglyScience Just posted a new issue with repro steps. Feel free to chime in.
I'd love to see way more investment in "fixing" the extension and way less investment in adding more features.
I'm glad to hear that, as that's exactly our plan!
Yep, the ol' three step process would be great:
IN THAT ORDER
Most helpful comment
FWIW I'd be willing to give up just about every other feature in order to get reliable auto-completion. That is obviously a bit of an overstatement but ... I can't help but wonder that as more & more features got added to the extension, we forgot to take care of job # 1 - auto-completion. Put another way, I'd love to see way more investment in "fixing" the extension and way less investment in adding more features. :-)