Windows下VS code配置C++环境汉化解决中文乱码问题

news/2024/7/3 12:24:54 标签: cmd, 乱码, vscode, windows

一,下载VS code

官网下载VS code的对应版本
https://code.visualstudio.com/

二,配置MinGW及系统环境

官网下载MinGW,把g++ 跟gcc勾选上
选择非中文路径文件夹安装
把文件夹mingw中的bin路径复制,添加到环境变量——系统变量——path中
在这里插入图片描述

cmd调出,输入g++ -v(gcc -v)测试是否配置成功.
在这里插入图片描述

三,VS code中下载插件

下载C/C++ 、Chinese Language 、Code Runner插件

重启生效,汉化
PS:以下修改json等文件的时候大部分需要重启VS code生效。
另PS:有关文件的路径,注意修改成自己安装时候对应的路径(json文件)

四,配置VS code中的json文件

在设置的code-runner.run in terminal 和code-runner.ignore selection打上勾

在这里插入图片描述
在这里插入图片描述
配置launch.json、tasks.json、c_cpp_properties.json文件

launch.json(注意"miDebuggerPath": “D:\mingw64\bin\gdb.exe”,修改成自己的路径)

{
    // 使用 IntelliSense 了解相关属性。 
    // 悬停以查看现有属性的描述。
    // 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "g++.exe - 生成和调试活动文件",
            "type": "cppdbg",
            "request": "launch",
            "program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": true,
            "MIMode": "gdb",
            "miDebuggerPath": "D:\\mingw64\\bin\\gdb.exe",
            "setupCommands": [
                {
                    "description": "为 gdb 启用整齐打印",
                    "text": "-enable-pretty-printing",
                    "ignoreFailures": true
                }
            ],
            "preLaunchTask": "C/C++: g++.exe build active file"
        }
    ]
}

tasks.json(注意: “command”: “D:\mingw64\bin\g++.exe”, “cwd”: “D:\mingw64\bin”)

{
    "tasks": [
        {
            "type": "shell",
            "label": "C/C++: g++.exe build active file",
            "command": "D:\\mingw64\\bin\\g++.exe",
            "args": [
                "-g",
                "${file}",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe",
                "-ggdb3",   // 生成和调试有关的信息
                "-Wall",    // 开启额外警告
                "-static-libgcc",   // 静态链接
                "-std=c++17",       // 使用c++17标准
                "-finput-charset=UTF-8",    //输入编译器文本编码 默认为UTF-8
                "-fexec-charset=GB18030",   //输出exe文件的编码
                "-D _USE_MATH_DEFINES"
            ],
            "options": {
                "cwd": "D:\\mingw64\\bin"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "presentation": {
                "echo": true,
                "reveal": "always", // 在“终端”中显示编译信息的策略,可以为always,silent,never
                 "focus": false,
                 "panel": "shared" // 不同的文件的编译信息共享一个终端面板
            },
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ],
    "version": "2.0.0"
}

c_cpp_properties.json(注意: “compilerPath”: “D:\mingw64\bin\g++.exe”,)

{
    "configurations": [
        {
            "name": "MinGW64",
            "intelliSenseMode": "gcc-x64",
            "compilerPath": "D:\\mingw64\\bin\\g++.exe",
            "includePath": [
                "${workspaceFolder}"
            ],
            "cppStandard": "c++17"
        }
    ],
    "version": 4
 }
 

五,中文乱码问题的解决

关键在于chcp 65001,GBK&UTF-8

cmd打开默认的是GBK,cmd输入命令行chcp 65001可以转化成UTF-8

如:
在这里插入图片描述
此时是中文乱码,输入chcp 65001
跳转到
在这里插入图片描述
此时再执行
在这里插入图片描述
成功转化

倘若不想每次都输入,可以选择

  1. 在VS code中的settings.json里面修改
    在这里插入图片描述
    "cpp": "chcp 65001 >null && cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",

注意的是,VS code此时使用的是用PS(PowerShell),而非cmd,这个在控制台下方注意观察即可发现。
在这里插入图片描述
点击运行,没有出现中文乱码
在这里插入图片描述

  1. 注册表
    一劳永逸法:修改注册表,使其每使用cmd窗口的时候自动转化成chcp 65001
    win+R打开regedit
    找到计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
    右键新建一个字符串值,名字为:autorun,值为chcp 65001.
    在这里插入图片描述
    打开cmd,发现已经自动转化

在这里插入图片描述
总结:乱码问题最简单的最简单的方法是在运行前先执行chcp 65001(不想改那么多东西的话~)


json文件跟WinGW文件夹见下:
vscode配置文件

或网盘链接
https://wws.lanzous.com/iHPm7igx1ib


http://www.niftyadmin.cn/n/1184392.html

相关文章

Windows下实用软件集合

Windows下有很多软件能提高我们的使用体验,下面推荐几种实用性很强的软件,基本特点有:轻巧、无广告弹窗(近乎)、启动快捷、内存占用小等。或许有更好的选择,见仁见智吧~ 还在不断探寻中 ~ 文章目录一、浏览…

3.2.3 枚举与数组型

变量的类型除了单值类型之外还有两个比较有用的复合(多值)类型。 枚举。很多时候我们希望从一个集合中提取固定的值,而又不是仅仅是true或者false这么简单。很么我们可以使用枚举来描述这个集合: enumDirection{ North, sou…

C++笔记(数组篇)

获取数组的长度,个数 int a[4]{3,4,65,1}; int count1sizeof(a);//长度 int count2sizeof(a)/sizeof(a[4]);//个数 int count2sizeof(a)/sizesof(int);//个数

超搞笑之仙桃有没有毛?

亮爷 21:59:27谁有种子在信里发几个 大师♂罗莊 21:59:52谁有种子?大师♂罗莊 21:59:58啥种子?亮爷 22:00:00是啊 ‘ 流亡民 22:00:59我只有葡萄的种子流亡民 22:01:06要不亮爷 22:01:15晕盘古开天 22:01:27我有西瓜种子盘古开天 22:01:33今天吃的西瓜…

Windows命令行学习录(三)——查看端口号、对应的PID及程序

文章目录netstat命令行netstat -anonetstat -ano|findstr " 端口号 "tasklist|findstr " pid"netstat命令行 netstat -ano 查看端口情况 netstat -ano|findstr " 端口号 " 查看端口号对应的进程号pid 以80端口为例: 可知80端口…

企业销售管理现状分析与解决思路(转)

业务部门与财务部门缺少配合 企业在管理上经常采用按职能部门进行划分的方式,并且在信息化过程中也经常出现财务系统、业务系统分阶段实施,造成各部门间业务系统分离的情况,尤其以业务系统与财务系统分离的情况居多,这样从两方面造…

JS笔记(字符串篇)——字符串当中找出元素出现的位置和次数统计字符串中出现最多元素的字符与次数

文章目录字符串的特性字符串的不可变性:常用的几个函数1,☆indexOf 返回字符所在位置indexOf(‘字符’) 返回字符所在的位置,如果不存在,则返回-1indexOf(‘字符’ ,位置&#xff09…

名牌大学视频课程下载

名牌大学视频课程下载(200门左右)多页[url]http://www.eimhe.com/bbs/viewthread.php?tid86403&extrapage%3D1[/url]也可下载附件,再点击下载!转载于:https://blog.51cto.com/yaoyao/90657