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》
最近我写了个东西
正如你们所知道的,拓扑梅尔智慧办公平台(Topomel Box)是一款绿色软件,主要面向经常使用电脑的朋友。它提供了各种提升办公效率的小功能,同时操作上尽可能地简单方便。 我想:你值得拥有。
|