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

Support a local dev experience for extensions browsing #179919

Open
timheuer opened this issue Apr 13, 2023 · 3 comments
Open

Support a local dev experience for extensions browsing #179919

timheuer opened this issue Apr 13, 2023 · 3 comments
Assignees
Labels
feature-request Request for new features or functionality marketplace Microsoft VS Code Marketplace issues
Milestone

Comments

@timheuer
Copy link
Member

I feel like the VSCode shell could also enable this feature without marketplace. The pattern I'd love to see is simple and mirrors the concept of local NuGet galleries in the .NET ecosystem.

Scenario:

  • Enable VSCode marketplace (via setting) to add other 'endpoints' -- this could be as simple as a folder, as advanced as owning an API, etc -- although I don't think that fully is needed.
  • VSCode would look at that directory and expect it to just be a directory of well-structured VSIX packages and enumerate those in the marketplace view in VSCode
  • The marketplace view would show a grouping of these items using the path name as the title (could get long so some concatenation)
    This would be a lighter 'private marketplace' and would allow a good/rapid local dev experience for these workflows
@sandy081 sandy081 assigned isidorn and unassigned sandy081 Apr 17, 2023
@isidorn isidorn added the feature-request Request for new features or functionality label Apr 17, 2023
@isidorn isidorn added this to the Backlog milestone Apr 17, 2023
@isidorn
Copy link
Contributor

isidorn commented Apr 17, 2023

@timheuer thanks for opening this. Let's use this issue to get more feedback, and we might tackle this in the future.

@GitMensch
Copy link
Contributor

Note: currently there are multiple URL endpoints already to provide the marketplace experience, which are defined in product.json:

		extensionsGallery: {
			serviceUrl: env['VSCODE_GALLERY_SERVICE_URL'] || serviceUrl,
			cacheUrl: env['VSCODE_GALLERY_CACHE_URL'] || cacheUrl,
			itemUrl: env['VSCODE_GALLERY_ITEM_URL'] || itemUrl,
			controlUrl: env['VSCODE_GALLERY_CONTROL_URL'] || controlUrl,
			recommendationsUrl: env['VSCODE_GALLERY_RECOMMENDATIONS_URL'] || recommendationsUrl

Note: that is part of #129764 which allows to override these via environment variables and also to "merge" the distributed package.json with a user/project specific one; both options would be usable for "local experience" as soon as those URLs may also point to a folder (with the suggested "just lookup in the file system").

I personally think that a "simple" lookup here is enough, vscode would only unpack product.json from the vsix and have all the "real" names and metadata available that it would have in the marketplace - so even searching would work fine.

@GitMensch
Copy link
Contributor

GitMensch commented Nov 15, 2023

Until this is ready (it was requested since May 2017 so that may be "quite long") you could use https://marketplace.visualstudio.com/items?itemName=zokugun.vsix-manager, which allows to place extensions in a folder. To use this you'll then either copy the content of this extension (just unzip it and move everything from "extension" into its root folder) to your vscode installation under extensions (it will be handled as an inbuilt extension then) or run once code --install-extension zokugun.vsix-manager-*.vsix to have it installed.Then start vscode and either configure the local folder (where you possibly keep the extension itself, too) or use this from a previous installation (as it is a user setting).

Thinking of this: the easiest solution to this problem would be to just integrate this extension by default...

@isidorn isidorn added the marketplace Microsoft VS Code Marketplace issues label Nov 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-request Request for new features or functionality marketplace Microsoft VS Code Marketplace issues
Projects
None yet
Development

No branches or pull requests

4 participants