Mac
VSCode
VisualStudioCode

2クリックでVSCodeのsettings.jsonを切り替える

普段コードエディタとして、 VSCode を使っていますが、

メモ帳としても使っており、用途が違うと配色テーマとかフォント(サイズ)とか、

簡単に変えれたらなぁ、と思ったのがきっかけです。

環境は Macです。


settings.json

VSCode の settings.json はここにあります。

$HOME/Library/Application Support/Code/User

パスにスペースが入ってます


$ cd $HOME/Library/Application\ Support/Code/User
~/Library/Application Support/Code/User$ ll
total 24
drwxr-xr-x 4 ando staff 128 2 9 17:39 globalStorage
-rw-r--r-- 1 ando staff 523 2 9 17:37 settings.json
-rw-r--r-- 1 ando staff 523 2 9 17:05 settings.json.dark
-rw-r--r-- 1 ando staff 524 2 9 16:12 settings.json.light
drwxr-xr-x 2 ando staff 64 1 2 10:34 snippets
drwxr-xr-x 23 ando staff 736 2 9 15:20 workspaceStorage

エンジニアモードの設定は、

settings.json.dark に書き込みます。

メモとして使う場合の、普通の人モードの設定は、

settings.json.light に書き込みます。

それぞれのファイルを、 settings.json に上書きして切り替えるのをどうやるかと言う話です。


BitBar

BitBarという mac のメニュバーに色々機能を追加できる

ツールを使って切り替えようと思います。


  • brew でインストールできます。


$ brew cask install bitbar


  • BitBar.appを起動すると、メニューバーに BitBar の文字が出てくる(はず)ので  

       そこから Preferences ⇨ Open Plugin Folder を選択

    スクリーンショット 2019-02-09 18-17-35.png


  • このフォルにダスクリプトを配置すると、 BitBar のプラグインとなり、 Mac のメニューバーに表示される


  • こんな感じのスクリプトを配置する。



vscode.sh

#!/bin/bash

echo ":coffee:" # 最初の出力がメニューバーに表示される
echo '---'               # --- で以降がドロップダウンで表示
echo 'Light | bash="light; exit"' # 表示する文字列と実行したい処理を書く
echo 'Dark | bash="dark; exit"'

bash="実行したいコマンド"

こうすると、 bash で実行したい処理をかけます。

今回は、諸事情があって、別ファイルにコピーのコマンドを書いてそれを実行させています。


~/bin/dark

#!/bin/bash

cp $HOME/Library/Application\ Support/Code/User/settings.json.dark $HOME/Library/Application\ Support/Code/User/settings.json

; exit はターミナル立ち上がったままになるので、exitしてターミナルを閉じています。。

詳しい書き方はここで。

https://github.com/matryer/bitbar#metadata


  • こんな感じで表示されるようになる。

スクリーンショット 2019-02-09 18-29-09.png


2クリックで切り替え

:coffee: → Dark の2クリックでエンジニアの人へ

image.png

:coffee: → Light の2クリックで普通の人へ

image.png