我希望能够以某种方式将我的VS Code用户设置(文件>偏好设置>用户设置)同步到云端,以便我可以在多个安装之间轻松共享它们,如在Windows 10和Visual Studio中
是否有支持这种方式? Code中的直接支持会很棒,但是否则可以将我的settings.json位置移动到Dropbox或OneDrive文件夹也可以。
我正在寻找一种自动而无声地执行此操作的方法。手动导出/导入过于繁琐,并不是我所寻找的。 p>
更新:feature request for this here。如果你想要这个功能,请竖起大拇指。
答案 0 :(得分:108)
我开发了一个扩展程序,可以跨多个实例同步所有Visual Studio代码设置。
主要功能
同步
详细文档来源
在此处下载:VS Code Settings Sync
答案 1 :(得分:16)
您可以从包含用户设置的目录到Dropbox或OneDrive等应用程序的同步目录建立硬链接。
例如,在Windows上,用户设置位于%APPDATA%\Code\User
,因此您可以输入:
mklink /H /J X:\Your\Sync\Dir %APPDATA%\Code\User
在您的计算机上使用Visual Studio Code实现同步。
然后,在另一台计算机上,您可以删除%APPDATA%\Code\User
文件夹,然后键入:
mklink /H /J %APPDATA%\Code\User X:\Your\Sync\Dir
检索同步设置。
答案 2 :(得分:11)
在v1.48中:
预览功能
预览功能尚未发布,但功能足够 使用。我们欢迎您在下线期间提早提供反馈 开发。
设置同步
设置同步现在可以在稳定版本?中进行预览。 请参阅user guide 有关更多信息和常见问题解答。
产品中也将功能称为设置同步。所有的 其参考和设置已重命名为对齐。
另请参阅“手动合并”以及https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_48.md#settings-sync内幕和稳定之间的同步
在v1.45中,您似乎可以通过github登录到内置设置同步,请参见https://github.com/microsoft/vscode/issues/95160#event-3266867554(在设置同步中支持GitHub登录)。还有v1.45 Release Notes。
在v1.43中,作为预览功能(因此仅在Insiders's Build中)是 设置同步 。参见https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_43.md#settings-sync
设置同步
最近几个月我们一直在努力支持跨计算机同步VS Code设置,扩展名和键盘快捷键(流行功能请求#2743)。在这个里程碑中,我们很高兴地宣布,此功能已准备好在我们的下一个1.44.0-insider版本中进行预览。现在,您可以在所有计算机上的所有VS Code安装中同步自定义设置。您还可以轻松地在新机器上使用个人自定义引导VS Code。以下视频演示了这一点:
支持同时检测设置和键绑定中的冲突 正在同步。使用差异编辑器显示冲突,并显示 (云)在左侧更改,在本地更改在右侧。 您可以通过在右侧编辑器中进行编辑来解决冲突,然后 使用编辑器中提供的操作合并更改。
支持的功能
当前设置,键盘快捷键,扩展名和显示 语言是同步的,但我们计划添加更多语言。您可以 查看我们建议的Setting Sync features列表。
机器设置(具有计算机或计算机可覆盖的范围)不是 默认情况下已同步。您还可以添加或删除所需的设置 从设置编辑器或使用设置进入此列表
sync.ignoredSettings
。默认情况下,每个平台都会同步键盘快捷方式。如果你的 键盘快捷键与平台无关,那么您可以同步 通过禁用设置跨平台
sync.keybindingsPerPlatform
。所有内置和安装的扩展程序与 他们的全球支持状态。您可以跳过同步 扩展程序,从扩展程序视图或使用设置
可以在日志(同步)输出中监控sync.ignoredExtensions
。“设置同步”活动 视图。备份所有本地自定义项至少30天(至少 10)在磁盘上在同步过程中进行任何更改。您 可以使用命令同步:打开本地备份文件夹转到 备份位置并保留您的旧自定义设置。
(以及发行说明链接中的一些gif)
请注意,该操作通过您的Microsoft帐户有效,而不是github(直到v1.45-参见顶部):
“设置同步”使用Microsoft帐户存储您的VS Code定制以进行同步,因此您将需要一个 帐户来使用它。有关更多信息,请参考Settings Sync documentation 信息和帮助。
有关如何设置settings sync
的更多信息,请参见https://github.com/microsoft/vscode-docs/blob/vnext/docs/editor/settings-sync.md。
以及指向设置同步v1.44信息的链接:https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_44.md#settings-sync
答案 3 :(得分:10)
啊哈,您可以尝试我的VSCode扩展程序:Syncing。
希望你会喜欢它。 :)
安装Syncing:
获取您自己的GitHub Personal Access Token
:
登录您的GitHub Settings
页。
选择Personal access tokens
标签,然后点击Generate new token
。
选择gist
并点击Generate token
。
复制并备份您的令牌。
同步您的设置:
Syncing
会要求提供必要的信息for the first time
和save for later use
。
上传强>:
在upload
中输入VSCode Command Palette
。
输入您的GitHub Personal Access Token
。
输入您的Gist ID
(或leave it blank
自动创建)。
完成!
上传后,您可以在GitHub Gist中找到自己的设置和相应的Gist ID
。
下载强>:
在download
中输入VSCode Command Palette
。
输入您的GitHub Personal Access Token
(或leave it blank
,如果您想从公共要点下载)
输入您的Gist ID
(或public Gist ID
)。
完成!
答案 4 :(得分:4)
我在Mac上通过将VS Code的settings.json
复制到我的iCloud驱动器进行自动备份,然后创建符号链接来完成此操作。
settings.json
从VS code settings directory $HOME/Library/Application Support/Code/User/settings.json
复制到您的备份位置settings.json
settings-old.json
cd
到VS代码设置目录: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
要在其他Mac上使用备份,请重复步骤2-5。
我也为extensions ...
做了这个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
答案 5 :(得分:3)
用户设置
目前,Visual Studio Code中没有可用的自动同步用户设置。
在Windows上,用户设置位于%APPDATA%\Code\User\settings.json
。您可以在OneDrive或Dropbox上保存该文件的副本,并将其在所有计算机上移动到用户设置文件夹。但是每次更改配置时,这仍然包括每台机器上的手动步骤。
您可以在此处建议自动同步设置:https://visualstudio.uservoice.com/forums/293070-visual-studio-code
工作区设置
将工作区的.vscode
文件夹添加到版本控制系统(Git / SVN等)。当您从存储库中签出代码时,您将自动获得VS Code工作区设置。
答案 6 :(得分:3)
我将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')
答案 7 :(得分:3)
这最终是一个内置功能:请参见Settings Sync in Visual Studio Code。
答案 8 :(得分:2)
另一种方法是软链接文件,也可以存储在GitHub上的存储库中。例如,在Mac OS上,假设您有一个名为~/dev/dotfiles/vscode
的目录。假设有两个名为settings.json
和keybindings.json
的文件。您可以使用以下方法软链接这些文件:
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
如果您使用的是Windows或Linux,可以在https://code.visualstudio.com/docs/getstarted/settings#_settings-file-locations找到相应设置目录的路径
答案 9 :(得分:-4)
使用工作区设置而不是用户设置。