30

I have installed both the versions of VS Code stable and insiders build on my machine.

But the problem is that insiders are not showing all the settings and extensions I am using in the stable version.

So, how to share all the stuff with the insiders build.

Yashu Mittal
  • 1,478
  • 3
  • 14
  • 32

5 Answers5

20

Try the Settings Sync extension, it should take care of both settings and extensions.

Alternatively, you may prefer to replace .vscode-insiders/extensions with a symbolic link to .vscode/extensions (mklink command on Windows). This is preferable especially if you are doing extension development and have extensions installed from source in your extensions directory (rather than from the marketplace).

Gama11
  • 31,714
  • 9
  • 78
  • 100
  • I have used symbolic links for the extensions, what about settings? – Yashu Mittal Jun 27 '18 at 08:05
  • 1
    You could either try to symlink `%AppData%\Code - Insiders\User` to `%AppData%\Code\User`, or use the Settings Sync extension for that. – Gama11 Jun 27 '18 at 09:01
  • Found it, I was looking in the %Users% directory. :) – Yashu Mittal Jun 29 '18 at 05:35
  • 5
    Here's what I did on macOS: `rm -d ~/.vscode-insiders/extensions; ln -s ~/.vscode/extensions ~/.vscode-insiders/extensions` BEWARE: When you do this, you will lose all extensions that were previously installed on the Insiders release. However, you will have all the extensions you had installed on the Stable release. – Sparragus Jun 13 '19 at 14:41
16

For MacOS you can do the following, which will symlink extensions, settings, and keybindings.

# defines a function that deletes $2 and links to $1, unless $2 is already a link.
rm_and_link(){ [ ! -L "$2" ] && rm -rf "$2" && ln -s $1 $2 ;}

# Links extensions
rm_and_link \
  ~/.vscode/extensions \
  ~/.vscode-insiders/extensions

# Links settings
rm_and_link \
  ~/Library/Application\ Support/Code/User/settings.json \
  ~/Library/Application\ Support/Code\ -\ Insiders/User/settings.json

# Links keybindings
rm_and_link \
  ~/Library/Application\ Support/Code/User/keybindings.json \
  ~/Library/Application\ Support/Code\ -\ Insiders/User/keybindings.json

Disclaimer: This solves the problem of keeping things in sync using filesystem links. That means that if a version of vscode insiders breaks the settings or extensions, then it could break it in the stable version too.

Note: Boldly stolen from Sparragus comment to the answer and extended.

Maximilian
  • 7,512
  • 3
  • 50
  • 63
Emil Ingerslev
  • 4,645
  • 2
  • 24
  • 18
  • Small correction (at least for Bash) -- add a semicolon just before the `}` for the definition of `rm_and_link`. – Noldorin Jan 22 '21 at 23:15
2

An alternative solution would be to edit the vs code insiders program shortcut and add the

--extensions-dir="DRIVELETTER:\VSCODE\extensions"

parameter after the program path.

For example I've changed it to:

"C:\Program Files\Microsoft VS Code Insiders\Code - Insiders.exe" --extensions-dir="C:\Users\mayprog\.vscode\extensions"

What it does:

According to the documentation (https://code.visualstudio.com/docs/editor/extension-gallery#_common-questions) this setting defines the location where extensions are kept

George Mavritsakis
  • 6,829
  • 2
  • 35
  • 42
  • Can you explain `--extensions-dir="DRIVELETTER:\VSCODE\extensions"` what it does? – Yashu Mittal Jun 27 '18 at 08:06
  • 2
    "Even better solution" - it depends. A problem with this approach is that it only works when you open VSCode via that shortcut. You couldn't simply run `code` on the command line anymore for instance (of course you can also define an alias an such there, but it starts getting more involved now...). – Gama11 Jun 28 '18 at 10:10
0

You don't need an extra extension for this. Hit ctrl shift p on linux and type sync. From there you can use a github login and replace local.

Micheal Bee
  • 550
  • 5
  • 11
  • That is actually an extension called Settings Sync, which gives you both the commands "Settings Sync: " and also "Sync: " on the command palette. – Kim Skogsmo Nov 01 '21 at 10:31
0

This is now provided as a feature in VS Code. By default, the VS Code Stable and Insiders builds use different Settings Sync services, and therefore do not share settings. You can sync your Insiders with Stable by selecting the Stable sync service while turning on Settings Sync. Check out the complete documentation at https://code.visualstudio.com/docs/editor/settings-sync#_syncing-stable-versus-insiders

Terence Golla
  • 1,018
  • 1
  • 13
  • 12