Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable IntelliSense based purely on version-specific PowerShell metadata #308

Open
daviwil opened this issue Dec 5, 2016 · 6 comments
Open
Labels
Area-IntelliSense Issue-Enhancement A feature request (enhancement).

Comments

@daviwil
Copy link
Contributor

daviwil commented Dec 5, 2016

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.

/cc @kapilmb

@daviwil daviwil added the Issue-Enhancement A feature request (enhancement). label Dec 5, 2016
@daviwil daviwil added this to the 1.0 milestone Dec 5, 2016
@daviwil daviwil modified the milestones: 1.0, May 2017 May 10, 2017
@daviwil daviwil modified the milestones: June 2017, Backlog Oct 27, 2017
@TylerLeonhardt
Copy link
Member

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
Copy link
Contributor Author

daviwil commented 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
Copy link
Contributor

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
Copy link
Contributor

bergmeister commented 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
Copy link
Member

Here you go, @bergmeister! 😄
desktop-3.0-windows.json.zip

@bergmeister
Copy link
Contributor

bergmeister commented Mar 31, 2018

@tylerl0706 Thanks, I added it to this PR and made sure I gave you kudos for it in the summary.

TylerLeonhardt pushed a commit to TylerLeonhardt/PowerShellEditorServices that referenced this issue Feb 26, 2019
troubleshooting.md: use /usr/local/opt/openssl for link source
@andyleejordan andyleejordan removed this from the Backlog milestone Aug 17, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-IntelliSense Issue-Enhancement A feature request (enhancement).
Projects
None yet
Development

No branches or pull requests

5 participants