Visual Studio Code(以下VSCode)はMicrosoftが開発しているソースコードエディタです。Extension(拡張機能)を追加することで様々なプログラミング言語に対応可能であり、合わせて使いやすさも向上させることも出来ます。本記事ではそんなVSCodeのExtensionをシェルとGitを用いて管理すると便利になったお話を取り上げます。
背景
VSCodeのExtensionはVSCodeを起動し、拡張機能からインストール可能です。しかし、PCを複数台所有している場合や買い替え時に手作業で入れ直すのは大変煩雑であり、また漏れも発生します。色々調べてみた所、Extensionのインストールはコマンドでもインストール可能なことが分かりました。そのコマンドは以下です。
code --install-extension EXTENSION_NAME
シェルファイル化で自動化する
上記のコマンドを記載したシェルファイルを作成し、Gitで管理すればPCの買い換えやリカバリー時にも早急に開発環境を復旧出来ます。Exstensionは自分のインストールしたい物を記載して下さい。その時に記載する名前は以下の図の赤丸部分に倣って記載して下さい。以下の図は拡張機能でPythonのExtension(MS社製)を検索した時の画面のスクリーンショットです。

# !/bin/bash
# Python用拡張機能
code --install-extension ms-python.python
code --install-extension tht13.python
code --install-extension kevinglasson.cornflakes-linter
Windowsへの対応
会社の開発環境はWSL @ Windows10です。WSL上でVSCodeは実行出来ますが、使い心地がいまいちである為、Windows上にVSCodeをインストールしています。Windowsの場合、シェルの実行にはbatファイルを用いるのが一般的ですが、文法がbashとは異なり、筆者はどうしても肌に合いません。そこでbatファイルも自動生成することにします。
# !/bin/bash
rm -f install_extensions.bat
# ユニコード対応化
echo "chcp 65001 && ^" > install_extensions.bat
# コメント部分, 空白行を除く, batの複数コマンド記述対応化
cat install_extensions.sh | grep -v '^#' | sed '/^$/d' | sed -e "s/\$/ \&\& \^/" >> install_extensions.bat
# Remote WSLを追加
echo "code --install-extension ms-vscode-remote.remote-wsl & ^" >> install_extensions.bat
echo "echo Finished! & ^" >> install_extensions.bat
# コマンドが終了しても画面が閉じないようにする
echo "pause" >> install_extensions.bat
# 改行コードをWindows用に
sed -i -e 's/$/\r/' install_extensions.bat >> install_extensions.bat
これらのシェルファイルを格納するGitリポジトリに.gitignore
を追加し、*.bat
と追加することでリポジトリに誤って追加されない様にします。
*.bat
まとめ
VSCodeのExtensionのインストールを自動化し、管理を楽にするためのスクリプトファイルの作成方法について紹介しました。現状Linux/Unix系OS上で主に利用することを想定している為、Windowsをメインとしている方には少々不親切な内容かもしれません。。。実際に職場の開発環境(Windows10)上のWSL上でシェルを実行し、出来上がったbatファイルをWindows上で実行した所、Extensionのインストールが自動で行われ、あっと言う間に環境構築が出来ました。