{"id":32124059,"url":"https://github.com/zokugun/vscode-vsix-manager","last_synced_at":"2026-04-06T02:13:51.493Z","repository":{"id":96346888,"uuid":"582047853","full_name":"zokugun/vscode-vsix-manager","owner":"zokugun","description":"Install extensions from your own sources","archived":false,"fork":false,"pushed_at":"2026-03-21T09:41:07.000Z","size":532,"stargazers_count":66,"open_issues_count":4,"forks_count":14,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-03-22T01:23:31.009Z","etag":null,"topics":["vscode-extension","vsix"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zokugun.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"ko_fi":"daiyam","liberapay":"daiyam","custom":"paypal.me/daiyam99"}},"created_at":"2022-12-25T13:01:42.000Z","updated_at":"2026-03-21T09:41:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"a7ab8561-35e8-4259-8f4a-4ace97574239","html_url":"https://github.com/zokugun/vscode-vsix-manager","commit_stats":null,"previous_names":[],"tags_count":22,"template":false,"template_full_name":null,"purl":"pkg:github/zokugun/vscode-vsix-manager","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zokugun%2Fvscode-vsix-manager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zokugun%2Fvscode-vsix-manager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zokugun%2Fvscode-vsix-manager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zokugun%2Fvscode-vsix-manager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zokugun","download_url":"https://codeload.github.com/zokugun/vscode-vsix-manager/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zokugun%2Fvscode-vsix-manager/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31455507,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-05T21:22:52.476Z","status":"ssl_error","status_checked_at":"2026-04-05T21:22:51.943Z","response_time":75,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["vscode-extension","vsix"],"created_at":"2025-10-20T21:38:16.041Z","updated_at":"2026-04-06T02:13:51.487Z","avatar_url":"https://github.com/zokugun.png","language":"TypeScript","funding_links":["https://ko-fi.com/daiyam","https://liberapay.com/daiyam","paypal.me/daiyam99","https://liberapay.com/daiyam/donate","https://paypal.me/daiyam99"],"categories":[],"sub_categories":[],"readme":"VSIX Manager\n============\n\n[![License](https://img.shields.io/badge/license-MIT-blue.svg)](./LICENSE)\n[![Visual Studio Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/zokugun.vsix-manager?label=VS%20Marketplace)](https://marketplace.visualstudio.com/items?itemName=zokugun.vsix-manager)\n[![Open VSX Version](https://img.shields.io/open-vsx/v/zokugun/vsix-manager?label=Open%20VSX)](https://open-vsx.org/extension/zokugun/vsix-manager)\n[![Donation](https://img.shields.io/badge/donate-ko--fi-green)](https://ko-fi.com/daiyam)\n[![Donation](https://img.shields.io/badge/donate-liberapay-green)](https://liberapay.com/daiyam/donate)\n[![Donation](https://img.shields.io/badge/donate-paypal-green)](https://paypal.me/daiyam99)\n\nWith [VSIX Manager](https://github.com/zokugun/vscode-vsix-manager), you can manage your extensions from your settings and install them from several places, including specified marketplaces or GitHub releases.\n\nTable of Contents\n-----------------\n\n- [Configuration](#configuration)\n- [Groups](#groups)\n- [Extensions](#extensions)\n    - [String notation](#string-notation)\n    - [Object notation](#object-notation)\n    - [Disable](#disable)\n    - [Alternatives](#alternatives)\n    - [Wanted version](#wanted-version)\n- [Sources](#sources)\n    - [marketplace](#marketplace)\n    - [file](#file)\n    - [github](#github)\n    - [forgejo](#forgejo)\n    - [fallback property](#fallback-property)\n    - [throttle property](#throttle-property)\n- [Commands](#commands)\n- [Crons](#crons)\n- [Debugging](#debugging)\n- [Donations](#donations)\n\nConfiguration\n-------------\n\nIn your settings:\n\n```jsonc\n{\n    \"vsix.sources\": {\n        \"opn\": {\n            \"type\": \"marketplace\",\n            \"serviceUrl\": \"https://open-vsx.org/vscode/gallery\",\n        },\n    },\n    \"vsix.groups\": {\n        \"node\": [\n            \u003c...extensions\u003e\n        ],\n        \"python\": [\n            \u003c...extensions\u003e\n        ],\n    },\n    \"vsix.extensions\": [\n        \"opn:zokugun.automatic-editor-sorter\",\n        \"opn:zokugun.explicit-folding\",\n        \"node\",\n    ],\n    \"vsix.crons\": {\n        \"update\": \"0 12 * * *\"\n    },\n}\n```\n\nGroups\n------\n\nWith `vsix.groups`, you can manage your extensions by sets.\n\nExtensions\n----------\n\n### String notation\n\n`vsix.extensions` and each group of `vsix.groups` are a list of expression\n\n```\nexpression = [\"-\"] *identifier* (\"||\" *identifier*)*\n\nidentifier = *groupName* | *extensionID* | *sourceName*:*extensionID*\n```\n\n- `extensionID`: id of an extension found in VSCode, VSCodium, ... (same as `\u003cpublisherName\u003e.\u003cextensionName\u003e`)\n- `groupName`: name of a group defined in `vsix.groups`\n- `sourceName`: name of a source defined in `vsix.sources`\n\n```jsonc\n\"vsix.extensions\": [\n    \"opn:zokugun.explicit-folding\",\n    \"-vsx:devXalt.extYalt||ms:devX.extY\"\n],\n```\n\n### Object notation\n\n```jsonc\n\"vsix.extensions\": [\n    \"-vsx:devXalt.extYalt||ms:devX.extY\"\n],\n\n// is equivalent to\n\n\"vsix.extensions\": [\n    {\n        \"id\": [\n            \"vsx:devXalt.extYalt\",\n            \"ms:devX.extY\",\n        ],\n        \"enabled\": false,\n    },\n],\n```\n\n### Disable\n\nIf an expression is prefixed by `-` or `\"enabled\": false`, then the extension or the group of extension will be installed in a disable state.\n\n### Alternatives\n\nIf an expression contains multiple identifiers, the manager will try the first one. It it fails, it will try the next one until an extension is installed.\n\n### Wanted version\n\nYou can specify the version you want like `\"ms:devX.extY@0.99.0\"`.\n\nSources\n-------\n\nWithin `vsix.sources`, you can define where to find the extensions.\n\n### marketplace\n\n```jsonc\n\"vsix.sources\": {\n    \"opn\": {\n        \"type\": \"marketplace\",\n        \"serviceUrl\": \"https://open-vsx.org/vscode/gallery\",\n    },\n},\n```\n\n### file\n\n```jsonc\n\"vsix.sources\": {\n    \"mfs\": {\n        \"type\": \"file\",\n        \"path\": \"~/my-extensions\",\n    },\n},\n```\n\n#### Home\n\nThe `~` shortcut for the home directory is working on all systems, including Windows.\n\n#### Lookup\n\nThe latest version will be searched in:\n- `~/my-extensions`\n- `~/my-extensions/\u003cpublisherName\u003e`\n- `~/my-extensions/\u003cpublisherName\u003e.\u003cextensionName\u003e`\n\nFor an extension named: `\"mfs:devX.extY\"`, it will for the files:\n- `~/my-extensions/devX.extY-\u003cversion\u003e.vsix`\n- `~/my-extensions/devX/devX.extY-\u003cversion\u003e.vsix`\n- `~/my-extensions/devX.extY/devX.extY-\u003cversion\u003e.vsix`\n\nFor an extension named: `\"mfs:extXYZ\"`, it will for the files:\n- `~/my-extensions/extXYZ-\u003cversion\u003e.vsix`\n- `~/my-extensions/extXYZ/extXYZ-\u003cversion\u003e.vsix`\n\n### git\n\n#### Syntax\n\nWhether you use GitHub or Forgejo, a release can possibly contain multiple extensions and/or versions.\n\nIf no version is specified (`github:\u003cusername\u003e/\u003cproject\u003e@\u003cversion\u003e`), then the manager will select the latest.\nIf the release contains multiple extensions and none are specified, it will select the first one.\n\nYou can select the wanted extension like `github:\u003cusername\u003e/\u003cproject\u003e!\u003cextension\u003e` (`github:\u003cusername\u003e/\u003cproject\u003e!\u003cextension\u003e@\u003cversion\u003e`).\n\n#### GitHub\n\n`github` is a built-in source (no configuration required) and will install extensions from the GitHub release pages.\n\n```jsonc\n{\n    \"vsix.extensions\": [\n        \"github:\u003cusername\u003e/\u003cproject\u003e\",\n    ],\n}\n```\n\n#### Private repository\n\nYou can access your private repositories by giving an access token. You can specify an environment variable to read it from.\n\n```jsonc\n{\n    \"vsix.sources\": {\n        \"mgh\": {\n            \"type\": \"github\",\n            \"token\": \"env:MY_TOKEN\",\n        },\n    },\n    \"vsix.extensions\": [\n        \"mgh:\u003cusername\u003e/\u003cproject\u003e\",\n    ],\n}\n```\n\n#### Owner\n\n```jsonc\n{\n    \"vsix.sources\": {\n        \"mgh\": {\n            \"type\": \"github\",\n            \"owner\": \"\u003cusername\u003e\",\n        },\n    },\n    \"vsix.extensions\": [\n        \"mgh:\u003cproject\u003e\",\n    ],\n}\n```\n\n#### GitHub Enterprise\n\n```jsonc\n{\n    \"vsix.sources\": {\n        \"ghe\": {\n            \"type\": \"github\",\n            \"url\": \"https://github.myserver.com/api/v3\",\n        },\n    },\n    \"vsix.extensions\": [\n        \"ghe:\u003cusername\u003e/\u003cproject\u003e\",\n    ],\n}\n```\n\n#### Forgejo\n\n`forgejo` is a built-in source and will install extensions from the Forgejo release pages.\n\n```jsonc\n{\n    \"vsix.sources\": {\n        \"mfj\": {\n            \"type\": \"forgejo\",\n            \"serviceUrl\": \"https://forgejo.myserver.com/api/v1\",\n        },\n    },\n    \"vsix.extensions\": [\n        \"mfj:\u003cusername\u003e/\u003cproject\u003e\",\n    ],\n}\n```\n\n### `fallback` property\n\nYou can use the `fallback` property to use another source when the extension isn't found in the first source.\n\n```\n\"vsix.sources\": {\n    \"mfs\": {\n        \"type\": \"file\",\n        \"path\": \"~/my-extensions\",\n        \"fallback\": \"opn\",\n    },\n    \"opn\": {\n        \"type\": \"marketplace\",\n        \"serviceUrl\": \"https://open-vsx.org/vscode/gallery\",\n    },\n},\n```\n\n### `throttle` property\n\nYou can use the `throttle` property to limit the number of requests to a source.\n\n```jsonc\n\"vsix.sources\": {\n    \"opn\": {\n        \"type\": \"marketplace\",\n        \"serviceUrl\": \"https://open-vsx.org/vscode/gallery\",\n        \"throttle\": 5000,\n    },\n},\n```\n\nCommands\n--------\n\n- `\u003e VSIX Manager: Adopt unmanaged extensions`: brings extensions that are currently unmanaged under the control of VSIX Manager. Use this command to ensure all your listed extensions are managed consistently.\n- `\u003e VSIX Manager: Install extensions`: install the extensions\n- `\u003e VSIX Manager: Uninstall extensions`: uninstall the extensions\n- `\u003e VSIX Manager: Update extensions`: update the extensions\n\nCrons\n-----\n\n`vsix.crons` allows you to schedule the `update` command.\n\n```jsonc\n\"vsix.crons\": {\n    \"update\": \"0 12 * * *\"      // at 12PM, every day\n}\n```\n\nDebugging\n---------\n\nIf the property `vsix.debug` (`false` by default) is `true`, the extension will print out debug information into the channel `VSIX Manager` of the panel `Output` (menu: `View` / `Output`).\n\nDonations\n---------\n\nSupport this project by becoming a financial contributor.\n\n\u003ctable\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/daiyam/assets/master/icons/256/funding_kofi.png\" alt=\"Ko-fi\" width=\"80px\" height=\"80px\"\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://ko-fi.com/daiyam\" target=\"_blank\"\u003eko-fi.com/daiyam\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/daiyam/assets/master/icons/256/funding_liberapay.png\" alt=\"Liberapay\" width=\"80px\" height=\"80px\"\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://liberapay.com/daiyam/donate\" target=\"_blank\"\u003eliberapay.com/daiyam/donate\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n    \u003ctr\u003e\n        \u003ctd\u003e\u003cimg src=\"https://raw.githubusercontent.com/daiyam/assets/master/icons/256/funding_paypal.png\" alt=\"PayPal\" width=\"80px\" height=\"80px\"\u003e\u003c/td\u003e\n        \u003ctd\u003e\u003ca href=\"https://paypal.me/daiyam99\" target=\"_blank\"\u003epaypal.me/daiyam99\u003c/a\u003e\u003c/td\u003e\n    \u003c/tr\u003e\n\u003c/table\u003e\n\n**Enjoy!**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzokugun%2Fvscode-vsix-manager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzokugun%2Fvscode-vsix-manager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzokugun%2Fvscode-vsix-manager/lists"}