VSCode Version 1.44.0 Insiders Preview版より、設定ファイルの同期がVSCode公式機能として搭載されました。これまでは複数環境で設定ファイルを同期するには、設定ファイルを独自にGit管理したり専用の拡張機能を使う必要がありましたが、それらが必要無くなります。
環境
- VSCode Insider Preview Version 1.46.0-insider
- Windows版およびLinux版(ChromeOS)で動作確認
v1.46現在では、設定同期を利用するには下記からInsider Preview版 のVSCodeを利用する必要があります。
Download Visual Studio Code Insiders
VSCodeのInsiders buildは、緑色のアイコンが目印です。青色アイコンの安定バージョンVSCodeとは共存できますので、普段は安定版を使っていても特に問題はありません。
また、利用規約も安定バージョンのVSCodeと同様に通常の開発目的に利用することができます。「評価目的の利用に限る」ような事はありません。
設定同期方法
Windowsであれば非常に簡単です。画面左下の歯車マークから「Turn on Preferences Sync...(設定同期をオンにする)」を選択するか、コマンドパレット(Ctrl+Shift+P)から>Turn on Preferences Sync
を入力します。
同期する設定を選択した後、MicrosoftアカウントまたはGitHubアカウントでログインすると、設定の同期が開始します。
コマンドパレットから>Preferences: Open Settings (JSON)
で設定画面を開き、適当な設定を入れてみます。たとえば、下記のように文字を大きくする設定を入れてみたりすると分かりやすいでしょう。
{
"editor.fontSize": 20
}
他の環境のVSCodeで上記と同様に設定同期を有効にすると、ローカルにある既存の設定を置き換えるか、マージするかを問われます。好きな方を選択すると、さきほど元の環境で設定したsettings.json
の内容が、あたらしい環境にも反映されます。
ChromeOS上Linux版での注意点
ChromeOS上のLinux(Chrostini)版VSCodeでは、GitHubアカウントでログインしたときにChromeブラウザ上の認証トークンをVSCodeで受け取ることができず、VSCodeでログインできませんでした。「Google Chrome OSではこのページを開けません」といったエラーが表示されてしまいます。
この場合は、GitHubの画面に表示されるトークンを画面上の指示に従ってVSCode上に入力するか、Firefox等の「Linux上にインストールしたブラウザ」にURLを入力することでうまく行きます。
また、設定同期を有効にした後、Writing login information to the keychain failed with error 'The name org.freedesktop.secrets was not provided by any .service files'.
というエラーが発生することがあります。この時は、公式ドキュメントに貼られているGitHubのIssueを参考に、~/.xinitrc
というファイルを作成します(必須かどうか不詳)
eval $(/usr/bin/gnome-keyring-daemon --start --components=pkcs11,secrets,ssh)
export SSH_AUTH_SOCK
source /etc/X11/xinit/xinitrc.d/50-systemd-user.sh
その後、$ sudo apt install seahorse
でseahorseをインストールしたあと起動して「File」→「New」→「Password Keyring」からKeyringを構成します。ふたたび設定同期を有効にしてGitHubアカウントでログインすることでうまくいきます。
なおLinux版ではMicrosoftアカウントを使っての認証は、v1.46.0現在うまくいきませんでした。下記Issueのようにlocalhostへリダイレクトされようとしてしまいます。
Settings Sync unable login to MS account · Issue #95306 · microsoft/vscode