工作中会做一些 Linux 内核的驱动开发,跟正常的应用开发有些不同。
1. 需要使用内核中的函数,而内核中的函数与内核版本密切相关
2. 内核代码量很大,即使只把头文件生成 tags,也非常大,影响 vim 响应速度
3. 一个项目中不会包含大量源文件,一般就只有一两个
我的需求其实非常简单,C 语言包含头文件之后,通过设置头文件路径,然后自动补全头文件中的函数声明,如果能提示参数就更好了。尝试了很多插件,要么是基于 tags,要么是基于 clang,但是 clang 几乎不能用来编译内核模块,看到有作者说 YCM 集成的 omnicppcomplete 可以做到,但是它似乎也是基于 tags 的。
目前,我知道的两款轻量级 IDE,qt creator 和 vscode 都可以轻松实现这个功能,但是它们的 vim 输入模式都是残缺的,所以用起来还是有很多限制。
1. 需要使用内核中的函数,而内核中的函数与内核版本密切相关
2. 内核代码量很大,即使只把头文件生成 tags,也非常大,影响 vim 响应速度
3. 一个项目中不会包含大量源文件,一般就只有一两个
我的需求其实非常简单,C 语言包含头文件之后,通过设置头文件路径,然后自动补全头文件中的函数声明,如果能提示参数就更好了。尝试了很多插件,要么是基于 tags,要么是基于 clang,但是 clang 几乎不能用来编译内核模块,看到有作者说 YCM 集成的 omnicppcomplete 可以做到,但是它似乎也是基于 tags 的。
目前,我知道的两款轻量级 IDE,qt creator 和 vscode 都可以轻松实现这个功能,但是它们的 vim 输入模式都是残缺的,所以用起来还是有很多限制。
