Skip to content

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

Closed as not planned

Description

@daviwil

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 Kapil Borle (@kapilmb)

Activity

  1. added this to the milestone on Dec 5, 2016
  2. modified the milestones: , on May 10, 2017
  3. modified the milestones: June 2017, on Oct 27, 2017
  4. TylerLeonhardt commented on Jan 13, 2018

    @TylerLeonhardt
    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.

  5. daviwil commented on Jan 13, 2018

    @daviwil
    ContributorAuthor

    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!

  6. rkeithhill commented on Jan 13, 2018

    @rkeithhill
    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.

  7. bergmeister commented on Mar 30, 2018

    @bergmeister
    Contributor

    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.

  8. TylerLeonhardt commented on Mar 31, 2018

    @TylerLeonhardt
    Member
  9. bergmeister commented on Mar 31, 2018

    @bergmeister
    Contributor

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

  10. added a commit that references this issue on Feb 26, 2019
  11. removed this from the milestone on Aug 17, 2021
  12. andyleejordan commented on Jun 15, 2026

    @andyleejordan
    Member

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions