Vscode-rust: Kargo tidak ditemukan di "Run Test"

Dibuat pada 4 Jul 2019  ·  4Komentar  ·  Sumber: rust-lang/vscode-rust

Saya menggunakan:
rls: 1.37.0 (124483d 2019-07-01)
rls-vscode: 0.6.1
Kode VS: 1.36.0-insider
OS: Linux 4.18.0-22-generic #23~18.04.1-Ubuntu (Ubuntu 18.04 LTS) (menggunakan remote vscode, OS lokal: 18.6.0 Darwin (macOS Mojave 10.14.5))
Saya memiliki path absolut lengkap di rust-client.rlsPath dan rust-client.rustupPath .

Saat menggunakan fitur Run Test , terminal tidak dapat menemukan kargo. Ini mungkin terkait dengan $PATH yang digunakan oleh rls/rls-vscode.

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

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

Meskipun saya dapat menggunakan terminal VSCode yang digunakan kembali untuk melakukan perintah yang sama tanpa kesalahan.

Komentar yang paling membantu

Saya menemukan masalah lain.

Saya telah mengatur pengaturan vscode.json dengan opsi ini

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

hapus atau setel ke true akan menyelesaikan ini tanpa mengubah task.js

Semua 4 komentar

Sepertinya ini masalah dari orang dalam VSCode, pembaruan terbaru memperbaiki masalah ini.

Saya memiliki masalah yang sama.

vscode 1.43.0 78a4c91400152c0f27ba4d363eb56d2835f9903a
vscode rust(rls) 0.7.0
rls 1.41.0 (8f1c275 2019-12-10)
kargo 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

Saya telah memecahkan masalah ini.

Jelas bahwa $PATH salah.

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

tambahkan source $HOME/.cargo/env; di cmdLine

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 });
}

Tapi saya pikir akan ada beberapa solusi yang lebih baik dari saya. Mungkin mengubah opsi env di vscode.ShellExecution() ?

Saya menemukan masalah lain.

Saya telah mengatur pengaturan vscode.json dengan opsi ini

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

hapus atau setel ke true akan menyelesaikan ini tanpa mengubah task.js

Apakah halaman ini membantu?
0 / 5 - 0 peringkat