トップ «前の日記(2021/05/23 (日) ) 最新 次の日記(2021/05/25 (火) )» 編集 RSS feed

HsbtDiary


2021/05/24 (月) [長年日記]

VSCode を XDG に沿って扱う術

何かことがあれば dotfiles から抜け出して XDG 準拠のレイアウトにして使うようにしているんだけど、VSCode だけは $HOME/.vscode に全部を放り込んで「こいつめ〜」という状態だったところ、VSCODE_PORTABLE という環境変数を使うと任意の場所に変更できるというのを見つけた。

で、早速 set -x VSCODE_PORTABLE "$XDG_DATA_HOME"/vscode を試してみたところ、 fish のシェルから起動する VSCode については適用されるものの、Spotlight や macOS のデスクトップから起動する場合は VSCODE_PORTABLE を見つけられないので従来の $HOME/.vscode に作成されるという状態で拡張機能などのデータが破滅してしまった。

どうしたものかなあと調べて、launchctl を使って、 macOS 全体で環境変数を設定することでうまくいった。

https://github.com/hsbt/hsbt/blob/master/LaunchAgents/setenv.VSCODE_PORTABLE.plist

大したものではないけど、上のファイルを /Library/LaunchAgents/setenv.VSCODE_PORTABLE.plist などにおいて再起動をすると、ファイルの中で指定した /Users/hsbt/.local/share/vscode などにディレクトリを固定できる。システムレベルではなくて、~/Library/LaunchAgents でもいい気はするけど試してない。

これで、$HOME にぶちまけるのは .docker, .kube みたいなやつだけかなあ。この辺、最近のソフトウェアなのに、頑なに XDG に対応してくれないのでほんとびっくりしてる。