NeoVim插件之CPP助手
简介
插件地址: cppassist.nvim
该插件是我自己根据 ourobors.nvim 插件所写的一款类似于 VAssistX 的助手插件。
B站演示视频:Neovim自制插件之Cpp助手
细节
- 使用正则表达式而不是 LSP 来查找源文件;
- 可以识别数据类型中的下划线和指针;
- 可以识别返回类型为指针的函数,同时以
NULL
来作为返回类型; - 可以识别多行的函数声明;
- 可以识别类模板;
- 可以识别函数默认参数并将其删除;
- 可以识别关键字,包括: const、static、friend、final、noexcept、constexpr、explicit、override、virtual、= 0、= delete、= default;
- 支持在
visual
模式下同时生成多个函数的定义; - 支持头文件跳转;
- 支持多匹配项的可选项列表;
- 支持自定义配置搜索路径;
关键字不包括
inline
,我认为该关键字应该定义在源文件中,而非头文件。因为该关键字是向编译器提出建议,应当优化该函数,而是否优化跟用户所使用的头文件无关,用户其实并不关心。所以并不支持该关键字。
功能
- 快速切换头文件/源文件
- 快速在源文件中生成函数和静态变量定义
- 快速在头文件中生成函数和静态变量的定义
- 快速跳转头文件
缺点
- 无法按照函数声明顺序进行定义;
- 如果函数定义已经存在,会仍然生成函数定义;
- 无法替换由
typedef
所定义的数据类型; - 无法准确识别嵌套类;
TODO
结语
该插件是我自己在使用 NeoVim 编写 C/C++ 代码时,由于要频繁生成大量的函数定义,无奈找不到合适的相关插件,所以尝试自己写了一款插件。
如果觉得这个插件还不错,记得点个 Star 给点鼓励🙏🙏🙏。