Visual studio code 有没有办法在实例之间同步我的Visual Studio代码设置?

Visual studio code 有没有办法在实例之间同步我的Visual Studio代码设置?,visual-studio-code,settings,Visual Studio Code,Settings,我希望能够以某种方式将我的VS代码用户设置(文件>首选项>用户设置)同步到云,以便我可以轻松地在多个安装之间共享它们,就像在Windows 10和Visual Studio中一样 是否有一种受支持的方法来执行此操作?代码中的直接支持将非常好,但如果能够将my settings.json位置移动到Dropbox或OneDrive文件夹中也可以 我正在寻找一种自动、无声的方法。手动导出/导入太麻烦,不是我想要的 更新:这现在是一个。用户设置 Visual Studio代码中当前没有可用的用户设置自

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

是否有一种受支持的方法来执行此操作?代码中的直接支持将非常好,但如果能够将my settings.json位置移动到Dropbox或OneDrive文件夹中也可以

我正在寻找一种自动、无声的方法。手动导出/导入太麻烦,不是我想要的



更新:这现在是一个。

用户设置

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

您可以在此处建议自动同步设置:

工作区设置


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

我开发了一个扩展,可以跨多个实例同步所有Visual Studio代码设置

主要功能

  • 使用您的GitHub帐户令牌
  • 一次点击即可轻松上传和下载
  • 保存所有设置和代码段文件
  • 上传键:Shift+Alt+u
  • 下载键:Shift+Alt+d
  • 键入Sync以查看所有同步选项
  • It同步

    • 设置文件
    • 键绑定文件
    • 启动文件
    • 代码片段文件夹
    • VSCode扩展
    详细文档来源


    此处下载:

    您可以从包含用户设置的目录创建一个硬链接,链接到Dropbox或OneDrive等应用程序的同步目录

    例如,在windows上,用户设置位于
    %APPDATA%\code\user
    中,因此您可以键入:

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

    在您的计算机上用Visual Studio代码实现同步

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

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


    检索同步设置。

    我将我的
    settings.json
    放在一个配置文件中,与git同步(虽然Dropbox也可以工作),并使用Python脚本将其符号链接到每个平台的正确位置,以便从“设置”菜单中更新它时可以跨我的机器同步。创建符号链接需要Windows上的管理员权限

    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')
    

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

    Aha,您可以尝试我的VSCode扩展:

    希望你会喜欢。:)


    快速指南
  • 安装:

  • 获取您自己的
    GitHub个人访问令牌

  • 登录您的
    设置
    页面。

  • 选择
    个人访问令牌
    选项卡,然后单击
    生成新令牌

  • 选择
    gist
    并单击
    Generate token

  • 复制并备份您的令牌。

  • 同步您的设置:

    同步
    将第一次要求提供必要的信息
    保存以备以后使用

  • 上传

  • VSCode命令调色板中键入
    upload

  • 输入您的
    GitHub个人访问令牌

  • 输入您的
    要点ID
    (或
    留空以自动创建)

  • 完成了

  • 上传后,您可以在您的电脑中找到您的设置和相应的
    Gist ID

  • 下载

  • VSCode命令调色板中键入
    download

  • 输入您的
    GitHub个人访问令牌
    (或者
    如果您想从公共Gist下载,请将其留空

  • 输入您的
    要点ID
    (或
    公共要点ID

  • 完成了


  • 我在Mac上这样做是通过将VS Code的设置.json复制到我的iCloud驱动器进行自动备份,然后创建一个符号链接

  • settings.json
    $HOME/Library/Application Support/code/User/settings.json
    复制到备份位置
  • 通过重命名为
    settings old.json来备份旧的
    settings.json
  • 在终端中,
    cd
    到VS-code设置目录:
    cd~/Library/Application\Support/code/User/
  • 使用命令
    ln-sf path/to/backup/settings.json settings.json
    创建备份文件的符号链接。由于我将我的备份到iCloud并将文件重命名为
    vscode.settings.json
    ,因此我的命令如下:
    ln-sf~/Library/Mobile\Documents/com~apple~CloudDocs/vscode.settings.json settings.json
  • 检查是否可以在VS代码中打开用户首选项
  • 要在不同的Mac上使用备份,只需重复步骤2-5即可

    我也是为了


    另一种方法是软链接您的文件,这些文件也可以存储在GitHub上的存储库中。例如,在Mac OS上,假设您有一个名为
    ~/dev/dotfiles/vscode的目录cd ~/.vscode/
    mkdir ~/Library/Mobile\ Documents/com~apple~CloudDocs/vscode/
    cp -a extensions ~/Library/Mobile\ Documents/com~apple~CloudDocs/vscode
    mv extensions extensions-old
    ln -sf ~/Library/Mobile\ Documents/com~apple~CloudDocs/vscode/extensions extensions
    
    ln -s ~/dev/dotfiles/vscode/keybindings.json ~/Library/Application\ Support/Code/User/keybindings.json
    ln -s ~/dev/dotfiles/vscode/settings.json ~/Library/Application\ Support/Code/User/settings.json