使用Visual Studio Code开发(编译、调试)C++程序
使用Visual Studio Code开发(编译、调试)C++程序
先放结论
经过以下折腾,可以使用VSC编写C++程序了。
但如果只是为了学习C、C++、数据结构,还是建议直接使用Visual Studio Community。不用折腾配置,功能更强大,易用性更好。
如果只是编写一些小程序,用CodeBlock也很香。
安装步骤
- 安装VSC(Visual Studio Code)。
- 安装C/C++编译器(如MinGW-w64),然后配置好环境变量。
- 下载:打开MinGW-w64,选择合适版本,如x86_64-posix-seh进行下载。
- 配置操作系统的
Path变量:在Path变量中加入mingw的安装路径,如d:\mingw64\bin\ - 配置完即可在VSC的终端或系统命令行下编译、运行.cpp程序了。参考命令:
g++ HelloWorld.cpp -o HelloWorld。
- 安装并配置C++ Intellisense。
- 一般新建
.cpp文件,VSC会自动提示你安装该插件。 - 参考资料:Visual Studio Code include file not found in include directory
- 一般新建
- 安装并配置Code Runner插件,可在VSC内一键编译运行
- 打开VSC中的扩展管理界面(文件-首选项-扩展,或者
Ctrl + Shift + x),搜索Code Runner。- 快速编译并运行当前文件:
Ctrl + Alt + N或右键点击当前编辑框、选择Run Code。
- 快速编译并运行当前文件:
- 配置控制台允许输入:在"文件-首选项-设置-用户-扩展-Run Code Configuration",勾选Run In Terminal。
- 打开VSC中的扩展管理界面(文件-首选项-扩展,或者
- 解决中文乱码问题
- 配置:"文件-首选项-设置",搜索encoding,勾选"Auto Guess Encoding"。
- 配置调试环境(可选)
- 需配置launch.json与task.json
- 创建launch.json:按
Ctrl+Shift+P,输入Tasks: Configure Task,选择Create tasks.json file from templates,选择Others。 - 创建task.json:好像按
F5就会提示创建。
task.json(用于Build)
{
"version": "2.0.0",
"tasks": [
{
"label": "build hello",
"type": "shell",
"command": "g++",
"args": [
"-g","${file}","-o","${fileDirname}/${fileBasenameNoExtension}.exe" //代表build的是当前文件
],
"group": { //该配置:按ctrl+shift+b就可以直接build当前文件
"kind": "build",
"isDefault": true
}
}
]
}
launch.json(用于调试)
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}/${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "d:/mingw64/bin/gdb.exe", //mingw的调试程序所在路径
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "build hello" //要与tasks.json中的label属性值一样
}
]
}
常用快捷键与其他设置
快捷键
命令面板(重要):Ctrl+Shift+P
自动生成小代码块:Tab
对同一个文件并排打开多个:Ctrl+\
注释行:Ctrl+/
删除行:Ctrl+Shift+K
格式化文本:Shift+Alt+F或右键点击编辑区。
列选择:Shift+Alt+鼠标拖拽
注意:如果想使用其他编辑上的惯用快捷键,请选择文件-首选项-按键映射选择相应的方案。
其他设置
使用鼠标滚轮改变字体大小:打开文件-首选项-设置在搜索设置中输入mousewheelzoom,勾选Editor: Mouse Wheel Zoom。
参考资料
windows下使用vscode编写运行以及调试C/C++
C/C++ for Visual Studio Code (Preview)
使用Visual Studio Code开发(编译、调试)Java程序
轻量级的开发平台Visual Studio Code,其可以方便的与git相结合。并且最近推出了Visual Studio Code Installer for Java。大家也可尝试使用。具体中文说明可以参考这篇文章微软为 Java 开发者推出 VSCode 安装程序。
总的来说比写C++程序容易很多。大家可以尝试一下。
使用Visual Studio Code开发(编译、调试)C++程序的更多相关文章
- 【实验手册】使用Visual Studio Code 开发.NET Core应用程序
.NET Core with Visual Studio Code 目录 概述... 2 先决条件... 2 练习1: 安装和配置.NET Core以及Visual Studio Code 扩展... ...
- ubuntu下使用visual studio code来编译和调试C++
最近想在linux上编译c++代码,自己却一直习惯window上的IDE.以前公司要我写Linux代码的时候,我一般都是用eclipse + CDT,而eclipse这东西吧,我个人感觉因为加载组件太 ...
- Mac上使用Visual Studio Code开发/调试.NET Core代码
Mac上使用Visual Studio Code开发/调试.NET Core代码 .Net Core 1.0终于发布了,Core的一大卖点就是跨平台.这个跨平台不只是跨平台运行,而且可以跨平台开发.今 ...
- 打造TypeScript的Visual Studio Code开发环境
打造TypeScript的Visual Studio Code开发环境 本文转自:https://zhuanlan.zhihu.com/p/21611724 作者: 2gua TypeScript是由 ...
- [Tool] 使用Visual Studio Code开发TypeScript
[Tool] 使用Visual Studio Code开发TypeScript 注意 依照本篇操作步骤实作,就可以在「Windows」.「OS X」操作系统上,使用Visual Studio Code ...
- Visual Studio Code开发TypeScript
[Tool] 使用Visual Studio Code开发TypeScript [Tool] 使用Visual Studio Code开发TypeScript 注意 依照本篇操作步骤实作,就可以在 ...
- 使用Visual Studio Code开发.NET Core看这篇就够了
作者:依乐祝 原文地址:https://www.cnblogs.com/yilezhu/p/9926078.html 在本文中,我将带着大家一步一步的通过图文的形式来演示如何在Visual Studi ...
- 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(一)-- 起步
本文记录了在Windows环境下安装Visual Studio Code开发工具..Net Core 1.0 SDK和开发一个简单的Web-Demo网站的全过程. 一.安装Visual Studio ...
- 使用Visual Studio Code 开发 ESP8266
使用Visual Studio Code 开发 ESP8266 ESP8266+ArduinoIDE+VSCode开发ESP8266. 首先说明一下ESP8266并不是某一WiFi模块的名字(我以前是 ...
随机推荐
- 18-09-15 潘一刘老师 讲课replace 控件输入函数检测的包
控件输入 指的是 一般金融机构 输入密码时候需要文本 键盘不能输入时候 用到的
- Js修改input值后怎么同步修改绑定的v-model值
v-model只是一种语法糖,底层的方法还是去监听input事件.所以可以使用dispatchEvent事件给元素分配一个input事件,这样可以手动触发 inputElement 的 input 事 ...
- 使用flask+SQL语句实现通过前台收到的信息向数据库中插入事件+初级CSS+HTML拯救一下我的主页·····
1.使用flask+SQL语句实现**#@&&(懒得再扣一遍题目) 上代码: @app.route('/register', methods=['POST', 'GET']) def ...
- 常用的JSP内置对象(1)
常用的JSP内置对象 request对象主要用于处理客户端请求 request对象的作用是与客户端交互,收集客户端的Form.Cookies.超链接,或者收集服务器端的环境变量. request对象常 ...
- JavaScript 运动(缓冲运动,多物体运动 ,多物体多值运动+回调机制)
匀速运动 (当需要物体做匀速运动直接调用statMove函数) function startMove(dom,targetPosetion){ //dom : 运动对象,targetPositio ...
- JavaScript 之 预编译 作用域,作用域链
第一次写博客,本来是学习jQuery遇到闭包问题,发现并没有理解闭包,发现闭包牵扯的知识点太多.复习了一遍(发现自己该记住的全忘了)写在博客里,自己也是小白,希望大神们指点迷津,必将感激不尽. 我们知 ...
- JVM垃圾收集器-Parallel Scavenge收集器
今天我给大家讲讲JVM垃圾收集器-Parallel Scavenge收集器 Parallel Scavenge收集器 Parallel Scavenge收集器也是一个新生代收集器,它也是使用复制算法的 ...
- JavaScript基础之对象属性的检测和枚举
属性检测 对象作为属性的集合,属性又包括自有属性和继承属性: 检测方法: \__ in运算符: \__ var obj = { x:1 } console.log( 'toString' in o ...
- less的安装和使用
资料: https://www.cnblogs.com/starof/p/5226739.html
- TemplatePart特性的作用
看wp控件的源代码时发现TemplatePart特性,于是在百度上查了查: http://blog.csdn.net/wushang923/article/details/9224533 Templa ...