0%

使用vscode中运行rust单元测试找不到cargo的解决方法

最近在vscode上写rust代码时,插件自带的运行和调试用不了了,说是读不到cargo:

一点就会报错:

1
2
Executing task: cargo test -- --nocapture test_add
< zsh:1: command not found: cargo

我们找到这个插件的位置,再修改一下这个文件,路径里的版本号换成当前使用的:

1
vim ~/.vscode/extensions/rust-lang.rust-0.7.8/out/src/tasks.js

找到掌管shell初始化的createShellExecution函数:

把这句

1
const cmdLine = `${command || binary} ${args.join(' ')}`;

加上加载cargo环境变量,变成:

1
const cmdLine = `source $HOME/.cargo/env; ${command || binary} ${args.join(' ')}`;

就ok了,重启一下就好。