VS CodeをGitHubとスクリプト使って半自動で楽々セットアップ

vscode

VimからVS Codeから乗り換えつつある日々

 デバッグがVS Codeで便利にできることが分かってから、エディタはVS Codeがすっかりお気に入りになりVimから完全に乗り換えつつある今日この頃です。

 ただ、乗り換える時大変なのが、環境設定ですね。1台のPCならなんてこと無いのですが、プライベートや仕事の闇のエンジニアとしての諸事情により、ゆうに10台を超えるマシンの環境設定をする必要があるのです。しかも、OSはMac、Linux、Windowsと多岐に渡ります。なんてこったい…

 Vimでは、以下の様にGitHubで設定ファイル(.vimrc)を管理していたので、VS Codeでも同じことを実現してみることにしました。

 というわけで、今回はVS Codeを使っていて、GitHubをある程度知っている、GitHubアカウントを持っている人が対象の記事になります。GtiHubに関して詳しく知りたい人は、以下記事参照下さい。

 ちなみに、VS Codeには「Setting Sync」という設定ファイルを同期してくれる便利な拡張機能があるのですが、今回はそちらを使わないで同期する、少々原始的な方法となります。何故「Setting Sync」を使わないかは聞かないで下さい。止むに止まれぬ事情です(宗教上の理由とでも思っておいて下さい)。

VS Codeをスクリプトでセットアップする方法

 最初に、通常のVS Code自体のインストールと拡張機能のインストールに関しては以下記事参照下さい。

 VS Codeの設定に関しては「setting.json」というファイルに、基本的な設定から、拡張機能の設定まで書かれています。Vimでいうところの.vimrcですね。

 拡張機能のインストールから、設定まで全てGUIで簡単にできるのがVS Codeの良いところなのですが、1台1台設定するのは大変なので、これらをスクリプトで自動化します。拡張機能のコマンドでのインストールは以下記事を参照しました。

【Visual Studio Code】v1.12.1 設定のためのSettings.jsonファイルについて - Qiita

 また「setting.json」は、テキストファイルなので基本的にコピーすればOKです。ただし、OSによって場所が異なるのが注意点ですね。

 GitHubでこれらのスクリプトを置いたリポジトリを用意します。私の場合は以下です。

 あとは、READMEにも書いてある通りですが、簡単にMac, Linux, Windowsそれぞれに関してセットアップの方法を説明します。なお、MacはMac OS X、Linuxは Ubuntu 16.04、WindowsはWindows 10を想定しています。

Mac/Linuxでのセットアップ

 Mac/Linuxは、「setting.json」の置き場所が異なるだけで、基本的にはほぼ同じ方法でセットアップできます。拡張機能のインストールは、以下コマンド実行すればOKです。GitHub上のスクリプトを実行し、拡張機能がインストールされます。

$ curl -s https://raw.githubusercontent.com/karaage0703/vscode-dotfiles/master/install-vscode-extensions.sh | /bin/bash

 settting.jsonに関しては、Macの場合は以下の通りシンボリンクを貼っておきます。

$ cd
$ git clone https://github.com/karaage0703/vscode-dotfiles
$ ln -sf ~/vscode-dotfiles/settings.json ~/Library/Application\ Support/Code/User/settings.json

 Linuxの場合は、3行目を以下の通り変更して下さい。

$ ln -sf ~/vscode-dotfiles/settings.json ~/.config/Code/User/settings.json

 アップデートする場合は、GitHubのリポジトリを更新した後、それぞれのマシンで以下コマンド実行すればOKですね。

$ cd ~/vscode-dotfiles
$ git pull
$ curl -s https://raw.githubusercontent.com/karaage0703/vscode-dotfiles/master/install-vscode-extensions.sh | /bin/bash

Windows

 Windowsの場合は、以下の通りWindows Subsystem for Linuxをインストールします。

 あとは、Mac/Linux同様、以下コマンドで拡張機能をインストールします。

$ curl -s https://raw.githubusercontent.com/karaage0703/vscode-dotfiles/master/install-vscode-extensions.sh | /bin/bash

 また、Windowsでは、シンボリックリンクがうまく機能しなかったので、仕方なく以下のようにコピーしました。

$ cd
$ git clone https://github.com/karaage0703/vscode-dotfiles
$ cp ~/vscode-dotfiles/settings.json /mnt/c/Users/karaage/AppData/Roaming/Code/User/settings.json

 したがって、アップデートする場合は、GitHubのリポジトリを更新した後、それぞれのマシンで以下コマンドを実行することになります。

$ cd ~/vscode-dotfiles
$ git pull
$ curl -s https://raw.githubusercontent.com/karaage0703/vscode-dotfiles/master/install-vscode-extensions.sh | /bin/bash
$ cp ~/vscode-dotfiles/settings.json /mnt/c/Users/karaage/AppData/Roaming/Code/User/settings.json

まとめ

 VS Codeを自動でセットアップする方法に関してまとめてみました。結構煩雑な上、OSによっても操作が異なりいまいちなので、基本的には「Setting Sync」の拡張機能を使った方が簡単でスマートだと思いますので、特に拘りや私のように止むを得ない事情なければ、そちらが良いかと思います。

 ただ、仕組み的には同じようなことをしているだけですので、このような少し原始的な方法も知っておくと、何かと応用がきくこともあるのではないかなと思ったりします。もっと良い方法があったりしましたら、是非GitHubのリポジトリの方にPull Request下さいね。

関連記事