You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Enable IntelliSense based purely on version-specific PowerShell metadata #308
A fairly common request is for the editor to give IntelliSense for a particular version of PowerShell. For instance, a user on a Windows 10 machine with PowerShell 5.1 might want to emulate IntelliSense for a Windows 7 machine running PowerShell 2.0. It'd be nice if we could switch to a compatibility mode which provides cmdlet and .NET IntelliSense based on what's available on the target platform. This would also be helpful for those writing scripts using PSES on Linux and macOS since PowerShell v6 has a different cmdlet/featureset than any of the Windows PowerShell versions.
One other benefit of this feature is that it could allow us to do IntelliSense without an active runspace. This would be helpful in cloud based-editing scenarios because a hosted PSES service could give IntelliSense without the need for a running PowerShell session.
We should figure out how to integrate this into PSES before 1.0 just in case it requires any design changes. If we can implement this without changing any APIs then we could potentially push the implementation past 1.0.
I think it'd be even more necessary if we dropped PS3/4 because we would need a way to allow the user to write scripts for PS3/4 without that version of PS being available on the machine. Not really an easy problem to solve though!
PSSA already has the PSUseCompatibleCmdlets rule for that and ships with files for PowerShell Core (alpha) on Windows/Linux/Max and for Windows PowerShell 5.1. I am currently updating the PSCore files to 6.0.2 but we could also add files for PS v3 and PS v4. you can simply generate those files by running this script and the submitting a PR into PSSA. I personally only have machines with v4 but not v3 so I hope you can help out here.
Activity
TylerLeonhardt commentedon Jan 13, 2018
This might not be needed if we plan on deprecating 3/4. That said... It might be nice to do this between 5.1 and 6.
daviwil commentedon Jan 13, 2018
I think it'd be even more necessary if we dropped PS3/4 because we would need a way to allow the user to write scripts for PS3/4 without that version of PS being available on the machine. Not really an easy problem to solve though!
rkeithhill commentedon Jan 13, 2018
As I've said before on a different issue, I believe this functionality belongs in PSSA and as such would still be surfaced through the PSES.
bergmeister commentedon Mar 30, 2018
PSSA already has the PSUseCompatibleCmdlets rule for that and ships with files for PowerShell Core (alpha) on Windows/Linux/Max and for Windows PowerShell 5.1. I am currently updating the PSCore files to 6.0.2 but we could also add files for PS v3 and PS v4. you can simply generate those files by running this script and the submitting a PR into PSSA. I personally only have machines with v4 but not v3 so I hope you can help out here.
TylerLeonhardt commentedon Mar 31, 2018
Here you go, Christoph Bergmeister (@bergmeister)! 😄
desktop-3.0-windows.json.zip
bergmeister commentedon Mar 31, 2018
@tylerl0706 Thanks, I added it to this PR and made sure I gave you kudos for it in the summary.
Merge pull request PowerShell#308 from cielavenir/patch-1
andyleejordan commentedon Jun 15, 2026
Not planned — version-specific metadata intellisense is a large, unstarted effort. Closing as obsolete; please file a fresh proposal if still wanted.
Drafted by GitHub Copilot (Claude Opus 4.8) at Andy Jordan (@andyleejordan)'s request.