如何在Visual Studio 2017中无需创建项目编译C++文件?
我刚好折腾过这个需求,完全能实现!给你两种靠谱的方法,都能达到像Sublime那样一键编译单个C++文件的效果:
方法一:配置VS外部工具实现一键编译
这是VS自带的功能,设置好后就能自定义快捷键一键编译:
- 打开VS2017,点击顶部菜单栏的
工具→外部工具 - 在弹出的窗口点击
添加,填写以下信息:- 标题:随便起个好认的名字,比如「编译当前C++文件」
- 命令:找到你的MSVC编译器路径,通常是
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\<你的版本号>\bin\Hostx64\x64\cl.exe(记得替换<你的版本号>,比如14.16.27023,去自己的VS安装目录找就行) - 参数:输入
/EHsc "$(ItemPath)"(/EHsc是启用标准异常处理,$(ItemPath)会自动识别当前打开的文件路径) - 初始目录:填
$(ItemDir)(自动定位到当前文件所在文件夹) - 勾选「使用输出窗口」和「关闭时不提示」,这样编译结果会直接显示在VS的输出窗口里
- 保存后,给这个工具设置快捷键:点击
工具→选项→环境→键盘,在「显示命令包含」里输入你刚才起的标题,然后按下你想要的快捷键(比如和Sublime一样的Ctrl+B),点击「分配」→「确定」就搞定了
方法二:用Task Runner配置编译任务
适合喜欢用配置文件管理的朋友:
- 打开你要编译的单个C++文件,点击顶部菜单栏的
视图→其他窗口→任务运行器资源管理器 - 在任务运行器里右键点击「绑定」→「创建tasks.json文件」,选择「Others」模板
- 把生成的tasks.json内容替换成下面的(记得修改
command里的cl.exe路径为你自己的):
{ "version": "0.1.0", "command": "C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.16.27023\\bin\\Hostx64\\x64\\cl.exe", "args": ["/EHsc", "${file}"], "showOutput": "always", "workingDirectory": "${fileDirname}", "tasks": [ { "taskName": "CompileCpp", "isBuildCommand": true } ] }
- 保存后,按下
Ctrl+Shift+B就能直接编译当前文件,编译结果同样会在输出窗口显示
一些注意事项
- 确保你安装VS2017时勾选了「C++开发工具」组件,不然找不到cl.exe编译器
- 如果要编译32位程序,把cl.exe的路径换成
Hostx86\x86目录下的版本 - 编译成功后,会在当前文件所在目录生成对应的
.exe和.obj文件,直接双击就能运行程序
内容的提问来源于stack exchange,提问作者WildFire
相关产品推荐
相关产品推荐

