やりたいこと
Macを新しくした場合に前の設定やエクステンションを移植したい場合や、職場用と自宅用のMacで設定を共通化したい。
自分はいわゆるdotfilesをgithubで管理しているので、vscodeの設定も同様に管理できるようにした。
セットアップスクリプト
というわけで新しいマシンに前の環境を移植するスクリプトを作りました。
これで以下の設定をgithubで管理できる
- エディタの設定
- キーバインディング
- 自作スニペット
- インストール済みのエクステンション
# 設定を共有したいマシンで予めインストール済みのエクステンションを書き出しておく
# $code --list-extensions > extensions.txt
# vscodeがインストールされている場合のみ
if [ -e ~/Library/Application\ Support/Code/User ]; then
cd ~/Library/Application\ Support/Code/User
# 前の設定をバックアップ
mv settings.json settings.json.bak
mv keybindings.json keybindings.json.bak
mv snippets snippets.bak
# ~/dotfiles/vscode以下に他マシンと共有したい設定ファイルが置かれている想定
# 自分はこのdotfilesをgithubで管理している
#
# 元の設定ファイルの代わりにシンボリックリンクを置いておく
ln -is ~/dotfiles/vscode/settings.json
ln -is ~/dotfiles/vscode/keybindings.json
ln -is ~/dotfiles/vscode/snippets
# 他マシンで書き出されたエクステンション一覧を使ってインストール
for extension in `cat ~/dotfiles/vscode/extensions.txt`; do
code --install-extension $extension
done
fi
後は新しいマシンでvscodeインストール後に起動し、ctrl + shift + pでパレットを呼び出してShell Command: Install 'code' command in PATH
を実行。
code
コマンドがターミナルで使えるようになるので、上記のスクリプトを実行するだけ。
参考までに、自分はこのようにgithubで管理しています
https://github.com/Kesin11/dotfiles/tree/master/vscode