vscode配置c++环境并解决中文乱码问题
总共四步:
- 安装vscodde,安装code runner 和C/C++ 插件
- 安装mingw64,并添加到环境变量
- 在vscode相关文件中添加配置
- 解决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++环境并解决中文乱码问题相关推荐
- VSCODE配置C环境以及豆沙绿背景并且开启外部控制台以及解决中文乱码
文章目录 下载 配置MinGw 中文 开启控制台 解决中文乱码 设置背景颜色为豆沙绿 下载 首先就是先下载VSCODE了 VSCODE下载 下载完毕之后就一直next,记住他会叫你给你提供一些选项,你 ...
- cmder 常用配置(包括默认管理员运行和解决中文乱码)
简介 cmder是一个增强型命令行工具,不仅可以使用windows下的所有命令,更爽的是可以使用linux的命令,shell命令. 下载 官网地址:http://cmder.net/ 下载的时候,会有 ...
- 配置解决中文乱码的过滤器
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <html ...
- vscode 调试php 乱码,vscode调试c解决中文乱码怎么办
被vscode的c/c++的控制台中文乱码困扰了好久,一些找到的方法根本不适合我的情况,然后好不容易才找到可以的方法.其实也就是配置两个地方. 首先c语言的运行程序是调用的cmd.exe而window ...
- C语言学习第二天:解决中文乱码
昨天成功配置了Vscode的编译环境,但是并未注意编译时的中文运行出现乱码的问题,所以今天查阅资料解决了这个问题. 1.解决中文乱码问题 我们可以看到,源代码上的中文当我们运行时,终端里出现了乱码 ...
- VSCode配置C++环境(MSVC)
VSCode配置C++环境(MSVC) 最近心血来潮,想用一下微软的VSCode写一下C++,然而第一步就卡住了,竟然不会配置C++环境,陆陆续续搞了两天,总算是弄明白了,网上msvc教程比较少,就 ...
- 如何解决oracle中文乱码问题,oracle中解决中文乱码问题
中文乱码问题解决 1.查看服务器端编码 select userenv('language') from dual; 查到结果是: USERENV('LANGUAGE') --------------- ...
- 【c++】VSCode配置 c++ 环境(小白教程)
前言 这篇文章是笔者最开始学习使用vs code配置c/c++环境,第一次配置的时候,没有问题,但是评论区有小伙伴配置不成功,笔者又照着这个教程重新配置了一下.没有问题.于是乎,想着再写一篇文章重新说 ...
- PHP使用fpdf+fpdi解决中文乱码
本篇是针对要在现有pdf文件上写字,加图片这种需求而描述的方法.用到PHP代码,无需配置服务器PHP扩展库环境,因此是简单和方便的. 需要用到三个库(下面三个文件大家可以去GitHub下载也可以网上搜 ...
最新文章
- Effective C++学习笔记(Part Five:Item 26-31)
- [转载]如何在只能力加载的有限元程序里面实现按位移加载
- ubantu使用apt安装时出现: xxx is not found 的解决方法
- CC1101超低功耗无线模块在物联网能门锁中的应用
- python变量定义问题_python 定义n个变量方法 (变量声明自动化)
- 两次被裁之后,我终于解决了数据库缓存一致性问题
- 为什么[]比list()更快?
- 任正非:不要过度消费客户及民众对我们的同情与支持
- 随机生成关于银行卡号的字典(卡号以6102009开头,后面依次是001,002,...)
- impala操作hive数据实例
- [LibTorch] C++ 调用 PyTorch 导出的模型
- TitleWindow的CloseButtionSkin问题
- 游戏设计的100个原理(11-15)
- OpenEmu for mac(苹果系统原生游戏模拟软件)中文版
- 时空数据生成对抗网络研究综述(下)
- qcow2和vmdk互相转
- Package | 解决 Could not build wheels for opencv-python which use PEP 517 and cannot be installed
- 配置ntp客户端与服务器端时间的同步
- security+真的没有那么难考,我的信息安全分享
- 怎样能煮一个健康的方便面??
热门文章
- Verilog RTL 代码实战 01——半加器全加器
- (三)苏世民:我的经验和教训:追梦(3)
- 大数据的周边技术-这个解释很通俗
- JavaIO—Day21
- 程序员的第三次 “创业” 我选择继续开发在线客服系统,终于得到了积极反馈
- python-格式化写入xml文件
- 剖析拒绝服务攻击-SYN拒绝服务(转)
- win11触控板用不了怎么办?win11触控板用不了的解决方法
- 网页下载Google Play 的App
- jsp使用session出现The server encountered an unexpected condition that prevented it from fulfilling the r