Я использую:
rls: 1.37.0 (124483d 2019-07-01)
rls-vscode: 0.6.1
Код VS: 1.36.0-insider
ОС: Linux 4.18.0-22-generic #23~18.04.1-Ubuntu
(Ubuntu 18.04 LTS) (с использованием удаленного доступа vscode, локальная ОС: 18.6.0 Darwin
(macOS Mojave 10.14.5))
У меня есть полный абсолютный путь в rust-client.rlsPath
и rust-client.rustupPath
.
При использовании функции Run Test
терминал не может найти груз. Вероятно, это связано с $ PATH, используемым rls / rls-vscode.
> Executing task: cargo test -- --nocapture <test_name> <
/bin/bash: cargo: command not found
The terminal process terminated with exit code: 127
Хотя я могу использовать повторно используемый терминал VSCode для выполнения той же команды без ошибок.
Похоже, это проблема инсайдера VSCode, последнее обновление исправляет эту проблему.
У меня точно такая же проблема.
vscode 1.43.0
78a4c91400152c0f27ba4d363eb56d2835f9903a
vscode ржавчина (rls) 0.7.0
rls 1.41.0 (8f1c275 2019-12-10)
груз 1.41.0 (626f0f40e 2019-12-03)
ОС: 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
добавить source $HOME/.cargo/env;
в 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 });
}
Но я думаю, что будет какое-то лучшее решение, чем мое. Может быть, изменить параметры env
в vscode.ShellExecution()
?
Я нашел другую проблему.
Я установил vscode setting.json с этой опцией
"terminal.integrated.inheritEnv": false, // delete it or set to `true`
удалите его или установите в true
решит эту проблему без изменения task.js
Самый полезный комментарий
Я нашел другую проблему.
Я установил vscode setting.json с этой опцией
удалите его или установите в
true
решит эту проблему без измененияtask.js