gor*_*orn -2 rust visual-studio-code
Visual Studio Code 说:
Cargo.toml 文件必须位于工作区的根目录以支持所有功能
但是我没有在位于工作区根目录的Cargo.toml 文件中找到什么。所有项目子目录都通用吗?
我已经阅读了你好,货物一章!的文档,但它只讨论了项目目录中的 Cargo.toml 文件。
通过试验,我发现只有一行的文件[workspace]会使 VS Code 注释消失,但是现在每次我设置一个新项目时,它都会让我烦恼这个项目在此的成员数组中没有提到的事实“工作区” Cargo.toml
Visual Studio Code 目录结构如下
workspace
|
---> project1
|
---> project2
Run Code Online (Sandbox Code Playgroud)
在cargo new project3新建项目3目录中生成Cargo.toml,但Visual Studio代码预计该工作区目录本身内的另一Cargo.toml。
这在本书的第 14 章第 3 节中有介绍。Cargo 工作区根目录下的 Cargo.toml 应在members属性中明确包含其成员项目。请注意,这正是 IDE 建议您执行的操作。
[workspace]
members = [
"project1",
"project2",
]
Run Code Online (Sandbox Code Playgroud)
引用:
接下来,在 add 目录中,我们创建将配置整个工作区的 Cargo.toml 文件。这个文件不会有
[package]我们在其他 Cargo.toml 文件中看到的部分或元数据。相反,它将以[workspace]允许我们通过指定二进制包的路径向工作区添加成员的部分开始;在这种情况下,该路径是加法器:文件名:Cargo.toml
Run Code Online (Sandbox Code Playgroud)[workspace] members = [ "adder", ]接下来,我们将通过
cargo new在 add 目录中运行来创建 adder binary crate :$ cargo new --bin adder 创建的二进制(应用)
adder项目此时,我们可以通过运行来构建工作区
cargo build。add 目录中的文件应如下所示:Run Code Online (Sandbox Code Playgroud)[workspace] members = [ "project1", "project2", ]
另一个例子是serde ( Cargo.toml )。
的货物的文档提供了关于附加的细节members字段,包括路径依赖被自动包括。
工作区的根 crate
[workspace]由其清单中的指示,负责定义整个工作区。path驻留在工作区目录中的所有依赖项都成为成员。您可以通过在members键中列出它们来将其他包添加到工作区。请注意,明确列出的工作区成员也将在工作区中包含其路径依赖项。[...]
在这种情况下,根 Cargo 项目中没有声明路径依赖项和成员,导致子目录不被视为工作区成员。
| 归档时间: |
|
| 查看次数: |
3232 次 |
| 最近记录: |