LoginSignup
10
15

More than 5 years have passed since last update.

Gitを使ってVSCodeの設定を複数の環境で使いまわす(Win/Linux)

Last updated at Posted at 2018-01-21

WindowsとLinuxでそれぞれVSCodeを使っていたのですが,個別に設定を整えるのが面倒なので"dotfilesをGitHubで管理"のように設定ファイルをGitホスティングサービス経由で他の環境,OSでもすぐに同じ設定を適用できるようにしてみました

目的

git clone して, コマンドを1つ叩くと同一の設定が適用される

準備

privateでもいいので適当にリポジトリを作ります.
参考に自分のはこんな感じです

ディレクトリ構成

以下のようになっています

ディレクトリ構成
vscode-setting
  ├─ linux.sh
  ├─ windows.bat
  ├─ extension-list
  └─ User/
      ├─ keybindings.json
      ├─ settings.json
      └─ snippets/

このうちUser/以下はVSCodeによって生成される設定ファイルで,これを指定の場所にシンボリックリンクを貼り付けるためにlinux.shwindows.batがあります.
extension-listはインストールしたい拡張機能をまとめたファイルです

extension-list

拡張機能のIDを1行毎に書いていきます.
拡張機能の名前ではダメなようです.
↓画像の赤枠部分が拡張機能のIDになります
image.png
とりあえず自分の場合はこんな感じで
(VSCode初心者なので便利な拡張機能があれば教えてくださると助かります)

extension-list
naumovs.color-highlight
oderwat.indent-rainbow
shardulm94.trailing-spaces
Tobiah.language-pde
ms-vscode.csharp
Unity.unity-debug

windows.bat

windows.bat
@echo off
rem User以下の設定ファイルのリンクを生成
mklink /D C:\Users\%USERNAME%\AppData\Roaming\Code\User %CD%\User

rem 拡張機能のインストール
for /f %%a in (extension-list) do (
  code --install-extension %%a
)

mklinkコマンドでシンボリックリンクを作成し,ユーザディレクトリ内の設定ファイルが置かれるディレクトリにリンクを繋げます
また,先に作成したextension-listから1行ずつ読み込んで, vscodeの--install-extensionオプションに流し込みます.

linux.sh

Linux版もWindowsとやることは変わりません
設定ファイルの保存先が違う程度です
Macは使ってないのでわかりませんが,基本はLinux版と同様のコマンドで,パスを変えるぐらいでできるのではないでしょうか(違っていたらすみません)

linux.sh
#!/bin/sh

# User以下の設定ファイルのリンクを生成
ln -s "`pwd`/User" ${HOME}/.config/Code/

# 拡張機能のインストール
filename="./extension-list"
cat ${filename} | while read line
do
  code --install-extension ${line}
done

完成

これで,新しい環境でVSCodeを入れ直すことになっても,すぐにセッティングが終わります.

10
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
15