Vscode-rust: 「テストの実行」で貨物が見つかりません

作成日 2019年07月04日  ·  4コメント  ·  ソース: rust-lang/vscode-rust

私は使っている:
rls: 1.37.0 (124483d 2019-07-01)
rls-vscode: 0.6.1
VSコード: 1.36.0-insider
OS: Linux 4.18.0-22-generic #23~18.04.1-Ubuntu (Ubuntu 18.04 LTS)(vscodeリモート、ローカルOSを使用: 18.6.0 Darwin (macOS Mojave 10.14.5))
rust-client.rlsPathrust-client.rustupPath完全な絶対パスがあります。

Run Test機能を使用すると、ターミナルは貨物を見つけることができません。 おそらくrls / rls-vscodeで使用される$ PATHに関連しています。

> Executing task: cargo test -- --nocapture <test_name> <

/bin/bash: cargo: command not found
The terminal process terminated with exit code: 127

再利用されたVSCodeターミナルを使用して、同じコマンドをエラーなしで実行できます。

最も参考になるコメント

別の問題を見つけました。

このオプションでvscodesetting.jsonを設定しました

    "terminal.integrated.inheritEnv": false,  // delete it or set to `true`

削除するかtrue設定すると、 task.jsを変更せずにこれを解決できます

全てのコメント4件

VSCodeインサイダーからの問題のようですが、最近のアップデートでこの問題が修正されています。

私は同じ問題を抱えています。

vscode 1.43.0 78a4c91400152c0f27ba4d363eb56d2835f9903a
vscode rust(rls) 0.7.0
rls 1.41.0 (8f1c275 2019-12-10)
貨物1.41.0 (626f0f40e 2019-12-03)
OS: Darwin Kernel Version 19.3.0

> Executing task: cargo test -- --nocapture test_2 <
zsh:1: command not found: cargo

私はこの問題を解決しました。

$PATHが間違っていることは明らかです。

vi ~/.vscode/extensions/rust-lang.rust-0.7.0/out/src/tasks.js

cmdLine source $HOME/.cargo/env;を追加します

function createShellExecution(execution) {
    const { binary, command, args, cwd, env } = execution;
    // const cmdLine = `${command || binary} ${args.join(' ')}`;
    const cmdLine = `source $HOME/.cargo/env; ${command || binary} ${args.join(' ')}`;
    return new vscode_1.ShellExecution(cmdLine, { cwd, env });
}

しかし、私よりも良い解決策があると思います。 たぶんvscode.ShellExecution()envオプションを変更しますか?

別の問題を見つけました。

このオプションでvscodesetting.jsonを設定しました

    "terminal.integrated.inheritEnv": false,  // delete it or set to `true`

削除するかtrue設定すると、 task.jsを変更せずにこれを解決できます

このページは役に立ちましたか?
0 / 5 - 0 評価