benjaminchanming
benjaminchanming

Reputation: 628

How to install vscode extension that is being developped locally from an unpacked directory

I am developping a VSCode extension that I want to try it out in the current VSCode instance, not in a new instance.

Is there a way to install the vscode extension that is developping locally from an unpacked directory, not from a .vsix file.

In Atom editor, I can use atom link to do that. Is there something similar in VSCode?

Upvotes: 12

Views: 3771

Answers (1)

Marco Klein
Marco Klein

Reputation: 311

You can install the extension locally with code --install-extension and install a locally packaged extension. I am doing this with esbuild and yarn:

package.json

  "scripts": {
    "vscode:prepublish": "yarn run build:base --minify",
    "build:base": "esbuild ./src/extension.ts --bundle --outfile=out/extension.js --external:vscode --format=cjs --platform=node",
    "build": "yarn build:base --sourcemap",
    "package": "mkdirp dist && vsce package -o dist/noteberry.vsix --yarn",
    "deploy:local": "yarn package && code --install-extension dist/ext.vsix --force"
    ...
  },

mkdirp is an npm module to create folders.

Original Post

One easy solution without packaging as described in https://vscode-docs.readthedocs.io/en/stable/extensions/install-extension/ would be:

VS Code looks for extensions under your extensions folder .vscode/extensions. Depending on your platform it is located:

Windows %USERPROFILE%\.vscode\extensions
Mac $HOME/.vscode/extensions
Linux $HOME/.vscode/extensions

If you want to load your extension or customization each time VS Code runs, copy your project to a new folder under .vscode/extensions.

You could write a script to delete / copy over all files.

Upvotes: 7

Related Questions