Vscode-rust: Ladung im "Run Test" nicht gefunden

Erstellt am 4. Juli 2019  ·  4Kommentare  ·  Quelle: rust-lang/vscode-rust

Ich benutze:
rls: 1.37.0 (124483d 2019-07-01)
rls-vscode: 0.6.1
VS-Code: 1.36.0-insider
Betriebssystem: Linux 4.18.0-22-generic #23~18.04.1-Ubuntu (Ubuntu 18.04 LTS) (mit vscode remote, lokales Betriebssystem: 18.6.0 Darwin (macOS Mojave 10.14.5))
Ich habe den vollständigen absoluten Pfad in rust-client.rlsPath und rust-client.rustupPath .

Bei Verwendung der Funktion Run Test kann das Terminal keine Fracht finden. Es hängt wahrscheinlich mit dem $PATH zusammen, der von rls/rls-vscode verwendet wird.

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

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

Während ich das wiederverwendete VSCode-Terminal verwenden kann, um denselben Befehl ohne Fehler auszuführen.

Hilfreichster Kommentar

Ich habe ein anderes Problem gefunden.

Ich habe vscode setting.json mit dieser Option gesetzt

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

lösche es oder setze es auf true wird dies lösen, ohne task.js zu ändern

Alle 4 Kommentare

Sieht so aus, als ob es das Problem von VSCode-Insidern ist, das letzte Update hat dieses Problem behoben.

Ich habe das gleiche Problem.

vscode 1.43.0 78a4c91400152c0f27ba4d363eb56d2835f9903a
vscode rost(rls) 0.7.0
rls 1.41.0 (8f1c275 2019-12-10)
Fracht 1.41.0 (626f0f40e 2019-12-03)
Betriebssystem: Darwin Kernel Version 19.3.0

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

Ich habe dieses Problem gelöst.

Es ist offensichtlich, dass $PATH falsch ist.

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

source $HOME/.cargo/env; in cmdLine hinzufügen

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

Aber ich denke, es wird eine bessere Lösung geben als meine. Vielleicht ändern Sie die env Optionen in vscode.ShellExecution() ?

Ich habe ein anderes Problem gefunden.

Ich habe vscode setting.json mit dieser Option gesetzt

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

lösche es oder setze es auf true wird dies lösen, ohne task.js zu ändern

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

rpeshkov picture rpeshkov  ·  5Kommentare

iBeizsley picture iBeizsley  ·  3Kommentare

views63 picture views63  ·  5Kommentare

japert picture japert  ·  4Kommentare

hpesoj picture hpesoj  ·  5Kommentare