メンチカツには醤油でしょ!!

AWS/Java/Node.js/Spreadsheets/Docker/Jenkins/コミュニティ・勉強会レポを主とした技術系ブログ

Visual Studio Codeで設定(ユーザー設定・キーボードショートカット)をDropboxで管理・共有する

Visual Studio Code(VS Code)設定の保存形式はJSONファイル

ユーザー設定とワークスペース設定があり、同じ設定項目があればワークスペース設定に記述されている設定内容が優先されます。

ユーザー設定はインストール時にデフォルトで存在し
ワークスペース設定はワークスペースを開いた状態で設定を変更すると、ワークスペースルートに.vscodeディレクトリが作られsettings.jsonファイルが生成/更新されます。その後の変更もここに反映されます。

なお、ユーザー設定はCommand + ,でデフォルト設定との比較ビューでコメント付きのJSONファイルが表示されるので変更する際に対比できるので便利です。

キーボードショートカットの設定として、keybindings.jsonもありますがこちらも同じ要領です。

ユーザー設定を複数環境で共有するためにDropboxを利用

当初 設定を複数マシンで共有するために、ワークスペースルート自体をDropbox配下のディレクトリに指定して開いていたのですが、ワークスペース設定の共有だと 同一マシンでさえ他のワークスペースを開いた際に設定が適用されず不便でした。

そもそもユーザー設定を共有すべきでしたね。

VS Codeの設定ファイルは~/Library/Application Support/Code/Userディレクトリ配下にあるので、ここのsettings.jsonkeybindings.jsonDropbox配下のファイルへsymlinkを貼ります。

~$ cd ~/Library/Application Support/Code/User

~/Library/Application Support/Code/User $ rm settings.json

~/Library/Application Support/Code/User $ ln -s /Users/my-account-name/Dropbox/VS\ Code Settings/.vscode/settings.json ./settings.json

~/Library/Application Support/Code/User $ rm keybindings.json

~/Library/Application Support/Code/User $ ln -s /Users/my-account-name/Dropbox/VS\ code/.vscode/keybindings.json ./keybindings.json

Windowsなら

> mklink "C:¥Users¥my-account-name¥AppData¥Roaming¥Code¥User¥settings.json" "C:¥Dropbox¥VS code¥.vscode¥settings.json"

C:\Users\my-account-name\AppData\Roaming\Code\User\settings.json <<===>> C:\Dropbox\VS code\.vscode\settings.json のシンボリック リンクが作成されました。

> mklink "C:¥Users¥my-account-name¥AppData¥Roaming¥Code¥User¥keybindings.json" "C:¥Dropbox¥VS code¥.vscode¥keybindings.json"

C:\Users\my-account-name\AppData\Roaming\Code\User\keybindings.json <<===>> C:\Dropbox\VS code\.vscode\keybindings.json のシンボリック リンクが作成されました。

ですね。

追記:今は拡張機能でできます

marketplace.visualstudio.com