VSC新东西:Makefile工具扩展
官宣
今天,我们非常高兴地宣布Visual Studio Code中的一项全新扩展:Makefile工具(预览版),此工具主要用于在Visual Studio Code集成开发环境中构建和调试Makefile工程。目前,此扩展还处于测试阶段,但是,我们内部测试了70多个流行开源的Makefile工程,显示出此扩展工具可以很好地和它们一起工作。那大家有兴趣的话,就试试看呗。
安装扩展
首先,需要在Visual Studio Code的Marketplace中安装此Makefile工具扩展,如下图所示:
激活扩展
扩展安装完成后,当它在工程的根目录发现有Makefile文件时会自动激活。如果你的工程的Makefile不在根目录中,则你可以通过设置Makefile Path参数来指定Makefile的路径,这样扩展就可以识别到Makefile文件了。下图显示了在File > Preferences > Settings中设置Makefile Path的界面:
当Makefile Path设置完成后,在命令行输入”makefile”就可以执行MakeFile工具指令并激活扩展。
配置你的工程
在默认情况下,扩展将会提示你使用环境变量$PATH中的make.exe程序来配置工程。如果你的make.exe不在$PATH环境变量中,则可以在File > Preferences > Settings中设置Make Path这一参数。Make Path设置将会告诉扩展从哪里去寻找需要的make.exe程序,设置Make Path界面如下图所示:
当make.exe的路径设置完成后,在弹出的提示框中选择允许Makefile工具来配置IntelliSense,如下图所示:
如果你没有看到这个提示,或者你点击了错误的按钮,没关系,你可以在命令行中输入:C/C++: Change Configuration Provider,然后选择Makefile Tools。
现在,工程的配置工作已经全部完成了。如果你在命令行下执行不带任何参数的make指令,那么扩展将会如预期般的正常工作,不需要做额外的设置工作。
如果你会向make指令中传递一些额外的参数,则需要使用Makefile工具的Configurations设置(settings.json配置文件中的makefile.configurations)来指定这些参数。Makefile.configurations是一个配置参数的数组,每一行都包含传递给make的名称和参数值。为了便于参考,我们在帮助文档中添加了70多个流行开源工程对应的配置参数值。例如,为了创建开源工程littlekernel的配置,你可以在执行make的传入“PROJECT=armemu-test”,则你的settings.json将会增加下面的配置项:
可以在左侧的Explorer菜单中选择Makefile Tools图标以为你的工程选择对应的配置,如下图所示:
点击铅笔图标可以选择对应的配置,如下图所示:
如果你还没有在makefile.configurations中创建任何配置,则扩展将会为你选择一个默认的配置。
构建目标
当工程的配置完成之后,你就可以开始进行构建了。点击下图中的铅笔图标可以选择构建的目标平台,如下图所示:
然后,从工程的Makefile中解析出来的目标平台列表中选择你需要的一项,如下图所示:
当目标平台选择完毕之后,可以点击Build图标,如下图所示:
调试并运行
点击下图中的铅笔图标可以调试或者直接运行构建出来的执行程序。一个为选定目标平台的配置项会被自动加入到
makefile.launchConfigurations配置中。如果你需要传递一些额外的参数到执行程序,例如MIMode, miDebuggerPath, stopAtEntry,则可以
makefile.launchConfigurations的目标配置项中添加binaryArgs属性值,如下图所示:
当运行目标设置好之后,可以选择下图中的Debug按钮进行调试。
如果你希望不进行调试,而是直接运行目标,则可以点击下图中的Run图标:
Makefile Tools支持的命令
通过打开Command Palette并输入”makefile”,可以查看扩展支持的所有命令。为了便于使用,我们添加了一些构建清除和构建全部的快捷命令,这样你就可以直接运行它们,而不需要修改构建目标了,如下图所示:
Makefile Tools设置
可以前往File > Preferences > Settings并在Extensions下选择makefile,以查看Makefile Tools是所有设置项。大家可能最为常用的选项如下:
> configurations (在配置工程时,用来指示扩展应该向make传入哪些参数)
>
defaultLaunchConfiguration (全局调试器设置)
> launchConfigurations (对于特定构建目标的调试设置)
> makePath (make程序的路径)
> makefilePath (工程Makefile的路径)
> buildLog (dry-run的另一种方式)
可能存在的局限性
本次发布时Makefile Tools扩展的预览版本,虽然我们测试了70多个流行的开源工程,但是对于你自己的工程,你可能还是得花写时间来做一些配置工作。如果你成功地完成了配置,欢迎分享给正在为同一个工程配置发愁的人。
总结
这样,咱们内部搞个田忌赛马:Visual Studio和Visual Studio Code开发团队,请各自开始你们的表演,看看咱们广大开发者到底跟谁走。(狗头)
最后
Microsoft Visual C++团队的博客是我非常喜欢的博客之一,里面有很多关于Visual C++的知识和最新的开发进展。大浪淘沙,如果你对Visual C++这门古老的技术还是那么感兴趣,则可以经常去他们那(或者我这)逛逛。
本文来自:《Now announcing: Makefile support in Visual Studio Code!》
相关文章
- javascript语言扩展:可迭代对象(3)
- 基于 C 语言扩展开发的 PHP 框架 HookPHP
- PHP-CPP开发扩展(二)
- R语言扩展包dplyr笔记
- MFC Windows 程序设计[220]之扩展对话框(附源码)
- 如何安装Virtual Box的VBox Guest Additions扩展程序
- 介绍一个好用的能让网页变成黑色背景的护眼 Chrome 扩展应用 - Night Eye
- 006-guava 集合-集合工具类-集合扩展工具类
- PostgreSQL的学习心得和知识总结(七十六)|深入理解PostgreSQL数据库客户端工具psql元命令 扩展表格式化模式 的作用原理和使用方法
- IContextMenu第十部分:组合扩展的准备工作
- Pytest自动化框架-权威教程05-Pytest fixtures:清晰 模块化 易扩展
- window下如何设置屏幕扩展
- Springboot扩展点之InstantiationAwareBeanPostProcessor