spacevim/docs/cn/layers/lang/rust.md
JIe 2bb7059579
Some checks failed
Detach Plugins / check (FlyGrep.vim) (push) Has been cancelled
Detach Plugins / check (GitHub.vim) (push) Has been cancelled
Detach Plugins / check (JavaUnit.vim) (push) Has been cancelled
Detach Plugins / check (SourceCounter.vim) (push) Has been cancelled
Detach Plugins / check (cpicker.nvim) (push) Has been cancelled
Detach Plugins / check (dein-ui.vim) (push) Has been cancelled
Detach Plugins / check (git.vim) (push) Has been cancelled
Detach Plugins / check (iedit.vim) (push) Has been cancelled
Detach Plugins / check (scrollbar.vim) (push) Has been cancelled
Detach Plugins / check (vim-chat) (push) Has been cancelled
Detach Plugins / check (vim-cheat) (push) Has been cancelled
Detach Plugins / check (vim-todo) (push) Has been cancelled
Detach Plugins / check (xmake.vim) (push) Has been cancelled
test / Linux (nvim, nightly) (push) Has been cancelled
test / Linux (nvim, v0.3.8) (push) Has been cancelled
test / Linux (nvim, v0.4.0) (push) Has been cancelled
test / Linux (nvim, v0.4.2) (push) Has been cancelled
test / Linux (nvim, v0.4.3) (push) Has been cancelled
test / Linux (nvim, v0.4.4) (push) Has been cancelled
test / Linux (nvim, v0.5.0) (push) Has been cancelled
test / Linux (nvim, v0.5.1) (push) Has been cancelled
test / Linux (nvim, v0.6.0) (push) Has been cancelled
test / Linux (nvim, v0.6.1) (push) Has been cancelled
test / Linux (nvim, v0.7.0) (push) Has been cancelled
test / Linux (nvim, v0.7.2) (push) Has been cancelled
test / Linux (nvim, v0.8.0) (push) Has been cancelled
test / Linux (nvim, v0.8.1) (push) Has been cancelled
test / Linux (nvim, v0.8.2) (push) Has been cancelled
test / Linux (nvim, v0.8.3) (push) Has been cancelled
test / Linux (nvim, v0.9.0) (push) Has been cancelled
test / Linux (nvim, v0.9.1) (push) Has been cancelled
test / Linux (true, vim, v7.4.052) (push) Has been cancelled
test / Linux (true, vim, v7.4.1689) (push) Has been cancelled
test / Linux (true, vim, v7.4.629) (push) Has been cancelled
test / Linux (true, vim, v8.0.0027) (push) Has been cancelled
test / Linux (true, vim, v8.0.0183) (push) Has been cancelled
test / Linux (vim, nightly) (push) Has been cancelled
test / Linux (vim, v8.0.0184) (push) Has been cancelled
test / Linux (vim, v8.0.1453) (push) Has been cancelled
test / Linux (vim, v8.1.2269) (push) Has been cancelled
test / Linux (vim, v8.2.2434) (push) Has been cancelled
test / Linux (vim, v8.2.3995) (push) Has been cancelled
test / Windows (nvim, nightly) (push) Has been cancelled
test / Windows (nvim, v0.3.8) (push) Has been cancelled
test / Windows (nvim, v0.4.2) (push) Has been cancelled
test / Windows (nvim, v0.4.3) (push) Has been cancelled
test / Windows (nvim, v0.4.4) (push) Has been cancelled
test / Windows (nvim, v0.5.0) (push) Has been cancelled
test / Windows (nvim, v0.5.1) (push) Has been cancelled
test / Windows (nvim, v0.6.0) (push) Has been cancelled
test / Windows (nvim, v0.6.1) (push) Has been cancelled
test / Windows (nvim, v0.7.0) (push) Has been cancelled
test / Windows (nvim, v0.7.2) (push) Has been cancelled
test / Windows (nvim, v0.8.0) (push) Has been cancelled
test / Windows (nvim, v0.8.1) (push) Has been cancelled
test / Windows (nvim, v0.8.2) (push) Has been cancelled
test / Windows (nvim, v0.8.3) (push) Has been cancelled
test / Windows (nvim, v0.9.0) (push) Has been cancelled
test / Windows (nvim, v0.9.1) (push) Has been cancelled
test / Windows (vim, nightly) (push) Has been cancelled
test / Windows (vim, v7.4.1185) (push) Has been cancelled
test / Windows (vim, v7.4.1689) (push) Has been cancelled
test / Windows (vim, v8.0.0027) (push) Has been cancelled
test / Windows (vim, v8.0.1453) (push) Has been cancelled
test / Windows (vim, v8.1.2269) (push) Has been cancelled
test / Windows (vim, v8.2.2434) (push) Has been cancelled
test / Windows (vim, v8.2.3995) (push) Has been cancelled
docker / docker (push) Has been cancelled
mirror / check (coding) (push) Has been cancelled
mirror / check (gitee) (push) Has been cancelled
mirror / check (gitlab) (push) Has been cancelled
init
2024-08-21 14:17:26 +08:00

3.3 KiB
Raw Blame History

title description lang
SpaceVim lang#rust 模块 这一模块为 Rust 开发提供支持,包括代码补全、语法检查、代码格式化等特性。 zh

可用模块 >> lang#rust

模块简介

这一模块为 SpaceVim 提供了 Rust 开发支持,包括代码补全、语法检查以及代码格式化等特性。

功能特性

  • 代码补全
  • 文档查询
  • 跳转定义处

同时SpaceVim 还为 Rust 开发提供了交互式编程、一键运行和语言服务器等功能。若要启用语言服务器,需要载入 lsp 模块。

启用模块

可通过在配置文件内加入如下配置来启用该模块:

[[layers]]
  name = "lang#rust"

语言工具

  • evcxr: Rust 交互式编程命令行工具。

模块选项

  • recommended_style: true/false (启用/禁用) rust 推荐的代码规范,该选项默认已禁用。
  • format_on_save: true/false (启动/禁用) 保存文件修改后自动格式化,该选项默认已禁用。
  • racer_cmd: 可执行文件 racer 的路径,该选项默认为 racer
  • rustfmt_cmd: 可执行文件 rustfmt 的路径,该选项默认为 rustfmt

快捷键

快捷键 功能描述
g d 跳至函数或变量定义处
SPC l d / K 展示光标函数或变量相关文档
SPC l g 跳至函数或变量定义处 (split)
SPC l v 跳至函数或变量定义处 (vertical)
SPC l e 重命名光标函数或变量(需要 lsp 模块)
SPC l u 显示光标函数或变量的所有引用 (需要 lsp 模块)
SPC l c b 运行 cargo build
SPC l c c 运行 cargo clean
SPC l c f 运行 cargo fmt
SPC l c t 运行 cargo test
SPC l c u 运行 cargo update
SPC l c B 运行 cargo bench
SPC l c D 运行 cargo doc
SPC l c r 运行 cargo run

注意: 当为rust启用lsp模块后SPC l gSPC l v这两个快捷键将不可用。

交互式编程

启动 evcxr 交互进程,快捷键为: SPC l s i

将代码传输给 REPL 进程执行:

快捷键 功能描述
SPC l s b 发送整个文件内容至 REPL
SPC l s l 发送当前行内容至 REPL
SPC l s s 发送已选中的内容至 REPL

运行当前脚本

在编辑 rust 文件时,可通过快捷键 SPC l r 快速异步运行当前文件,运行结果会展示在一个独立的执行窗口内。