有什么办法来同步我的Visual Studio代码设置实例之间?

我希望能够以某种方式将我的VS Code用户设置(“文件”>“首选项”>“用户设置”)同步到云中,以便在多个安装中轻松地共享它们,如在Windows 10和Visual Studio中一样。

有没有这样做的支持方式? 直接支持代码将是伟大的,但否则能够将我的settings.json位置移动到Dropbox或OneDrive文件夹也将工作。


更新:这里有一个function请求 。 如果你想要这个function,请给它竖起大拇指。

我已经开发了一个扩展,将跨多个实例同步您的所有Visual Studio代码设置。

主要特征

  1. 使用您的github帐户令牌。
  2. 易于上传和下载一次点击。
  3. 保存所有设置和片段文件。
  4. 上传密钥:Shift + Alt + u
  5. 下载密钥:Shift + Alt + d
  6. 键入同步为了查看所有同步选项

它同步

  1. 设置文件
  2. 键入文件
  3. 启动文件
  4. 片段文件夹
  5. VSCode 扩展

详细资料来源

VSCode Sync自述文件

在这里下载: VS代码设置同步

您可以build立从包含用户设置的目录到Dropbox或OneDrive等应用程序的同步目录的硬链接。

例如,在Windows上,用户设置位于%APPDATA%\Code\User ,因此您可以键入:

mklink /H /JX:\Your\Sync\Dir %APPDATA%\Code\User

在你的电脑上用Visual Studio Code实现同步。

然后,在另一台计算机上,您可以删除%APPDATA%\Code\User文件夹,然后键入:

mklink /H /J %APPDATA%\Code\User X:\Your\Sync\Dir

检索同步的设置。

用户设置

Visual Studio代码中的用户设置目前没有自动同步。 在Windows上,用户设置位于%APPDATA%\Code\User\settings.json 。 您可以将该文件的副本保存在OneDrive或Dropbox上,并将其移到所有机器上的用户设置文件夹中。 但是,每次更改configuration时,这仍然包括每台机器上的手动步骤。

您可以在这里build议自动同步设置: https : //visualstudio.uservoice.com/forums/293070-visual-studio-code

工作区设置

将工作区的.vscode文件夹添加到版本控制系统(Git / SVN等)。 当您从存储库检出代码时,您将自动获得VS Code工作区设置。

我将我的settings.json放置在一个configuration文件中,与git同步(尽pipeDropbox也可以),并使用Python脚本将它们符号链接到每个平台的正确位置,以便从设置菜单中将其更新为跨我的机器同步。 创build符号链接需要Windows上的pipe理员权限。

 import os import platform # Find the settings file in the same directory as this script SCRIPT_DIR = os.path.dirname(os.path.realpath(__file__)) VS_SETTINGS_SRC_PATH = os.path.join(SCRIPT_DIR, 'settings.json') # https://code.visualstudio.com/docs/getstarted/settings#_settings-file-locations if platform.system() == 'Windows': VS_SETTINGS_DST_PATH = os.path.expandvars(r"%APPDATA%\Code\User\settings.json") elif platform.system() == "Darwin": VS_SETTINGS_DST_PATH = os.path.expandvars(r"$HOME/Library/Application Support/Code/User/settings.json") elif platform.system() == "Linux": raise NotImplementedError() else: raise NotImplementedError() # On Windows, there might be a symlink pointing to a different file # Always remove symlinks if os.path.islink(VS_SETTINGS_DST_PATH): os.remove(VS_SETTINGS_DST_PATH) choice = input('symlink %r -> %r ? (y/n) ' % (VS_SETTINGS_SRC_PATH, VS_SETTINGS_DST_PATH)) if choice == 'y': os.symlink(VS_SETTINGS_SRC_PATH, VS_SETTINGS_DST_PATH) print('Done') else: print('aborted') 

啊哈,你可以试试我的VSCode扩展: 同步 。

希望你会喜欢它。 🙂


快速指南

  1. 安装同步 :

  2. 获取您自己的GitHub Personal Access Token

    1. login到你的GitHub Settings页面。

      登录设置页面

    2. selectPersonal access tokens选项卡,然后单击Generate new token

      生成新的令牌

    3. selectgist ,然后点击Generate token

      允许主旨

    4. 复制并备份您的令牌。

      复制和备份令牌

  3. 同步您的设置:

    Syncingfor the first time询问必要的信息并save for later use

    1. 上传

      1. VSCode Command Palette键入upload

      2. input您的GitHub Personal Access Token

      3. input您的Gist ID (或leave it blank以自动创build)。

      4. 完成!

      5. 上传后,您可以在GitHub Gist中find您的设置和相应的Gist ID

        设置和要点

    2. 下载

      1. VSCode Command Palette键入download

      2. input您的GitHub Personal Access Token (如果您想从公共要点下载, leave it blank

      3. input您的Gist ID (或public Gist ID )。

      4. 完成!

使用工作区设置而不是用户设置。