visual studio code使用MSVC编译C++
环境
OS::Microsoft Windows [Version 10.0.17134.285] x64
VSC:Version:1.27.2 (system setup)
VS:2017
心血来潮想使用VSC来写C++,官方文档和网上大多资料都是使用g++进行编译的。这里给出使用MSVC的方案。
参考了《用Visual Studio Code 来生成您的C++应用程序》的方法,当给出的版本太旧,在最新的win10上会有错误。
- 在插件界面安装C++开发组件。

- 新建个文件夹,命名为helloworld,并使用VSC打开。之后新建helloworld.cpp,输入标准的HelloWorld代码。

- Ctrl+Shift+P唤出控制台,执行C/Cpp: Edit Configurations...命令,初始化工程。

之后会生成.vscode文件夹和c_cpp_properties.json文件。

- 查找vcvarsall.bat(需要安装Visual Studio)路径,之后新建一个build.bat(与helloworld.cpp同一路径),输入以下指令:
|
@echo off call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvarsall.bat" x64 set compilerflags=/Od /Zi /EHsc set linkerflags=/OUT:helloworld.exe cl.exe %compilerflags% helloworld.cpp /link %linkerflags% |
注意将vcvarsall.bat路径替换成你自己的,如果是32位系统,需要将x64替换位x86。

- Ctrl+,打开Settings界面,搜索terminal.integrated.shell.windows修改VSC默认的命令行为cmd(默认为powershell,使用powershell会出错)。

- Ctrl+Shift+P唤出控制台,Tasks:Configure Default Build Task,选择Other模板,新建tasks.json。

修改为如下参数:

- Ctrl+Shift+B运行buil task,开始编译。

顺利的话就能在EXPLORER窗口看到编译后的程序。

使用MSVC编译的话,调试配置会比较方便。
- Ctrl+Shift+D进入Debug界面,点击齿轮,选择C++(Windows)模板,生成launch.json。

- 修改launch.json中的:program属性。

启动参数可以修改args参数。
- 下断点,开始调试。

更多调试的操作,可以参考《C/C++ for Visual Studio Code (Preview)》
多文件编译可以参考《Walkthrough: Compiling a Native C++ Program on the Command Line》,编写相应的build.bat即可。
参考资料:
用Visual Studio Code 来生成您的C++应用程序
From <https://blogs.msdn.microsoft.com/c/2016/12/20/%E7%94%A8visual-studio-code-%E6%9D%A5%E7%94%9F%E6%88%90%E6%82%A8%E7%9A%84c%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F/>
Walkthrough: Compiling a Native C++ Program on the Command Line
From <https://msdn.microsoft.com/en-us/library/ms235639.aspx?f=255&MSPPError=-2147217396>
C/C++ for Visual Studio Code (Preview)
From <https://code.visualstudio.com/docs/languages/cpp>
visual studio code使用MSVC编译C++的更多相关文章
- 使用Visual Studio Code开发(编译、调试)C++程序
总体安装步骤 安装VSC(Visual Studio Code). 安装C/C++编译器(如MinGW-w64),然后配置好环境变量.//完成这步即可在VSC的终端(命令行)下编译.运行.cpp程序了 ...
- 剖析并利用Visual Studio Code在Mac上编译、调试c#程序
0x00 前言 一周多以前的微软的Build大会上,微软发布了一个让很多人眼前一亮的工具,也是本文的主角——Visual Studio Code.很多使用Windows的朋友都很高兴,认为又多了一个很 ...
- ubuntu下使用visual studio code来编译和调试C++
最近想在linux上编译c++代码,自己却一直习惯window上的IDE.以前公司要我写Linux代码的时候,我一般都是用eclipse + CDT,而eclipse这东西吧,我个人感觉因为加载组件太 ...
- 剖析并利用Visual Studio Code在Mac上编译、调试c#程序【转】
0x00 前言 一周多以前的微软的Build大会上,微软发布了一个让很多人眼前一亮的工具,也是本文的主角——Visual Studio Code.很多使用Windows的朋友都很高兴,认为又多了一个很 ...
- 开发者说 | 使用Visual Studio Code编译、调试Apollo项目
转载地址:https://mp.weixin.qq.com/s?__biz=MzI1NjkxOTMyNQ==&mid=2247484266&idx=1&sn=d6bcd4842 ...
- Visual Studio Code (vscode)编译C++
Visual Studio Code (简称 VS Code / VSC) 是一款免费开源的现代化轻量级代码编辑器,支持几乎所有主流的开发语言的语法高亮.智能代码补全.自定义热键.括号匹配.代码片段. ...
- Visual Studio Code (VSCode) 配置 C/C++ 开发编译环境
前言 工作多年,突然发现很多C++的基础都忘记了,加之C++不断更新换代后的各种新特性,于是想重拾C++的基础学习.虽然现在工作都是Linux平台,但考虑到个人方便,自己也仅仅想重温语法,家里家外都可 ...
- Visual Studio Code 配置 gcc
作者:谭九鼎链接:https://www.zhihu.com/question/30315894/answer/154979413来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注 ...
- Visual Studio Code 如何编写运行 C、C++ 程序?
0. 前言 VS Code 是微软发布一款跨平台的源代码编辑器,其拥有强大的功能和丰富的扩展,使之能适合编写许多语言. 本文面向初学者(但不是纯小白),分享一点我配置C/C++的经验. 本文所有内容均 ...
随机推荐
- ubuntu下编译原生ffmpeg
本文主要介绍Linux 系统下如何编译Ffmpeg,编译环境是Ubuntu 16.04,Ffmpeg版本是3.4.2.Windows环境 下如何编译ffmpeg前面有博文介绍,也录有视频,感兴趣的同学 ...
- 性能测试框架Multi-Mechanize安装与使用
python模块介绍- multi-mechanize 通用的性能测试工具 简介 Multi-Mechanize 是一个开源的性能和负载测试框架,它并发运行多个 Python 脚本对网站或者服务生成负 ...
- sprint3 【每日scrum】 TD助手站立会议第四天
站立会议 组员 昨天 今天 困难 签到 刘铸辉 (组长) 和楠哥学习了通过AlarmManager 来实现闹钟,由于要用到BroadcastReceiver广播协议,所以正在学习中,暂时只是按照教程写 ...
- Controller跳转到外部链接
return new ModelAndView(new RedirectView("http://www.baidu.com")); 用了这个方法之后,方法的返回值也会变成mode ...
- Hibernate学习五----------组件属性
© 版权声明:本文为博主原创文章,转载请注明出处 实例 1.项目结构 2.pom.xml <project xmlns="http://maven.apache.org/POM/4.0 ...
- Qt QImageReader 相似乎有bug
Qt 版本号 5.4.1 (VS2010) 近期在做一个小程序,事实上非常easy,就是打开一个gif 动画.能够静态显示当中随意一帧图像.Qt 中有一个QImageReader 类.用这个类理论上说 ...
- LightOJ 1068 Investigation (数位dp)
problem=1068">http://www.lightoj.com/volume_showproblem.php?problem=1068 求出区间[A,B]内能被K整除且各位数 ...
- 输出 pdf
jar 包 :core-renderer.jar iText-2.0.8.jar iTextAsian.jar 方式1: import java.io.FileNotFoundException ...
- SQLite集成与用法
本文转载至 http://cn.cocos2d-x.org/article/index?type=cocos2d-x&url=/doc/cocos-docs-master/manual/fra ...
- python 基础 7.2 时间格式的相互转换
#/usr/bin/python #coding=utf-8 #@Time :2017/11/9 8:55 #@Auther :liuzhenchuan #@File :时间格式的相互转换.p ...