Inedo Community Forums Forums
    • Recent
    • Tags
    • Popular
    • Login

    Welcome to the Inedo Forums! Check out the Forums Guide for help getting started.

    If you are experiencing any issues with the forum software, please visit the Contact Form on our website and let us know!

    [ProGet] Feature Request: Visual Studio Code - private Extension Gallery

    Scheduled Pinned Locked Moved Support
    12 Posts 6 Posters 53 Views 3 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • D Offline
      dimas
      last edited by

      I am currently looking into hosting my own internal vscode extensions gallery. Openvsx is pretty much the only viable candidate, but it requires spawning multiple docker containers with relatively large compute and ram requirements for my small 15 person team that probably only updates our airgapped vscode once a month.

      There is actually a documentation on how to host a vsix feed for vscode on proget, but after a quick test it can't differentiate builds for different architectures.

      For example, the python extension has different builds for different archs. Uploading them only results in a single entry on the proget vsix feed.

      apxltdA 1 Reply Last reply Reply Quote 0
      • apxltdA Offline
        apxltd inedo-engineer @dimas
        last edited by

        Hi @dimas ,

        It looks like VSCode still doesn't support private galleries. I know users have been requesting it for over eight years now.... so maybe it'll come soon! But until then, we can't implement it in ProGet.

        I'm not sure what you mean about the python extension... but I do know that a visx file uses some kind of GUID to uniquely identify an extension. If the different "versions" of python visx use that same ID/Version, then I suppose it would get overwritten.

        Alex

        Founder and CEO, Inedo

        D 1 Reply Last reply Reply Quote 1
        • D Offline
          dimas @apxltd
          last edited by

          @apxltd The extension actually have several builds for different platforms. You can download them using these links.

          • Linux https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ms-python/vsextensions/python/2025.2.0/vspackage?targetPlatform=linux-x64
          • Windows https://marketplace.visualstudio.com/_apis/public/gallery/publishers/ms-python/vsextensions/python/2025.2.0/vspackage?targetPlatform=win32-x64

          However, the ProGet VSIX feed doesn't distinguish between these builds. The only way to solve this problem was to create a separate feed for each platforms.

          apxltdA 1 Reply Last reply Reply Quote 0
          • apxltdA Offline
            apxltd inedo-engineer @dimas
            last edited by

            Hey @dimas ,

            Ah, that makes sense. Looking at the manifest files, they have the same Identity@Id (which is what ProGet uses for the Package Name) but a different Identity@TargetPlatform (which must be new-ish):

            <Identity Language="en-US" Id="python" Version="2025.2.0" Publisher="ms-python" TargetPlatform="win32-x64"/>
            <Identity Language="en-US" Id="python" Version="2025.2.0" Publisher="ms-python" TargetPlatform="linux-x64"/>
            

            We could probably figure something out in ProGet, but it's not trivial when it comes time to changing how we identify Package Names.

            Can you try editing the manfiest file inside the vsix archive, and seeing if that works for your use case?

            So basically:

            <Identity Language="en-US" Id="python-win32-x64" Version="2025.2.0" Publisher="ms-python" TargetPlatform="win32-x64"/>
            <Identity Language="en-US" Id="python-linux-x64" Version="2025.2.0" Publisher="ms-python" TargetPlatform="linux-x64"/>
            

            Not quite sure if that would work, but figure it's worth a try.

            Thanks,
            Alex

            Founder and CEO, Inedo

            1 Reply Last reply Reply Quote 0
            • S Offline
              sebastien.gamby_3349
              last edited by

              Hello,

              My organisation is also planning to host a private repository of VSCode extensions. Is there any chance that ProGet will implement this new feed type in the foreseeable future?

              Kind regards,

              Sebastien

              apxltdA 1 Reply Last reply Reply Quote 0
              • apxltdA Offline
                apxltd inedo-engineer @sebastien.gamby_3349
                last edited by

                @sebastien-gamby_3349 check with the VSCode team.

                They first need to implement support for private repository/galleries, and then we'd need to see some level of stability before considering it.

                Founder and CEO, Inedo

                1 Reply Last reply Reply Quote 0
                • F Offline
                  fbiryukov_8162
                  last edited by

                  Does this recent announcement change anything for this feature request?

                  Introducing the Visual Studio Code Private Marketplace: Your Team's Secure, Curated Extension Hub 🎉.

                  apxltdA 1 Reply Last reply Reply Quote 0
                  • apxltdA Offline
                    apxltd inedo-engineer @fbiryukov_8162
                    last edited by

                    Hi @fbiryukov_8162,

                    I did a quick read of the content, and based on this statement ...

                    "Private Marketplace is available to GitHub Enterprise customers. VS Code users must sign in with a GitHub Enterprise or Copilot Business or Enterprise account to access." sounds to me like a closed ecosystem

                    And these technical instructions ...

                    https://github.com/microsoft/vsmarketplace/blob/main/privatemarketplace/latest/README.md#5-connect-vs-code-to-the-private-marketplace

                    ... this is a locked-down / closed ecosystem. There's no published API/specs and no still no support in VSCode for private galleries. They're just "hacking" internal settings to get VSCode to use a different service URL, which they also control.

                    Obviously this is not something we could/would want to reverse engineer and then support.

                    If the VSCode team adds support for private repository/galleries (and a public/documented API), and there's some degree of stability to that, we'll consider it. But until then, not much we can do.

                    Best,
                    Alex

                    Founder and CEO, Inedo

                    1 Reply Last reply Reply Quote 0
                    • X Offline
                      xabur
                      last edited by

                      My company is also looking for a air-cap solution. It really is a pain and unfortunately, the Microsoft solution that requires GitHub Enterprise isn't a good fit. That's why we'd really like to have a solution like ProGet.

                      As I understand it, two things are required:

                      1. It must be possible to configure custom service endpoints in VS Code
                        --> Microsoft allows this with these settings: https://github.com/microsoft/vsmarketplace/blob/main/privatemarketplace/latest/README.md#5-connect-vs-code-to-the-private-marketplace

                      2. The API documentation must be available
                        --> There is no official documentation from Microsoft. However, Open VSX has documented the API for its VS Code adapter here: https://open-vsx.org/swagger-ui/index.html?urls.primaryName=VSCode Adapter# The question now is whether this documentation is reliable enough for you to adapt it. The API doesn’t actually look very comprehensive. It would be great if you could look into that

                      Another approach would be a VS Code "Private Marketplace" extension that supports NPM registries. There are some available, but they don’t seem to be actively maintained and are therefore not very trustworthy.

                      apxltdA 1 Reply Last reply Reply Quote 0
                      • apxltdA Offline
                        apxltd inedo-engineer @xabur
                        last edited by

                        Hi @xabur ,

                        Thanks for sharing the additional information! I've been meaning to research this more in depth, but just ran out of time.

                        I can't quite seem to figure out what Open VSX is exactly. So far as I can tell, it's like an alternative the Visual Studio Gallery. Meaning, you plug in https://open-vsx.org/ in VS Code, and then all the requests go through their service instead of the official gallery?

                        If that's the case, what's the use case? They appear to have all the same extensions, so this just feels like one of those "GooglePlay store alternatives" on Android... except there's no account/registration/etc required with the Visual Studio Gallery. Right?

                        Open VSX clearly seems to be popular, I just don't understand why.

                        In any case, if a well-supported project "reverse engineered" the official gallery and then made an alternative, that kinda paves the path for us. We don't want to be the first or only game in town, when it comes to supporting feed types.

                        Thanks,
                        Alex

                        Founder and CEO, Inedo

                        1 Reply Last reply Reply Quote 0

                        Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                        Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                        With your input, this post could be even better 💗

                        Register Login
                        • 1 / 1
                        • First post
                          Last post
                        Inedo Website Home • Support Home • Code of Conduct • Forums Guide • Documentation