使用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模块的名字(我以前是 ...
随机推荐
- 《贝贝GO》服务条款
服务条款 一.服务条款的确认与接收 1.贝贝GO客户端软件(以下简称“本软件”)各项电子服务的所有权和运作权归属于“东莞市山水信息技术有限公司”(以下称“本公司”)所有,本软件提供的服务将完全按照其发 ...
- js中的正则
闭包: 函数在调用的时候会形成私有的作用域,对内部的变量起到保护的作用,这就是闭包: 变量销毁: 1.人为销毁 : var a = 12: a = null: 2.孜然销毁 : 函数在调用完之后, ...
- SSRF漏洞浅析
大部分web应用都提供了从其他的服务器上获取数据的功能,如使用用户指定的URL,web应用可以获取图片,下载文件,读取文件内容等.如果服务端提供了从其他服务器应用获取数据的功能且没有对目标地址做过滤与 ...
- Python小白绘图 哆唻A梦 turtle真的很强大!
# -*- coding: utf-8 -*- """ Created on Sat Nov 10 22:02:32 2018 @author: 10029 " ...
- iOS 二维码 学习
这段时间忙着交接工作,找工作,找房子,入职,杂七杂八的,差不多一个月没有静下来学习了.这周末晚上等外卖的时间学习一下二维码的制作与扫描. 项目采用OC语言,只要使用iOS自带的CoreImage框架, ...
- CSS组合设计输入框和按钮生成自定义关键字查询栏
效果图: html代码: <!DOCTYPE html> <head> <title></title> </head> <body&g ...
- mysql 唯一索引与null.md
mysql 的唯一索引要求所有参与的列都不能够为 null 值,如果唯一索引中的任何一个元素含有 null 值,则唯一约束将不起作用. 示例代码 create table tb ( a int, b ...
- Java实现inputstream流的复制
获取到一个inputstream后,可能要多次利用它进行read的操作.由于流读过一次就不能再读了,而InputStream对象本身不能复制,而且它也没有实现Cloneable接口,所以得想点办法. ...
- sort_gff.py
import sys infile = sys.argv[1]outfile = sys.argv[2] gff_list = []fh = open(infile)for x in fh: i ...
- 常见Soc平台图形内存管理学习笔记
硬件编解码.硬件图像scale等过程,是在专有的硬件单元里进行,其使用的内存也是专有的内存,这种内存多是SoC中图形内存.如此方便与硬件加速图形渲染.图像显示.硬件图像加速处理等功能相交互. 上述过程 ...