vscode解决终端输出乱码的问题

问题:vscode中,基于CMakeTools编译c++的代码过程中,会出现菱形乱码,如下图所示:

1.将vscode中的默认终端改为PowerShell

ctrl+shift+P打开设置,在搜索中输入 terminal.integrated.default profile.windows ,将windows上的默认终端配置文件,修改为PowerShell,如下图所示:

2.将PowerShell的编码修改为UTF-8

PowerShell的编码默认为GBK,打开PowerShell的终端,输入 Console::OutputEncoding

如果 CodePage 显示 936:说明当前是 GBK 编码

如果 CodePage 显示 65001:说明当前是 UTF-8 编码

将该编码临时修改为UTF8,在PowerShell中输入,

cpp 复制代码
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8

检查配置文件是否存在:

cpp 复制代码
Test-Path $PROFILE

返回 True:文件存在;返回 False:文件不存在

若不存在,则创建配置文件

cpp 复制代码
New-Item -Path $PROFILE -Type File -Force

用记事本或者notepad++打开该文件,输入内容:

cpp 复制代码
# 设置输出编码为 UTF-8
[Console]::OutputEncoding = [System.Text.Encoding]::UTF8
# 设置输入编码为 UTF-8 
[Console]::InputEncoding = [System.Text.Encoding]::UTF8

然后在vscode的下方的终端,输入Console::OutputEncoding,进行测试:

3.vscode中关于encoding的两个地方的设置:

files.encoding 我设置为UTF-8

Cmake.Output Log Encoding 我设置为gbk

我看网上的设置,都是将Cmake OutputLogEncoding设置为utf8,但是我这样改了之后,编译过程中的警告全部是菱形乱码,反而将Cmake OutputLogEncoding设置为gbk,cmake输出的log是正常的。

下图是正常编译过程中的中文log:

相关推荐
xx~t9 小时前
嵌入式——Linux软件编程——网络1
linux·c语言·网络·vscode·网络协议
逐步前行15 小时前
ESP32-S3-VSCode扩展ESP-IDF
ide·vscode·编辑器
2501_9160088918 小时前
Flutter 开发 iOS,项目打包成 IPA,命令与免 Xcode两种方法
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
羑悻的小杀马特2 天前
百度ASR+BRPC+ETCD高并发高可用架构搭建,C++客户端API封装+语音识别子服务注册发现+全链路测试调优终极指南!
架构·sdk·etcd·cmake·百度智能云·brpc·语音识别子服务
_YouziTech_2 天前
VS Code环境下LVGL模拟器的配置与运行
visualstudio·mingw·cmake·lvgl·vs code·模拟器·sdl2
witton3 天前
MacOS中在目录或者文件右键菜单中添加“使用VSCode打开”
vscode·macos·文件·目录·服务·automator·右键菜单
码上暴富4 天前
Cursor / VS Code 自定义文件颜色
前端·vscode
2601_962381584 天前
VSCode如何配置LlamaIndex RAG(检索增强生成)应用开发环境
vscode·开发环境·rag·llamaindex·检索增强生成
北漂燕郊杨哥4 天前
VS Code 安装微信小程序 MCP 介绍
vscode·微信小程序·小程序·mcp
YZJenny4 天前
在服务器上安装使用code-server(Web 版 VS Code)
ide·vscode·编辑器