mmxingye

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

01 | vim安装 YCM 插件后依然没有头文件提示

我们在使用 vim 编写 C 或者 C++ 的代码的时候,没有自动提示很影响编辑体验。
那么我建议安装 YCM 插件,本文是基于安装完毕该插件的情况下,依然没有头文件自动提示的情况进行说明。

YCM 插件有三个头文件提示来源。

  • vim 自带的 ctags 机制
  • vim 打开的文件夹内的 compile_commands.json 文件
  • vim 打开的文件夹内的 .clang_complete 文件

1.ctags 机制

如果我们想要引入系统中已经安装好的库,比如 opencv 等
那么就需要生成该库的 ctags 文件,并配置路径

此处又细分为两种方式 :

  1. 手动方式: Vim: 使用tags文件扩展YCM对C族语言第三方库的代码自动补全功能_vim ctags ycm_此人姓于名叫罩百灵的博客-CSDN博客
  2. 自动方式(运行别人的脚本):adah1972/gen_systags: Generates a systags file for Vim use. (github.com)

2.compile_commands.json 文件

如果我们在使用 cmake 构建自己的项目,可以使用这种方式。

1. cmake 命令行上加上 `-DCMAKE_EXPORT_COMPILE_COMMANDS=1` 来产生此文件
`cmake -B build -DCMAKE_EXPORT_COMPILE_COMMANDS=1`
2. 建立符号连接
`ln -s build/compile_commands.json .`

3.使用 .clang_complete 文件

如果我们自己写 demo ,可以使用这种方式。
在文件夹下新建 .clang_complete 文件,并在文件中加入如下内容

-std=c++17
-D ELPP_FEATURE_CRASH_LOG
-D ELPP_FEATURE_PERFORMANCE_TRACKING
-D ELPP_NO_DEFAULT_LOG_FILE
-D ELPP_PERFORMANCE_MICROSECONDS
-D ELPP_UNICODE
-I common
-I 3rd-party/nvwa
-I 3rd-party/cmcstl2/include
-I 3rd-party/cppcoro/include
-I 3rd-party/expected/include

视情况自己修改 C++ 标准,或者引入库的头文件路径。

posted on   独立树  阅读(147)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示