Visual studio code 有没有办法在实例之间同步我的Visual Studio代码设置?
我希望能够以某种方式将我的VS代码用户设置(文件>首选项>用户设置)同步到云,以便我可以轻松地在多个安装之间共享它们,就像在Windows 10和Visual Studio中一样 是否有一种受支持的方法来执行此操作?代码中的直接支持将非常好,但如果能够将my settings.json位置移动到Dropbox或OneDrive文件夹中也可以 我正在寻找一种自动、无声的方法。手动导出/导入太麻烦,不是我想要的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代码中当前没有可用的用户设置自
更新:这现在是一个。用户设置 Visual Studio代码中当前没有可用的用户设置自动同步。 在Windows上,用户设置位于
%APPDATA%\code\user\settings.json
中。您可以在OneDrive或Dropbox上保存该文件的副本,并将其在所有计算机上移动到用户设置文件夹。但这仍然包括每次更改配置时在每台机器上执行的手动步骤
您可以在此处建议自动同步设置:
工作区设置
将工作区的
.vscode
文件夹添加到版本控制系统(Git/SVN等)。当您从存储库签出代码时,您将自动获得VS代码工作区设置 我开发了一个扩展,可以跨多个实例同步所有Visual Studio代码设置
主要功能
- 设置文件
- 键绑定文件
- 启动文件
- 代码片段文件夹
- 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
另一种方法是软链接您的文件,这些文件也可以存储在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