[英]Is there any way to sync my Visual Studio Code settings between instances?
我開發了一個擴展,可以跨多個實例同步所有 Visual Studio Code 設置。
主要特點
它同步
詳細文檔來源
在此處下載: VS Code - 設置同步 - 擴展
您可以從包含用戶設置的目錄到您的應用程序(例如 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
以檢索同步設置。
啊哈,你可以試試我的 VSCode 擴展: 同步。
希望你會喜歡。 :)
安裝同步:
獲取您自己的GitHub Personal Access Token
:
登錄到您的GitHub Settings
頁面。
選擇Personal access tokens
選項卡,然后單擊Generate new token
。
選擇gist
並單擊Generate token
。
復制並備份您的令牌。
同步您的設置:
Syncing
將for the first time
詢問必要的信息並save for later use
。
上傳:
在VSCode Command Palette
中VSCode Command Palette
upload
。
輸入您的GitHub Personal Access Token
。
輸入您的Gist ID
(或leave it blank
以自動創建)。
完畢!
上傳后,您可以在您的GitHub Gist 中找到您的設置和相應的Gist ID
。
下載:
在VSCode Command Palette
中VSCode Command Palette
download
。
輸入您的GitHub Personal Access Token
(如果您想從公共 Gist 下載,則將leave it blank
)
輸入您的Gist ID
(或public Gist ID
)。
完畢!
在 v1.48 中:
預覽功能
預覽功能尚未准備好發布,但功能足以使用。 我們歡迎您在開發過程中盡早提供反饋。
設置同步
設置同步現在可以在穩定版本中預覽 🎉。 有關更多信息和常見問題解答,請參閱用戶指南。
該功能現在在產品中也稱為設置同步。 它的所有參考和設置都被重命名為對齊。
另請參閱https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_48.md#settings-sync 上的“手動合並”和 Insiders 和 Stable 之間的同步
在 v1.45 中,您似乎可以通過 github 登錄到內置設置同步,請參閱https://github.com/microsoft/vscode/issues/95160#event-3266867554 (在設置同步中支持 GitHub 登錄)。 和v1.45 發行說明。
在 v1.43 中作為預覽功能(因此僅在 Insiders' Build 中)是settings sync 。 請參閱https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_43.md#settings-sync
設置同步
過去幾個月我們一直在努力支持跨機器同步 VS Code 設置、擴展和鍵盤快捷鍵(流行功能請求#2743 )。 在這個里程碑中,我們很高興地宣布此功能已准備好從我們的下一個1.44.0 內部版本中預覽。 您現在可以在所有機器上的所有 VS Code 安裝中同步您的自定義。 您還可以輕松地在新機器上使用您的個人定制引導 VS Code。 以下視頻演示了這一點:
支持在同步時檢測設置和鍵綁定中的沖突。 使用差異編輯器顯示沖突,左側是傳入(雲)更改,右側是本地更改。 您可以通過在右側編輯器中進行編輯來解決沖突,並使用編輯器中提供的操作合並更改。
支持的功能
目前設置、鍵盤快捷鍵、擴展和顯示語言是同步的,但我們計划添加更多。 您可以查看我們建議的設置同步功能列表。
默認情況下,機器設置(具有機器或機器可覆蓋范圍)不同步。 您還可以從設置編輯器或使用設置
sync.ignoredSettings
在此列表中添加或刪除您想要的設置。默認情況下,鍵盤快捷鍵按平台同步。 如果您的鍵盤快捷鍵與平台無關,那么您可以通過禁用設置
sync.keybindingsPerPlatform
跨平台同步它們。所有內置和安裝的擴展與其全局啟用狀態同步。 您可以從擴展視圖或使用設置
sync.ignoredExtensions
跳過同步擴展。設置 同步活動可以在日志(同步)輸出視圖中進行監控。 同步期間更改時,所有本地自定義項都會在磁盤中備份最近 30 天(至少 10 天)。 您可以使用命令同步:打開本地備份文件夾轉到備份位置並保留舊的自定義設置。
(以及發行說明鏈接中的一些 gif)
請注意,這是通過您的 Microsoft 帳戶,而不是 github(直到 v1.45 - 見頂部):
Settings Sync 使用 Microsoft 帳戶來存儲用於同步的 VS Code 自定義,因此您需要一個帳戶才能使用它。 有關更多信息和幫助,請參閱設置同步文檔。
另請參閱https://github.com/microsoft/vscode-docs/blob/vnext/docs/editor/settings-sync.md有關如何設置settings sync
。
以及關於設置同步的 v1.44 信息的鏈接: https : //github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_44.md#settings-sync
我通過將 VS Code 的settings.json
復制到我的 iCloud 驅動器進行自動備份,然后創建一個符號鏈接,在我的 Mac 上做到了這一點。
settings.json
從VS 代碼設置目錄$HOME/Library/Application Support/Code/User/settings.json
復制到您的備份位置settings-old.json
來備份舊的settings.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。
我也為擴展做了這個......
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
另一種方法是軟鏈接您的文件,這些文件也可以存儲在 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找到相應設置目錄的路徑
我將我的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')
用戶設置
目前沒有針對 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 工作區設置。
這最終是一個內置功能:請參閱Visual Studio Code 中的設置同步。
使用工作區設置而不是用戶設置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.