With VSIX Manager, you can manage your extensions from your settings and install them from several places, including specified marketplaces or GitHub releases.
In your settings:
{
"vsix.sources": {
"opn": {
"type": "marketplace",
"serviceUrl": "https://open-vsx.org/vscode/gallery",
},
},
"vsix.groups": {
"node": [
<...extensions>
],
"python": [
<...extensions>
],
},
"vsix.extensions": [
"opn:zokugun.automatic-editor-sorter",
"opn:zokugun.explicit-folding",
"node",
],
"vsix.crons": {
"update": "0 12 * * *"
},
}
With vsix.groups
, you can manage your extensions by sets.
vsix.extensions
and each group of vsix.groups
are a list of expression
expression = ["-"] *identifier* ("||" *identifier*)*
identifier = *groupName* | *extensionID* | *sourceName*:*extensionID*
extensionID
: id of an extension found in VSCode, VSCodium, ... (same as<publisherName>.<extensionName>
)groupName
: name of a group defined invsix.groups
sourceName
: name of a source defined invsix.sources
"vsix.extensions": [
"opn:zokugun.explicit-folding",
"-vsx:devXalt.extYalt||ms:devX.extY"
],
"vsix.extensions": [
"-vsx:devXalt.extYalt||ms:devX.extY"
],
// is equivalent to
"vsix.extensions": [
{
"id": [
"vsx:devXalt.extYalt",
"ms:devX.extY",
],
"enabled": false,
},
],
If an expression is prefixed by -
or "enabled": false
, then the extension or the group of extension will be installed in a disable state.
If 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.
Within vsix.sources
, you can define where to find the extensions.
"vsix.sources": {
"opn": {
"type": "marketplace",
"serviceUrl": "https://open-vsx.org/vscode/gallery",
},
},
"vsix.sources": {
"mfs": {
"type": "file",
"path": "~/my-extensions",
},
},
The latest version will be searched in:
~/my-extensions
~/my-extensions/<publisherName>
~/my-extensions/<publisherName>.<extensionName>
github
is a built-in source (no configuration required) and will install extensions from the GitHub release pages.
{
"vsix.extensions": [
"github:<username>/<project>",
],
}
You can use the fallback
property to use another source when the extension isn't found in the first source.
"vsix.sources": {
"mfs": {
"type": "file",
"path": "~/my-extensions",
"fallback": "opn",
},
"opn": {
"type": "marketplace",
"serviceUrl": "https://open-vsx.org/vscode/gallery",
},
},
You can use the throttle
property to limit the number of requests to a source.
"vsix.sources": {
"opn": {
"type": "marketplace",
"serviceUrl": "https://open-vsx.org/vscode/gallery",
"throttle": 5000,
},
},
> VSIX Manager: Install extensions
: install the extensions> VSIX Manager: Uninstall extensions
: uninstall the extensions> VSIX Manager: Update extensions
: update the extensions
vsix.crons
allows you to schedule the update
command.
"vsix.crons": {
"update": "0 12 * * *" // at 12PM, every day
}
If 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
).
Support this project by becoming a financial contributor.
ko-fi.com/daiyam | |
liberapay.com/daiyam/donate | |
paypal.me/daiyam99 |
Enjoy!