【教程】Vscode识别所有宏定义

一、前言

我们在使用vscode打开cmake项目时,经常会出现无法正确识别所有宏定义导致代码没有按照预期的颜色高亮的问题(当然了,不影响实际的执行)。

实际上这是因为,vscode对于宏定义的判断依据是build目录下的compile_commands文件,而我们在控制台或其他方式通过cmake命令编译时,默认不生成这个文件,因此没有按照预期高亮代码。

二、解决方案

在我们编译命令中,增加一个参数:

cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON 你的其他命令

这样在生成对应的makefile的同时,还会在同级目录生成compile_commands.json文件。

之后打开.vscode/settings.json,增加:

 "C_Cpp.default.compileCommands": "${workspaceFolder}/build/compile_commands.json"

即可。(这里我是将文件生成在了build目录中,按照你定义的路径进行修改即可。)

posted @ 2025-07-10 14:58  小拳头呀  阅读(197)  评论(0)    收藏  举报