我如何配置 SublimeLinter-contrib-rustc 来找到 "piston" crate?
How do I configure SublimeLinter-contrib-rustc to find the "piston" crate?
我正在使用 Piston 构建 Rust 游戏,我正在尝试使用 SublimeLinter Rust package。当我打开 .rs 游戏文件时,出现以下 linter 错误:
extern crate piston; // linter error: "can't find crate for 'piston'"
如果我检查 Sublime 控制台,我可以看到 linter 正在寻找 rustc:
SublimeLinter: rust activated: /usr/local/bin/rustc
我在控制台中没有看到任何明显的错误消息。我在 Cargo.toml 中将活塞列为依赖项,我能够 cargo run
成功。
我是一个完全的 Rust 和 SublimeLinter 新手。
无论我先输入哪个导入,我都会遇到类似的错误;例如,如果我将 extern crate graphics;
移动到文件的第一行,我会得到错误 "can't find crate for 'graphics'".
EDIT:原来启用 "use-cargo" 设置解决了这个问题。我在我的项目根目录中添加了一个“.sublimelinterrc”文件,其中包含以下内容:
{
"linters": {
"rust": {
"use-crate-root": true,
"use-cargo": true
}
}
}
我无法重现您的错误。但是,我将列出我所做的似乎有效的事情。也许您会看到我们分歧的一个步骤,这会给您提示要看哪里。
我安装了Sublime Text 3,我选择了稳定版,build 3083,我installed Package Control,然后三个包:
- SublimeLinter (3.5.1)
- Sublime Linter-contrib-rustc (1.3.5)
- 生锈 (2015.05.28.16.43.21)
我重新启动了 Sublime Text 并打开了我的一个使用 Cargo 并依赖于其他包的项目。我打开控制台(ctrl-`)和enabled debug mode,下次Sublime重启生效
因为我安装了非标准的 Rust,我看到 Sublime 由于缺少动态库而无法 运行 rustc
。然后我关闭了 Sublime,并从我的终端打开它:open /Applications/Sublime\ Text.app/Contents/MacOS/Sublime\ Text
。这使用了我的 shell.
设置的环境变量
我看到 linter 抱怨我的库没有 main
方法,所以我 enabled the use-cargo
option.
SublimeLinter: rust output:
error: main function not found
error: aborting due to previous error
更改 use-cargo
设置后,我在我的代码中造成了故意的语法错误,并看到它被突出显示。然后我在 extern crate
行错误地命名了箱子,并看到它被突出显示。
寻找板条箱似乎从来没有问题。我可以看出 cargo
正在通过控制台使用:
SublimeLinter: rust output:
Updating registry `https://github.com/rust-lang/crates.io-index`
Downloading rand v0.3.9
...
我正在使用 Piston 构建 Rust 游戏,我正在尝试使用 SublimeLinter Rust package。当我打开 .rs 游戏文件时,出现以下 linter 错误:
extern crate piston; // linter error: "can't find crate for 'piston'"
如果我检查 Sublime 控制台,我可以看到 linter 正在寻找 rustc:
SublimeLinter: rust activated: /usr/local/bin/rustc
我在控制台中没有看到任何明显的错误消息。我在 Cargo.toml 中将活塞列为依赖项,我能够 cargo run
成功。
我是一个完全的 Rust 和 SublimeLinter 新手。
无论我先输入哪个导入,我都会遇到类似的错误;例如,如果我将 extern crate graphics;
移动到文件的第一行,我会得到错误 "can't find crate for 'graphics'".
EDIT:原来启用 "use-cargo" 设置解决了这个问题。我在我的项目根目录中添加了一个“.sublimelinterrc”文件,其中包含以下内容:
{
"linters": {
"rust": {
"use-crate-root": true,
"use-cargo": true
}
}
}
我无法重现您的错误。但是,我将列出我所做的似乎有效的事情。也许您会看到我们分歧的一个步骤,这会给您提示要看哪里。
我安装了Sublime Text 3,我选择了稳定版,build 3083,我installed Package Control,然后三个包:
- SublimeLinter (3.5.1)
- Sublime Linter-contrib-rustc (1.3.5)
- 生锈 (2015.05.28.16.43.21)
我重新启动了 Sublime Text 并打开了我的一个使用 Cargo 并依赖于其他包的项目。我打开控制台(ctrl-`)和enabled debug mode,下次Sublime重启生效
因为我安装了非标准的 Rust,我看到 Sublime 由于缺少动态库而无法 运行 rustc
。然后我关闭了 Sublime,并从我的终端打开它:open /Applications/Sublime\ Text.app/Contents/MacOS/Sublime\ Text
。这使用了我的 shell.
我看到 linter 抱怨我的库没有 main
方法,所以我 enabled the use-cargo
option.
SublimeLinter: rust output:
error: main function not found
error: aborting due to previous error
更改 use-cargo
设置后,我在我的代码中造成了故意的语法错误,并看到它被突出显示。然后我在 extern crate
行错误地命名了箱子,并看到它被突出显示。
寻找板条箱似乎从来没有问题。我可以看出 cargo
正在通过控制台使用:
SublimeLinter: rust output:
Updating registry `https://github.com/rust-lang/crates.io-index`
Downloading rand v0.3.9
...