انا استخدم:
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 remote ، نظام التشغيل المحلي: 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 Insider ، التحديث الأخير يصلح هذه المشكلة.
لدي نفس المشكلة.
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.json مع هذا الخيار
"terminal.integrated.inheritEnv": false, // delete it or set to `true`
حذفه أو التعيين على true
سيحل هذا بدون تغيير task.js
التعليق الأكثر فائدة
لقد وجدت مشكلة أخرى.
لقد قمت بضبط إعداد vscode.json مع هذا الخيار
حذفه أو التعيين على
true
سيحل هذا بدون تغييرtask.js