NeoVim插件之CPP助手

简介

插件地址: cppassist.nvim

该插件是我自己根据 ourobors.nvim 插件所写的一款类似于 VAssistX 的助手插件。

B站演示视频:Neovim自制插件之Cpp助手

细节

  1. 使用正则表达式而不是 LSP 来查找源文件;
  2. 可以识别数据类型中的下划线和指针;
  3. 可以识别返回类型为指针的函数,同时以 NULL 来作为返回类型;
  4. 可以识别多行的函数声明;
  5. 可以识别类模板;
  6. 可以识别函数默认参数并将其删除;
  7. 可以识别关键字,包括: const、static、friend、final、noexcept、constexpr、explicit、override、virtual、= 0、= delete、= default;
  8. 支持在 visual 模式下同时生成多个函数的定义;
  9. 支持头文件跳转;
  10. 支持多匹配项的可选项列表;
  11. 支持自定义配置搜索路径;

关键字不包括 inline,我认为该关键字应该定义在源文件中,而非头文件。因为该关键字是向编译器提出建议,应当优化该函数,而是否优化跟用户所使用的头文件无关,用户其实并不关心。所以并不支持该关键字。

功能

  • 快速切换头文件/源文件
  • 快速在源文件中生成函数和静态变量定义
  • 快速在头文件中生成函数和静态变量的定义
  • 快速跳转头文件

缺点

  1. 无法按照函数声明顺序进行定义;
  2. 如果函数定义已经存在,会仍然生成函数定义;
  3. 无法替换由 typedef 所定义的数据类型;
  4. 无法准确识别嵌套类;

TODO

结语

该插件是我自己在使用 NeoVim 编写 C/C++ 代码时,由于要频繁生成大量的函数定义,无奈找不到合适的相关插件,所以尝试自己写了一款插件。

如果觉得这个插件还不错,记得点个 Star 给点鼓励🙏🙏🙏。

posted @ 2022-09-08 01:33  Leaos  阅读(416)  评论(0编辑  收藏  举报