direnvとvscodeとfishの相性が悪い
$fish_user_pathsはこうなってる
code:sh
$ echo $fish_user_paths | tr " " "\n" | nl
1 /home/linuxbrew/.linuxbrew/opt/asdf/libexec/bin
2 /home/linuxbrew/.linuxbrew/bin
3 /home/linuxbrew/.linuxbrew/sbin
4 /home/ras/go/bin
普通にターミナルから開くと起動時に
code:sh
direnv: loading ~/.envrc
direnv: using asdf
direnv: loading ~/.cache/asdf-direnv/env/257823339-2578899750-1103521309-2545464455
direnv: using asdf direnv 2.32.3
direnv: using asdf java adoptopenjdk-8.0.362+9
direnv: loading ~/.asdf/plugins/java/bin/exec-env
direnv: using asdf nodejs lts
direnv: export +JAVA_HOME ~PATH
が出た上で
code:sh
$ echo $PATH | tr " " "\n" | nl
1 /home/ras/.asdf/installs/nodejs/lts/bin
2 /home/ras/.asdf/plugins/nodejs/shims
3 /home/ras/.asdf/installs/java/adoptopenjdk-8.0.362+9/bin
4 /home/ras/.asdf/installs/direnv/2.32.3/bin
5 /home/linuxbrew/.linuxbrew/opt/asdf/libexec/bin
6 /home/linuxbrew/.linuxbrew/bin
7 /home/linuxbrew/.linuxbrew/sbin
8 /home/ras/go/bin
9 /usr/local/sbin
10 /usr/local/bin
11 /usr/sbin
12 /usr/bin
13 /sbin
14 /bin
15 /usr/games
16 /usr/local/games
17 /usr/lib/wsl/lib
になる、期待動作
VSCodeの内部ターミナルだと、direnvのロードは出ず
code:sh
$ echo $PATH | tr " " "\n" | nl
1 /home/linuxbrew/.linuxbrew/opt/asdf/libexec/bin
2 /home/linuxbrew/.linuxbrew/bin
3 /home/linuxbrew/.linuxbrew/sbin
4 /home/ras/go/bin
5 /home/ras/.vscode-server/bin/660393deaaa6d1996740ff4880f1bad43768c814/bin/remote-cli
6 /home/ras/.asdf/installs/nodejs/lts/bin
7 /home/ras/.asdf/plugins/nodejs/shims
8 /home/ras/.asdf/installs/java/adoptopenjdk-8.0.362+9/bin
9 /home/ras/.asdf/installs/direnv/2.32.3/bin
10 /usr/local/sbin
11 /usr/local/bin
12 /usr/sbin
13 /usr/bin
14 /sbin
15 /bin
16 /usr/games
17 /usr/local/games
18 /usr/lib/wsl/lib
になる
なにこれ
direnv -> fish_user_paths -> standardになってほしいのにfish_user_paths -> direnv -> standardになる
ロードのログが出ないのにdirenvできてるのもわからん