之前的C语言课程老师只讲了C没有接触C++,但是觉得C++挺重要的,而且python和java再去转exe有点麻烦,所以还是学一下C++。

问过朋友推荐了几个IDE,最后他用的是visual studio,但是我嫌太大了。我说只要代码提示和高亮就行了,朋友说vs code就行。

安装了vs code、c/c++插件、mingw-64后开始用,发现和当时学c的时候的vc++ 6.0不太一样,不能直接编译调试,还要设置相应的配置文件。

经过一番搜索后,大概理解了是怎么回事。

程序源码目录下有一个.vscode的文件夹,里面要存放各种配置文件。我目前就涉及到了两个,launch.json和tasks.json。

launch.json是用来调试并启动程序的配置文件

tasks.json是用来编译源码的配置文件(可能有其他用处,但目前我就知道他能编译源码)

其中的tasks.json如果是c那么command是gcc,如果是c++那么command是g++(我套用的可能是c的模板,然后写cpp的时候编译出现问题,改成g++就好了)

launch.json

{
"version": "0.2.0", //配置版本
"configurations": [
{
// 配置名称,在启动配置下拉菜单中显示
"name": "(gdb) Launch",
// 调试会话开始前要运行的任务
"preLaunchTask": "build",
// 配置类型
"type": "cppdbg",
// 请求配置类型,可以为启动(launch)或附加(attach)
"request": "launch",
// 将要进行调试的程序的路径
"program": "${fileDirname}/${fileBasenameNoExtension}.exe",
// 程序调试时传递给程序的命令行参数,一般设为空即可
"args": [],
// 设为true时程序将暂停在程序入口处,一般设置为false
"stopAtEntry": false,
// 调试程序时的工作目录,一般为${workspaceFolder}即代码所在目录
"cwd": "${workspaceFolder}",
"environment": [],
// 调试时是否显示控制台窗口,一般设置为true显示控制台
"externalConsole": true,
"MIMode": "gdb",
// GDB的路径,注意替换成自己的位置中的 gdb
"miDebuggerPath": "H:/mingw-64/mingw64/bin/gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
}

tasks.json

{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
// 编译参数 ggc -g ${file} -o ${fileDirname}${fileBasenameNoExtension}.exe
"windows": {
"command": "gcc",
"args": [
"-g",
"\"${file}\"",
"-o",
"\"${fileDirname}\\${fileBasenameNoExtension}.exe\""
]
},
// 控制台输出的错误信息
"problemMatcher": {
"owner": "cpp",
"fileLocation": [
"relative",
"." // ${workspaceFolder}
],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": ,
"line": ,
"column": ,
"severity": ,
"message":
}
},
"group": {
"kind": "build",
"isDefault": true
},
// 终端面板配置
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared" // 控制面板是否在任务中共享面板,shared=共享,new=新面板
}
}
]
}

最新文章

  1. vs2013单元测试第二部分
  2. Ansible (一)
  3. Hibernate不能自动建数据表解决办法
  4. git 使用笔记
  5. 【军哥谈CI框架】之入门教程之第二讲:分析CI结构和CI是怎么工作的
  6. Nagle算法,tcp小包组合(延迟)发送的算法
  7. OpenResty 反向代理的用法与技巧
  8. C#编写以管理员身份运行的程序
  9. Yii框架 多数据库、主从、读写分离
  10. redhat系列yum本地源配置
  11. Linux学习之less命令
  12. 十几个remote control software
  13. Servlet和JSP读书笔记(三)之Cookie
  14. (中等) POJ 2828 Buy Tickets , 逆序+线段树。
  15. Chrome 插件集锦
  16. Java Collections 源码分析
  17. 读汤姆大叔《JavaScript变量对象》笔记
  18. Oracle查询字符串数据进行排序,以及去重复
  19. 关于gulp-sftp上传到服务器
  20. Kivy 中文教程 实例入门 简易画板 (Simple Paint App):1. 自定义窗口部件 (widget)

热门文章

  1. DataPipeline |ApacheKafka实战作者胡夕:Apache Kafka监控与调优
  2. opencc介绍
  3. (CSDN 迁移) JAVA循环删除List的某个元素
  4. [QT] - 图片查看器(数码相框)#工程源码
  5. Spirng学习指南-第一章(完)
  6. php GD 和图像处理函数, 用 STHUPO.TTF 字体向图像写入文本
  7. Window中C++进行精确计时的方法
  8. Intellij IDEA最全的热键表(default keymap)
  9. C# vb .net图像合成-合成富文本
  10. 【转载】C#中double.TryParse方法和double.Parse方法的异同之处