【发布时间】:2022-03-12 07:46:36
【问题描述】:
我对 rust 还很陌生,并且一直在关注他们在其网站上提供的官方书籍。在第 2 章中,他们告诉您进口我所做的“兰德”货物。但是,当我尝试直接通过 VS Code 运行我的代码时,我收到一条错误消息,提示“未解析的导入 rand”。当我通过命令提示符运行它时,一切正常。我已经尝试过这里建议的所有解决方案:https://github.com/rust-lang/rls-vscode/issues/513,但似乎没有任何效果。我正在使用的扩展:
- 更好的 TOML
- 货物
- 代码运行器
- 锈(rls)
- 防锈辅助
- vsc-rustfmt
- vscode-rust-syntax
有没有其他人遇到过类似的问题或知道解决方案?谢谢!
编辑:我的 Cargo.TOML 看起来像这样:
[package]
name = "guessing_game"
version = "0.1.0"
authors = ["Name <MyNameHere@gmail.com>"]
edition = "2018"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
rand = "0.6.0"
编辑 2:我的 main.rs 文件如下所示:
use rand::Rng;
use std::io;
use std::cmp::Ordering;
fn main()
{
println!("Guess the number!");
let secret_number = rand::thread_rng().gen_range(1, 101);
loop
{
println!("Please input your guess!");
let mut guess = String::new();
io::stdin().read_line(&mut guess).expect("Failed to read line!");
let guess: u32 = match guess.trim().parse()
{
Ok(num) => num,
Err(_) => continue,
};
println!("Your guess {}", guess);
match guess.cmp(&secret_number)
{
Ordering::Less => println!("Too small!"),
Ordering::Greater => println!("Too big!"),
Ordering::Equal =>
{
println!("You win!");
break;
}
}
}
}
【问题讨论】:
-
Cargo.toml的内容是什么? -
@E_net4theharmedSOmember 编辑了问题
-
实际导入呢?你能给我们看看代码吗?
-
@E_net4theharmedSOmember 也添加了它
-
您的 VS Code 工作区是否与您拥有
Cargo.toml(根目录)的文件夹相同?因为如果它是父文件夹,它将不起作用。如果您有嵌套项目,则可能无法在子项目的多个Cargo.toml文件中检测已安装的依赖项。
标签: visual-studio-code rust rust-cargo