rust-vim整合基于rust-analyzer

2023-10-20 11:17:04 浏览数 (3)

前言

在vim上配置并使用rust的vim开发环境,我个人比较习惯coc.vim这个平台的一系列插件,所以整个就接着在coc.vim上构建rust-vim,谁叫这东西确实牛逼。

依赖插件:

  • coc.vim
  • coc-rls
  • coc-rust-analyzer

rust官方有提供一个vim的插件,但是功能比较简单,本节要说插件,并不是官方提供的vim插件,而是比官方提供插件功能还要强一些。

coc-rust-analyzer这个插件的是基于rust-analyzer这个插件,coc.vim将期进行vim化,记其可以工作在vim下,这个和vim-go插件的做法是一样的。

安装 coc-rls

需要提前安装好rustup,这个工具其实在装rust的时候就已经安装好了。

代码语言:javascript复制
# 安装依赖组件
rustup component add rls rust-analysis rust-src

# 安装 coc-rls
:CocInstall coc-rls

安装coc-rust-analyzer

代码语言:javascript复制
:CocInstall coc-rust-analyzer

初次打开,会有这样的提示,安装一下:

配置插件

开启coc-rust-analyzer,在命令模式下输入:

代码语言:javascript复制
:CocConfig

这是个json格式,添加一行:

代码语言:javascript复制
"rust-analyzer.enable": true

看下代码提示,还有截图中的i32都是类似于vscode的类型提示功能。

再看下函数跳转,直接跳转println!这个内置函数。

我之前配置的是gd,这里直接继续了配置,还是跟coc快捷有关。

后续专门说下coc相关的配置。

再按下control i退回。

运行 rust

装好了,代码提示也有了,怎么运行呢?

通过内置工具就可以运行rust,每安装一个插件,可运行的命令都在CocCommand中,输入查看一下:

代码语言:javascript复制
:CocCommand

在这个命令行下输入rust把所有的rust开头的命令过滤出来:

运行一下

结果:

输入命令运行

一般不会反复的输命令来执行,而是会通过快捷键不执行。

rust的内置命令很多,可以直接设置快捷键

代码语言:javascript复制
nnoremap <leader>rt :CocCommand rust-analyzer.run<CR>

通过rt来运行。

显示文档说明

大写K

完整配置如下

总结

这个工具,如果是和我一样的vim患者可以捣鼓捣鼓,如果不是,建议还是直接IDEA的产品加个插件就可以开跑了。

rust我也是在学习的过程,语言虽然只是工具,但是在学习的过程中,也能学习到新的东西,拓宽一下边界,也能触类旁通。

下一步给rust-vim添加上debug功能。

已添加完成: rust-vim 整合基于vimspector的debug调试环境

参考链接

https://github.com/neoclide/coc-rls

https://github.com/fannheyward/coc-rust-analyzer

1 人点赞