中国联通|Makefile工具更新:错误匹配和编译数据库生成

中国联通|Makefile工具更新:错误匹配和编译数据库生成

文章图片

中国联通|Makefile工具更新:错误匹配和编译数据库生成

文章图片

中国联通|Makefile工具更新:错误匹配和编译数据库生成

文章图片


Visual Studio Code的Makefile扩展12月更新来了 , 这次的更新带来了错误匹配(这样就可以简单方便地在编辑器中查看错误和警告信息) , 另外还可以直接编译你的项目中的commands.json文件 , 以及其他的功能优化和Bug修复 。 下面我们具体来看看 。
错误匹配如果你使用过VS Code的C++扩展 , 则你应该很熟悉”Problems”窗口面板 , 在这个窗口中 , 你可以查看项目编译中的所有错误和警告信息 。 VS Code在Problems面板中通过引入了一个错误匹配模块来更加智能化地显示编译错误 。
举个例子 , 如果在源代码中缺少了分号 , 则你会在Problems中看到对应的错误信息 。 选择这条错误信息 , 将会直接导航到出现错误的那行代码 。 为了快速的修正问题 , 可以点击代码行旁边的”电灯泡”按钮 , 然后从系统的修复提示中选择最为合适的修复方案 , 如下图所示:

现在 , 让我们假设 , 你的代码里已经没有任何编译错误了 , 但是还是有一些警告 。 在此次更新之前 , Problems面板中还不能显示警告信息 。 如果安装了最新版本的Makefile工具扩展 , 则你将可以在每次构建之后 , 看到make工具发出的所有错误和警告信息 , 如下图所示:

为了能在Problems面板中看到编译错误和警告 , 可以在settings.json文件中添加”problemMatchers”:[“$gcc”
, 如下图所示:

如果你使用的是Windows系统上的MSVC , 则可以将problemMatcher设置为”$msCompile” , 而不是”$gcc” 。 我们欢迎开发者贡献更多的匹配扩展 。
生成compile_commands.json作为一名C++开发者 , 你可能会发现 , 自己需要一个编译数据库 , 它是一个文件 , 用于存储项目中源文件的编译指令 。 许多Clang工具和编辑器/集成开发环境都使用编译数据库 。一种常见的编译数据库格式是 compile_commands.json , 它包含命令对象 , 项目中的每个翻译单元都会包含一个 。每个命令对象指定翻译单元的主文件、编译命令和运行编译命令的工作目录 。
使用最新版本的Makefile工具扩展 , 你可以面向项目生成compile_commands.json文件 。你所要做的就是在 settings.json 中指定目标 compile_commands.json 文件的路径 , 如下所示:

然后将你的项目配置为在指定位置生成 compile_commands.json , 如下图所示:

总结对于重复性事务 , 人脑毕竟比不过电脑 。
将重复性的 , 琐碎的事情交给电脑 , 这样可以省下更多的时间来进行那些创造性的事情 。
Makefile工具扩展 , 就是这样的工具 , 辅助你更快的完成工作 。
最后Microsoft Visual C++团队的博客是我非常喜欢的博客之一 , 里面有很多关于Visual C++的知识和最新开发进展 。 大浪淘沙 , 如果你对Visual C++这门古老的技术还是那么感兴趣 , 则可以经常去他们那(或者我这)逛逛 。
本文来自:《Makefile Tools December 2021 Update: Problem Matchers and Compilation Database Generation》
【中国联通|Makefile工具更新:错误匹配和编译数据库生成】