VsCode 配置C++调试运行

  • 打开命令面板快捷键为F1,软件上写的Ctrl+Shift+P似乎没用

先安装插件使得可以运行

  • 先自行在vsc扩展中搜索C++安装C/C++插件
  • 再参考知乎专栏中安装code-runner插件使得可以运行,参考这位知乎博客的插件参数配置,代码使用同样是这个人的知乎回答,他的知乎回答中的代码加上了必备的参数(注意.c和.cpp文件无法使用同一个配置)

一些编译参数比如说,添加编译警告,使得可以支持C++14等等,在这一步中进行,具体操作这位知乎博主有说

配置断点调试环境

  • 参考这位CSDN博主配置存放代码文件夹下的.vscode中的launch.jsontasks.json

  • 需要注意的是,在VSC中调试需要在打开的文件夹中进行(注意!是用VSC打开文件夹!!,单独打开一个单独的cpp是没有下面的几个配置文件出现的!!也就是说,这个cpp要在一个文件夹里!不像DevCpp和C-Free可以直接调试一个单独的cpp!!)

  • VSC不支持路径中含中文的文件调试

  • 条件断点的使用

  • 特别注意:

  • Vsc打开其他文件时,中文显示乱码,一劳永逸解决方案:打开Vsc,文件-首选项-设置-搜素files.autoGuessEncoding": flase改为files.autoGuessEncoding": true

  • Vsc终端打印出现中文乱码,首先我们应该明白,Vsc的终端调用的是windows的cmd或者windows powershell,到底是哪个可以通过

    先新建一个终端,保证有两个终端以上的时候就可以看到选择默认的shell这个选项,里面可以选择是调用cmd还是powershell,通过chcp命令可以查到这两个终端的默认编码都是936(简体中文默认的GBK编码),可以通过命令chcp 65001(65001 UTF-8代码页)临时将编码改成UTF-8。不建议直接修改cmd和powershell的默认编码,这会导致国内有些使用GBK编码的软件出现乱码或者不能显示或者莫名其妙的Bug,比如有道词典。详情查看知乎马甲回答下的评论,等一些老软件全部更新成现代Unicoded软件的时候就可以更改windows的编码了,具体方法网上很多,这里不再累赘。

  • 最后配上一份我本地的配置代码

launch.json:
{
"version": "0.2.0",
"configurations": [
{
"name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示
"type": "cppdbg", // 配置类型,这里只能为cppdbg
"request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)
"program": "${workspaceFolder}/${fileBasenameNoExtension}.exe",// 将要进行调试的程序的路径
"args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可
"stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false
"cwd": "${workspaceFolder}", // 调试程序时的工作目录,一般为${workspaceFolder}即代码所在目录
"environment": [],
"externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台
"MIMode": "gdb",
"miDebuggerPath": "C:/MinGW/bin/gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应
"preLaunchTask": "g++", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
]
}
]
} tasks.json
{
// {
// // 有关 tasks.json 格式的文档,请参见
// // https://go.microsoft.com/fwlink/?LinkId=733558
// "version": "2.0.0",
// "tasks": [
// {
// "type": "shell",
// "label": "g++",
// "command": "C:\\MinGW\\bin\\g++.exe",
// "args": [
// "-g",
// "${file}",
// "-o",
// "${fileDirname}\\${fileBasenameNoExtension}.exe"
// ],
// "options": {
// "cwd": "C:\\MinGW\\bin"
// },
// "problemMatcher": [
// "$gcc"
// ],
// "group": {
// "kind": "build",
// "isDefault": true
// }
// }
// ],
// } {
"version": "2.0.0",
"command": "g++",
"args": ["-g","${file}","-o","${fileBasenameNoExtension}.exe"], // 编译命令参数
"problemMatcher": {
"owner": "cpp",
"fileLocation": ["relative", "${workspaceFolder}"],
"pattern": {
"regexp": "^(.*):(\\d+):(\\d+):\\s+(warning|error):\\s+(.*)$",
"file": 1,
"line": 2,
"column": 3,
"severity": 4,
"message": 5
}
}
}
  • 本地用户设置代码
settings.json
{
"files.autoSaveDelay": 500,
"editor.fontSize": 18,
"code-runner.clearPreviousOutput": true,
"code-runner.ignoreSelection": true,
"code-runner.preserveFocus": false,
"code-runner.runInTerminal": true,
"code-runner.respectShebang": false,
"code-runner.saveAllFilesBeforeRun": true,
"code-runner.saveFileBeforeRun": true,
"code-runner.executorMap": {
"c": "cd $dirWithoutTrailingSlash && gcc $fileName -o $fileNameWithoutExt.exe -std=c11 -Wall -lm && ./$fileNameWithoutExt.exe",
//"c": "cd $dir && gcc -std=c11 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
//"cpp": "cd $dir && g++ -std=c++1s4 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"cpp": "cd $dirWithoutTrailingSlash && g++ $fileName -o $fileNameWithoutExt.exe -std=c++11 -Wall -lm && ./$fileNameWithoutExt.exe",
//"c": "cd $dir && gcc -std=c11 $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
},
"files.autoSave": "afterDelay",
"files.autoGuessEncoding": true,
"terminal.integrated.shell.windows": "C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\powershell.exe",
}

# VsCode 配置C++调试运行的更多相关文章

  1. VSCode配置python调试环境

    VSCode配置python调试环境 很久之前的一个东东,翻出来看看 VSCode配置python调试环境 * 1.下载python解释器 * 2.在VSCode市场中安装Python插件 * 4.在 ...

  2. VScode配置CMD本地运行环境(2.0)

    VScode配置CMD本地运行环境(2.0) 官方Task.json说明 完整的Task.json配置信息 Task.json预定义变量 看了很多网上的教程都说需要下载VScode的python插件, ...

  3. vscode配置python环境-运行调试-windows环境

    官方文件介绍 https://code.visualstudio.com/docs/languages/python 准备: vscode下载安装 python3版本下载(安装时可以选择添加环境变量, ...

  4. vsCode配置C++调试环境

    1.下载安装VSCode,安装mscpptools ,直接搜索c++,或者mscpptools 2.下载MinGW 安装好,一般默认安装到C:\MinGW 安装好后直接启动. 选择需要的gcc ,g+ ...

  5. VSCODE 配置远程调试环境

    以下内容为本人的著作,如需要转载,请声明原文链接微信公众号「englyf」https://www.cnblogs.com/englyf/p/16691460.html 我的需求是,在Windows桌面 ...

  6. python之vscode配置开发调试环境

    在vscode中下载python插件,下载量最多的就是 打开launch.json,把以下代码粘贴进去即可 { // 使用 IntelliSense 了解相关属性. // 悬停以查看现有属性的描述. ...

  7. vscode配置python调试仍然直接输出

    工作目录不能放在python的安装目录下

  8. vscode配置编译运行调试C/C++文件-windows环境

    在windows环境下,编译运行小文件的C/C++环境 软件准备: vscode mingw64(官网下特别慢,可以在devc++安装软件里中找,放到全局变量中) 插件下载: Run Code C/C ...

  9. Win10下使用VSCode配置python运行环境

    VSCode配置python运行环境 安装python 到官网下载python,直接安装即可,在安装过程中可以选择将python加入环境变量 安装VSCode 官网下载,直接安装 配置 安装pytho ...

随机推荐

  1. Codeforces - 2019年11月补题汇总

    大概目标是补到 #500 为止的 Div. 2 ,先定个小目标,寒假开始前补到 #560 为止 Codeforces Round #599 (Div. 2) 5/6 备注:0-1BFS(补图连通块) ...

  2. C# 图片进行马赛克处理

    MosaicHelper.AdjustTobMosaic( @"C:\Users\xxxue\Desktop\QQ图片20180704142029.jpg", @"C:\ ...

  3. Java核心复习——线程池ThreadPoolExecutor源码分析

    一.线程池的介绍 线程池一种性能优化的重要手段.优化点在于创建线程和销毁线程会带来资源和时间上的消耗,而且线程池可以对线程进行管理,则可以减少这种损耗. 使用线程池的好处如下: 降低资源的消耗 提高响 ...

  4. Borg、Omega和Kubernetes:谷歌十几年来从这三个容器管理系统中得到的经验教训 原创: 韩佳瑶 译 Docker 2016-03-23Borg、Omega和Kubernetes:谷歌十几年来从这三个容器管理系统中得到的经验教训 原创: 韩佳瑶 译 Docker 2016-03-23

    Borg.Omega和Kubernetes:谷歌十几年来从这三个容器管理系统中得到的经验教训 原创: 韩佳瑶 译 Docker 2016-03-23

  5. GIS 空间分析案例教程-坐标高斯投影正反算

    GIS 空间分析案例教程-坐标高斯投影正反算 商务科技合作:向日葵,135-4855__4328,xiexiaokui#qq.com 特点: 1. 地理处理工具,可以与任何arcgis 工具和语言集成 ...

  6. Android 滚动隐藏标题栏 和FAB按钮实现

    主页面: package com.loaderman.samplecollect.hideonscroll; import android.content.Intent; import android ...

  7. [MongoDB教程] 2.MongoDB的安装与使用

    下载mongodb的版本,两点注意 根据业界规则,偶数为稳定版,如3.2.X:奇数为开发版,如3.3.X 32bit的mongodb最大只能存放2G的数据,64bit就没有限制 MongoDB官网安装 ...

  8. (十三)过滤器Filter(转)

    --------转自孤傲苍狼博客 一.Filter简介 Filter也称之为过滤器,它是Servlet技术中最激动人心的技术,WEB开发人员通过Filter技术,对web服务器管理的所有web资源:例 ...

  9. linux 运维指令

    [root@yan- ~] # uname -a # 查看内核/操作系统/CPU信息的linux系统信息命令 [root@yan- ~] # head -n /etc/issue # 查看操作系统版本 ...

  10. AFN使用etag进行网络缓存

    前提:后台返回的接口带etag 第一步 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:( ...