使用Visual Studio Code开发(编译、调试)C++程序

先放结论

经过以下折腾,可以使用VSC编写C++程序了。

但如果只是为了学习C、C++、数据结构,还是建议直接使用Visual Studio Community。不用折腾配置,功能更强大,易用性更好。

如果只是编写一些小程序,用CodeBlock也很香。

安装步骤

  1. 安装VSC(Visual Studio Code)
  2. 安装C/C++编译器(如MinGW-w64),然后配置好环境变量。
    • 下载:打开MinGW-w64,选择合适版本,如x86_64-posix-seh进行下载。
    • 配置操作系统的Path变量:在Path变量中加入mingw的安装路径,如d:\mingw64\bin\
    • 配置完即可在VSC的终端或系统命令行下编译、运行.cpp程序了。参考命令:g++ HelloWorld.cpp -o HelloWorld
  3. 安装并配置C++ Intellisense
  4. 安装并配置Code Runner插件,可在VSC内一键编译运行
    • 打开VSC中的扩展管理界面(文件-首选项-扩展,或者Ctrl + Shift + x),搜索Code Runner

      • 快速编译并运行当前文件:Ctrl + Alt + N或右键点击当前编辑框、选择Run Code
    • 配置控制台允许输入:在"文件-首选项-设置-用户-扩展-Run Code Configuration",勾选Run In Terminal
  5. 解决中文乱码问题
    • 配置:"文件-首选项-设置",搜索encoding,勾选"Auto Guess Encoding"。
  6. 配置调试环境(可选)
    • 需配置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++程序的更多相关文章

  1. 【实验手册】使用Visual Studio Code 开发.NET Core应用程序

    .NET Core with Visual Studio Code 目录 概述... 2 先决条件... 2 练习1: 安装和配置.NET Core以及Visual Studio Code 扩展... ...

  2. ubuntu下使用visual studio code来编译和调试C++

    最近想在linux上编译c++代码,自己却一直习惯window上的IDE.以前公司要我写Linux代码的时候,我一般都是用eclipse + CDT,而eclipse这东西吧,我个人感觉因为加载组件太 ...

  3. Mac上使用Visual Studio Code开发/调试.NET Core代码

    Mac上使用Visual Studio Code开发/调试.NET Core代码 .Net Core 1.0终于发布了,Core的一大卖点就是跨平台.这个跨平台不只是跨平台运行,而且可以跨平台开发.今 ...

  4. 打造TypeScript的Visual Studio Code开发环境

    打造TypeScript的Visual Studio Code开发环境 本文转自:https://zhuanlan.zhihu.com/p/21611724 作者: 2gua TypeScript是由 ...

  5. [Tool] 使用Visual Studio Code开发TypeScript

    [Tool] 使用Visual Studio Code开发TypeScript 注意 依照本篇操作步骤实作,就可以在「Windows」.「OS X」操作系统上,使用Visual Studio Code ...

  6. Visual Studio Code开发TypeScript

    [Tool] 使用Visual Studio Code开发TypeScript   [Tool] 使用Visual Studio Code开发TypeScript 注意 依照本篇操作步骤实作,就可以在 ...

  7. 使用Visual Studio Code开发.NET Core看这篇就够了

    作者:依乐祝 原文地址:https://www.cnblogs.com/yilezhu/p/9926078.html 在本文中,我将带着大家一步一步的通过图文的形式来演示如何在Visual Studi ...

  8. 使用Visual Studio Code开发Asp.Net Core WebApi学习笔记(一)-- 起步

    本文记录了在Windows环境下安装Visual Studio Code开发工具..Net Core 1.0 SDK和开发一个简单的Web-Demo网站的全过程. 一.安装Visual Studio ...

  9. 使用Visual Studio Code 开发 ESP8266

    使用Visual Studio Code 开发 ESP8266 ESP8266+ArduinoIDE+VSCode开发ESP8266. 首先说明一下ESP8266并不是某一WiFi模块的名字(我以前是 ...

随机推荐

  1. 18-09-15 潘一刘老师 讲课replace 控件输入函数检测的包

    控件输入 指的是 一般金融机构 输入密码时候需要文本 键盘不能输入时候 用到的

  2. Js修改input值后怎么同步修改绑定的v-model值

    v-model只是一种语法糖,底层的方法还是去监听input事件.所以可以使用dispatchEvent事件给元素分配一个input事件,这样可以手动触发 inputElement 的 input 事 ...

  3. 使用flask+SQL语句实现通过前台收到的信息向数据库中插入事件+初级CSS+HTML拯救一下我的主页·····

    1.使用flask+SQL语句实现**#@&&(懒得再扣一遍题目) 上代码: @app.route('/register', methods=['POST', 'GET']) def ...

  4. 常用的JSP内置对象(1)

    常用的JSP内置对象 request对象主要用于处理客户端请求 request对象的作用是与客户端交互,收集客户端的Form.Cookies.超链接,或者收集服务器端的环境变量. request对象常 ...

  5. JavaScript 运动(缓冲运动,多物体运动 ,多物体多值运动+回调机制)

    匀速运动   (当需要物体做匀速运动直接调用statMove函数) function startMove(dom,targetPosetion){ //dom : 运动对象,targetPositio ...

  6. JavaScript 之 预编译 作用域,作用域链

    第一次写博客,本来是学习jQuery遇到闭包问题,发现并没有理解闭包,发现闭包牵扯的知识点太多.复习了一遍(发现自己该记住的全忘了)写在博客里,自己也是小白,希望大神们指点迷津,必将感激不尽. 我们知 ...

  7. JVM垃圾收集器-Parallel Scavenge收集器

    今天我给大家讲讲JVM垃圾收集器-Parallel Scavenge收集器 Parallel Scavenge收集器 Parallel Scavenge收集器也是一个新生代收集器,它也是使用复制算法的 ...

  8. JavaScript基础之对象属性的检测和枚举

    属性检测 对象作为属性的集合,属性又包括自有属性和继承属性: 检测方法: \__   in运算符: \__ var obj = { x:1 } console.log( 'toString' in o ...

  9. less的安装和使用

    资料: https://www.cnblogs.com/starof/p/5226739.html 

  10. TemplatePart特性的作用

    看wp控件的源代码时发现TemplatePart特性,于是在百度上查了查: http://blog.csdn.net/wushang923/article/details/9224533 Templa ...