Clineが実行したコマンドの結果がCline自身で読み込めない場合の対処法
Clineにコマンドを実行させた場合に通常であればVSCode内のshellが立ち上がり、コマンド実行してその結果を元に次のフローに進む。
しかし自分の環境ではコマンドの実行結果をClineが読めないというエラーが出てた(コマンドの実行結果が表示されていないようです。
というメッセージがClineから返ってくる。)。
色々調べると下記のTroubleshootingにあるようにVSCodeのshell integrationを有効にしてVSCodeを立ち上げさせるような設定([[ "$TERM_PROGRAM" == "vscode" ]] && . "$(code --locate-shell-integration-path zsh)"
)を.zshrc
などに追記すればいいらしい。
まず自分はこれを試したがダメだった。
原因を調べるとcode --locate-shell-integration-path zsh
の実行結果がまず空だった。ということでcode
がなんかおかしい気がしたのでwhich code
するとなんと.zshrc
にcode
がエイリアスで直接アプリケーション配下のVSCodeを呼ぶようになっていた...
なのでそのエイリアスを削除し、↓に書いてある通りにcode
コマンドをinstallしたところClineがコマンドの実行結果を読むようになってくれた。
ちなみにcursorの場合は以下。$TERM_PROGRAM
はvscode
というところがミソ。
[[ "$TERM_PROGRAM" == "vscode" ]] && . "$(cursor --locate-shell-integration-path zsh)"
余談だけどClineがコードの実行結果を読んでくれたかどうかは下記のプロンプトで確認してた。
`tree .`のコマンド実行結果はなんですか?
`python --version`のコマンド実行結果はなんですか?
追記
その後も確率的にコマンド実行結果を読み取ってくれなかったけど.zshrc
の下記の設定が悪さをしてたっぽい。プロンプトを2行表示させるために入れてたけどこれだとうまく読み取れないんだな...。多分シェルの表示関係のスタイリングとか弄ってる人は一旦全部コメントアウトして試してみると良いかも。
PROMPT="%(?.%{${fg[green]}%}.%{${fg[red]}%})%n${reset_color}%~
%# "
Discussion