5 个版本
0.1.4 | 2022 年 5 月 17 日 |
---|---|
0.1.3 | 2022 年 4 月 26 日 |
0.1.2 | 2022 年 4 月 20 日 |
0.1.1 | 2022 年 4 月 20 日 |
0.1.0 | 2022 年 4 月 20 日 |
#114 in #json-file
13KB
213 行
一个小工具,允许您使用 vim
和 rust-analyzer
在不使用 cargo
的情况下编写 Rust 代码。
- 假设您使用 vim 和 rust analyzer。
- 当您使用 vim 和 rust-analyzer 编辑单个 Rust 文件时,您会发现 rust-analyzer 工作不正常,代码补全和代码检查都失败了。
- 然后,您必须在文件的目录中添加
rust-project.json
,正如 手册 所示。此时,代码补全将正常工作,但代码检查仍然失败。它只是抱怨 无法在 / 或任何父目录中找到 Cargo.toml,因此您必须在文件的目录中添加一个Cargo.toml
,如下所示
[package]
name = "test"
version = "0.1.0"
edition = "2021"
[lib]
path= "test.rs"
[dependencies]
..
-
然后您会发现,每次您编辑不同的 Rust 文件时,都必须将
rust-project.json
中的字段root_module
和Cargo.toml 中的字段
path
替换为您正在编辑的 Rust 文件的名字,这非常无聊且浪费时间。 -
这个工具会帮您,您只需要
rvi your_file_name.rs
!
安装
从 发行版页面 下载
或者
cargo install rvi
配置
1. 将 rvi.toml
复制到 $HOME/.config/
,您可以根据您的实际环境进行编辑。
2. 如果您使用 Youcompleteme
,您必须在上面的文件中填写 ycm_extra_conf
字段,配置文件类似于 .ycm_extra_conf.py.example
,您应该将其放在您的目录中,并将其重命名为 .ycm_extra_conf.py
。该工具会自动将其复制到您的项目目录。
3.如果您不使用 Youcompleteme
,您应该将 rust-analyzer.checkOnSave.overrideCommand
配置项转移到 rust-analyzer
lsp,正如您的客户端解释的那样。以下为官方描述:
请注意,当使用 rust-project.json 时,默认禁用了对 cargo check 的调用,因此编译错误和警告将不再发送到您的 LSP 客户端。要启用这些编译错误,您需要明确指定 rust-analyzer 应运行的命令以执行检查,使用 checkOnSave.overrideCommand 配置。以下配置示例明确设置了 cargo check 作为 checkOnSave 命令。
{ "rust-analyzer.checkOnSave.overrideCommand": ["cargo", "check", "--message-format=json"] }
checkOnSave.overrideCommand 需要指定的命令输出 json 错误消息供 rust-analyzer 消费。--message-format=json 标志为 cargo check 做这件事,因此您使用的任何命令都必须以这种格式输出错误。请参阅 配置 部分,获取更多信息。
用法
rvi your_file.rs
依赖关系
~0.7–1.6MB
~32K SLoC