wow*_*ine 101 rust visual-studio-code vscode-extensions rust-analyzer
我开始学习 Rust 语言,但我遇到了rust-analyzervscode 扩展的问题。

这张图片没有为我提供有关问题根源的任何附加信息。我尝试查找与我的错误相关的文章,但失败了。请帮忙!
UPD1。
目录截图:
Cargo.toml内容截图:
guessing_game 目录是使用cargo new guessing_game命令创建的
sam*_*ray 105
我猜你的项目中没有文件Cargo.toml?需要rust-analyzer检测Cargo.toml工作空间。
您可以使用以下命令创建一个新的 Rust 项目cargo:
cargo new your-project
Run Code Online (Sandbox Code Playgroud)
cargo将帮助您自动创建文件,或者您可以为现有项目Cargo.toml手动创建文件。Cargo.toml
如果这个问题不断出现,也许你可以检查这个Github 问题来寻求帮助。
编辑:
您应该像这样打开您的项目,而不是打开guessing_game. 只需尝试以下步骤:
cargo new guessing_game_v2;guessing_game_v2文件夹您应该确保您的文件Cargo.toml位于工作区的根目录中。
Luk*_*oen 11
我有同样的错误并解决如下:
背景
rust-lang.rust-analyzerprojects
> guessing_game
> src
main.rs
> target
> debug
guessing_game
Cargo.lock
Cargo.toml
rust-toolchain
Run Code Online (Sandbox Code Playgroud)
rust-analyzer failed to discover workspace。解决方案
我执行了以下操作来解决该问题:
rust-lang.rustrust-lang.rust-analyzerv0.3.1426ms-vscode-remote.vscode-remote-extensionpackv0.24.0vadimcn.vscode-lldbv1.8.1[toolchain]
channel = "nightly-2023-03-05"
components = ["rust-src"]
Run Code Online (Sandbox Code Playgroud)
rustup update[workspace]
members = [
"projects/guessing_game",
]
Run Code Online (Sandbox Code Playgroud)
cargo build从项目根目录(projects/ 目录上面的文件夹)运行。新的文件夹结构现在是:projects
> guessing_game
> src
main.rs
Cargo.toml
> target
> debug
guessing_game
Cargo.toml
rust-toolchain
Run Code Online (Sandbox Code Playgroud)
抱歉,如果这听起来含糊不清,但这只是因为它发生得太快了。我正在查看vscode 的底部窗格。
并认为因为我也有 Prettier,所以弹出一个对话框说它不支持.rs,无论如何我不确定接下来发生了什么,但是命令调色板弹出并提示:
我将此文件类型设为默认值
rust-analyzer
然后繁荣rustfmt开始工作。
然后我说嗯,让我们检查一下settings.json
令我高兴的是我发现了这个......
"[rust]": {
"editor.defaultFormatter": "rust-lang.rust-analyzer"
}
Run Code Online (Sandbox Code Playgroud)
真心希望这能帮助任何想成为锈类动物的人!
我遇到了同样的问题,刚刚解决了它 istalling rust-src,只需在终端中输入
sudo apt install rust-src
Run Code Online (Sandbox Code Playgroud)
然后重新加载vscode
对我来说,指定rust-analyzer.linkedProjects在工作空间中工作。
"rust-analyzer.linkedProjects": [
"{absolute_path}/Cargo.toml"
]
Run Code Online (Sandbox Code Playgroud)
我认为有太多Cargo.toml文件混淆了,rust-analyzer因此它无法找出要链接的项目。看来你也可以Cargo.toml同时指定几个,它也有效,可能需要重新启动服务器。
| 归档时间: |
|
| 查看次数: |
82452 次 |
| 最近记录: |