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:

相关推荐
屋外雨大,惊蛰出没10 小时前
Vscode自动生成类图
ide·vscode·编辑器·类图绘制
qq_140303414410 小时前
vscode过滤文件
ide·vscode·编辑器
2501_9159214312 小时前
使用Swift和Xcode创建简单iOS应用完整教程
ide·vscode·ios·个人开发·xcode·swift·敏捷流程
skywalk81631 天前
发布vscode插件到 VS Code 市场流程
ide·vscode·编辑器
牙牙要健康1 天前
Windows 下为 VSCode 配置 Anaconda:从零安装 Python 环境到完整配置教程
windows·vscode·python
蚂蚁不吃土&1 天前
VSCode 搜索显示补全
vscode
nuoyigui98891 天前
vscode中常用插件介绍xiaojie
ide·vscode·编辑器
不吃土豆的马铃薯1 天前
5.SGI STL 二级空间配置器 _S_chunk_alloc核心函数解析
开发语言·c++·vscode·c·内存池
陳10301 天前
Linux:工具Vscode的简单介绍
ide·vscode·编辑器
ChampaignWolf1 天前
VSCode Copilot 也能支持其他OpenAI兼容接口啦,可以使用其他模型(DeepSeek、Kimi、Qwen)和第三方转发API
ide·vscode·编辑器