Good UX Life

人生のUXを高めるための知見

Rust製ShellのNushellをVSCodeのデフォルトシェルにする

Rustが大好きなのでRust製モダンシェルのNushellを使おうと思い、VSCodeのデフォルトシェルにしようとしたところつまづいたのでメモをのこしておきます。

導入

導入方法は公式ガイドに従いそれぞれインストールしてください。 book.nushell.sh 私はHomebrewを使いました。

brew install nushell

*追記 Homebrewからインストールすると古いバージョンしかダウンロードできなかったため、releaseページからバイナリをインストールしました。

github.com

ターミナルのデフォルトシェルにする

/etc/shellsにパスを追加し、chsh -s /usr/local/bin/nuをすることでデフォルトシェルにすることができます。

VSCodeのデフォルトシェルにする

settings.jsonを開き、"terminal.integrated.shell.osx": "/usr/local/bin/nu"に変更します。
しかし、これだけでは起動時に引数に--loglevel <LEVEL>が無いよ!!と怒られてしまいます。
なので、"terminal.integrated.shellArgs.osx": ["--loglevel", "error"]を追加します。
loglevelは["error", "warn", "info", "debug", "trace"]の5つが用意されていますが、Readmeに説明が書いていないのでソースコード読んでみないとわかんないです。自分はとりあえずerrorにしておきます。

追記

ソースコード見てたらloglevelはlog crateのフィルターってことがわかりました。

docs.rs