总共四步:

  1. 安装vscodde,安装code runner 和C/C++ 插件
  2. 安装mingw64,并添加到环境变量
  3. 在vscode相关文件中添加配置
  4. 解决C++输出中文乱码的问题

第一步:

  • 安装vscode,在vscode拓展商店安装 code runner 和 C/C++ 插件:

第二步:

  • 下载mingw64,记得选择离线版下载。
  • 离线下载地址:https://sourceforge.net/projects/mingw-w64/files/
  • 下载好后解压,把解压路径+\mingw64\bin添加到环境变量。例如我直接解压在D盘,所以我把 D:\mingw64\bin 添加到环境变量中,根据你的路径添加到环境变量中。添加到环境变量的方法我就不说了,如果实在不会的话可以在下面留言。

    检查是否成功添加正确的路径到环境变量中,win+R 打开cmd窗口,输入g++ -v,回车若出现类似于以下的内容则成功了,继续下一步。若失败大概是没添加正确的路径或是安装错误的mingw64。

到这里已经可以运行cpp文件了,下面是有关调试的设置

第三步:

配置四个文件,看起来麻烦其实弄起来挺快的

  • launch.json
  • settings.json
  • c_cpp_propertier.json
  • tasks.json

1、launch.json
把以下配置添加到你的launch.json中,注意把你的路径覆盖我的。

{"version": "0.2.0","configurations": [{"name": "(gdb) Launch", // 配置名称,将会在启动配置的下拉菜单中显示// "preLaunchTask": "build","type": "cppdbg", // 配置类型,这里只能为cppdbg"request": "launch", // 请求配置类型,可以为launch(启动)或attach(附加)"program": "${workspaceFolder}/${fileBasenameNoExtension}.exe", // 将要进行调试的程序的路径"args": [], // 程序调试时传递给程序的命令行参数,一般设为空即可"stopAtEntry": false, // 设为true时程序将暂停在程序入口处,一般设置为false"cwd": "${workspaceFolder}", // 调试程序时的工作目录,一般为${workspaceRoot}即代码所在目录 workspaceRoot已被弃用,现改为workspaceFolder"environment": [],"externalConsole": true, // 调试时是否显示控制台窗口,一般设置为true显示控制台"MIMode": "gdb","miDebuggerPath": "D:\\mingw64\\bin\\gdb.exe", // miDebugger的路径,注意这里要与MinGw的路径对应"preLaunchTask": "g++", // 调试会话开始前执行的任务,一般为编译程序,c++为g++, c为gcc"setupCommands": [{"description": "Enable pretty-printing for gdb","text": "-enable-pretty-printing","ignoreFailures": true}]}]}


2、settings.json

复制以下内容添加到你的settings.json中。

{//"atomKeymap.promptV3Features": true,"editor.multiCursorModifier": "ctrlCmd",// "[cpp]": {//     "editor.quickSuggestions": true// },// "[c]": {//     "editor.quickSuggestions": true// },// c++ 配置"files.associations": {"*.json": "jsonc","*.cfg": "ini","*.fsh": "glsl","stack": "cpp","iostream": "cpp","ostream": "cpp","*.tcc": "cpp","cctype": "cpp","clocale": "cpp","cmath": "cpp","cstdint": "cpp","cstdio": "cpp","cstdlib": "cpp","cwchar": "cpp","cwctype": "cpp","exception": "cpp","initializer_list": "cpp","iosfwd": "cpp","istream": "cpp","limits": "cpp","new": "cpp","stdexcept": "cpp","streambuf": "cpp","system_error": "cpp","type_traits": "cpp","typeinfo": "cpp","utility": "cpp","iomanip": "cpp"},"editor.snippetSuggestions": "top","C_Cpp.clang_format_sortIncludes": true,"editor.wordWrap": "on","editor.formatOnPaste": true,"editor.formatOnType": true,"editor.codeActionsOnSaveTimeout": 500,"files.autoSaveDelay": 500,"editor.hover.delay": 1000,// "files.autoGuessEncoding": true,"editor.detectIndentation": false,// "files.encoding": "utf8","editor.formatOnSaveTimeout": 20,// "editor.fontFamily": "Consolas",// "workbench.iconTheme": "vscode-icons",//下面这个设置为终端输出结果// "code-runner.runInTerminal": true,//下面这个解决终端输出c++中文乱码"terminal.integrated.shellArgs.windows": ["/K chcp 65001 >nul"],
}

3、c_cpp_properties.json
复制以下内容到你的c_cpp_properties.json文件中,记得将我的路径修改成你的路径。

{"configurations": [{"name": "Win32","includePath": ["${workspaceRoot}","D:/mingw64/include/**","D:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++","D:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32","D:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward","D:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include","D:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed","D:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"],"defines": ["_DEBUG","UNICODE","__GNUC__=6","__cdecl=__attribute__((__cdecl__))"],"intelliSenseMode": "msvc-x64","browse": {"limitSymbolsToIncludedHeaders": true,"databaseFilename": "","path": ["${workspaceRoot}","D:/mingw64/include/**","D:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++","D:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/x86_64-w64-mingw32","D:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include/c++/backward","D:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include","D:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed","D:/mingw64/bin/../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include"]}}],"version": 4
}


4、tasks.json
Ctrl+shift+p 打开vscode查找功能,输入task


然后将下面内容添加到你的tasks.json中。

{"version": "2.0.0","tasks": [{"label": "build","type": "shell","group": {"kind": "build","isDefault": true},"presentation": {"echo": true,"reveal": "always","focus": false,"panel": "shared"},"windows": {"command": "g++","args": ["-ggdb","\"${file}\"","--std=c++11","-o","\"${fileDirname}\\${fileBasenameNoExtension}.exe\""]}}]
}

到了这一步,就可以运行代码了,新建一个cpp文件,复制以下代码测试:

#include <stdio.h>
int main()
{printf("What is your name?\n");printf("hello,阿呆 \n");printf("Hello,nice to meet you!\n");
}

点击鼠标右键再点击run code 或者使用运行代码快捷键 Ctrl+AIt+N ,即可查看输出

如果你是按照我的方法到这一步的话,那么输出中文就不会乱码。
如果你想在终端输出c++代码,那么就需要在settings.json中添加以下代码,我在上面的settings.json中已经把这两行代码添加上去了,所以你无须再添加。

中文的windows下的cmd默认使用GBK的编码,/K chcp 65001 >nul的含义是在运行cmd的时候将编码设置为65001;>nul是避免在控制台输出修改编码的信息,否则会输出active code page: 65001;
运行结果展示:

没有添加就会出现下面这种情况:

到这里我已经讲完了,昨天弄的时候踩了挺多坑,希望这篇文章能对你有所帮助。

相关推荐:
vscode配置python环境并解决输出中文乱码问题
vscode配置js环境

vscode配置c++环境并解决中文乱码问题相关推荐

  1. VSCODE配置C环境以及豆沙绿背景并且开启外部控制台以及解决中文乱码

    文章目录 下载 配置MinGw 中文 开启控制台 解决中文乱码 设置背景颜色为豆沙绿 下载 首先就是先下载VSCODE了 VSCODE下载 下载完毕之后就一直next,记住他会叫你给你提供一些选项,你 ...

  2. cmder 常用配置(包括默认管理员运行和解决中文乱码)

    简介 cmder是一个增强型命令行工具,不仅可以使用windows下的所有命令,更爽的是可以使用linux的命令,shell命令. 下载 官网地址:http://cmder.net/ 下载的时候,会有 ...

  3. 配置解决中文乱码的过滤器

    <%@ page contentType="text/html;charset=UTF-8" language="java" %> <html ...

  4. vscode 调试php 乱码,vscode调试c解决中文乱码怎么办

    被vscode的c/c++的控制台中文乱码困扰了好久,一些找到的方法根本不适合我的情况,然后好不容易才找到可以的方法.其实也就是配置两个地方. 首先c语言的运行程序是调用的cmd.exe而window ...

  5. C语言学习第二天:解决中文乱码

    昨天成功配置了Vscode的编译环境,但是并未注意编译时的中文运行出现乱码的问题,所以今天查阅资料解决了这个问题. 1.解决中文乱码问题 我们可以看到,源代码上的中文当我们运行时,终端里出现了乱码   ...

  6. VSCode配置C++环境(MSVC)

    VSCode配置C++环境(MSVC)  最近心血来潮,想用一下微软的VSCode写一下C++,然而第一步就卡住了,竟然不会配置C++环境,陆陆续续搞了两天,总算是弄明白了,网上msvc教程比较少,就 ...

  7. 如何解决oracle中文乱码问题,oracle中解决中文乱码问题

    中文乱码问题解决 1.查看服务器端编码 select userenv('language') from dual; 查到结果是: USERENV('LANGUAGE') --------------- ...

  8. 【c++】VSCode配置 c++ 环境(小白教程)

    前言 这篇文章是笔者最开始学习使用vs code配置c/c++环境,第一次配置的时候,没有问题,但是评论区有小伙伴配置不成功,笔者又照着这个教程重新配置了一下.没有问题.于是乎,想着再写一篇文章重新说 ...

  9. PHP使用fpdf+fpdi解决中文乱码

    本篇是针对要在现有pdf文件上写字,加图片这种需求而描述的方法.用到PHP代码,无需配置服务器PHP扩展库环境,因此是简单和方便的. 需要用到三个库(下面三个文件大家可以去GitHub下载也可以网上搜 ...

最新文章

  1. Effective C++学习笔记(Part Five:Item 26-31)
  2. [转载]如何在只能力加载的有限元程序里面实现按位移加载
  3. ubantu使用apt安装时出现: xxx is not found 的解决方法
  4. CC1101超低功耗无线模块在物联网能门锁中的应用
  5. python变量定义问题_python 定义n个变量方法 (变量声明自动化)
  6. 两次被裁之后,我终于解决了数据库缓存一致性问题
  7. 为什么[]比list()更快?
  8. 任正非:不要过度消费客户及民众对我们的同情与支持
  9. 随机生成关于银行卡号的字典(卡号以6102009开头,后面依次是001,002,...)
  10. impala操作hive数据实例
  11. [LibTorch] C++ 调用 PyTorch 导出的模型
  12. TitleWindow的CloseButtionSkin问题
  13. 游戏设计的100个原理(11-15)
  14. OpenEmu for mac(苹果系统原生游戏模拟软件)中文版
  15. 时空数据生成对抗网络研究综述(下)
  16. qcow2和vmdk互相转
  17. Package | 解决 Could not build wheels for opencv-python which use PEP 517 and cannot be installed
  18. 配置ntp客户端与服务器端时间的同步
  19. security+真的没有那么难考,我的信息安全分享
  20. 怎样能煮一个健康的方便面??

热门文章

  1. Verilog RTL 代码实战 01——半加器全加器
  2. (三)苏世民:我的经验和教训:追梦(3)
  3. 大数据的周边技术-这个解释很通俗
  4. JavaIO—Day21
  5. 程序员的第三次 “创业” 我选择继续开发在线客服系统,终于得到了积极反馈
  6. python-格式化写入xml文件
  7. 剖析拒绝服务攻击-SYN拒绝服务(转)
  8. win11触控板用不了怎么办?win11触控板用不了的解决方法
  9. 网页下载Google Play 的App
  10. jsp使用session出现The server encountered an unexpected condition that prevented it from fulfilling the r