VS Code调试Rust CLI应用时Git Bash字符乱码及终端启动异常
解决VS Code调试Rust TUI应用的终端字符乱码与启动异常问题
一、修复Git Bash集成终端的字符乱码
Git Bash基于MinGW环境,chcp.com 65001这类Windows CMD命令对它无效,需通过设置环境变量强制UTF-8编码:
- 打开VS Code设置(Ctrl+,),搜索
terminal.integrated.profiles.windows,找到Git Bash的配置段,添加env字段设置编码:"terminal.integrated.profiles.windows": { "Git Bash": { "source": "Git Bash", "env": { "LANG": "zh_CN.UTF-8", "LC_ALL": "zh_CN.UTF-8" } } } - 保存设置后重启VS Code集成终端,运行程序即可正常显示方框绘制字符。
二、调试时强制使用Windows Terminal的Git Bash
VS Code默认调试外部终端会调用CMD,需修改.vscode/launch.json配置指定终端:
- 打开项目根目录下的
.vscode/launch.json(没有则新建),在Rust调试配置中添加以下字段:{ "version": "0.2.0", "configurations": [ { "name": "Debug Rust TUI App", "type": "lldb", // 或cppvsdbg,根据你的调试工具选择 "request": "launch", "program": "${workspaceFolder}/target/debug/[你的程序名].exe", "args": [], "cwd": "${workspaceFolder}", "externalConsole": true, "terminal": "windowsTerminal", // 指定用Windows Terminal作为外部终端 "env": { "CHCP": "65001" // 确保终端编码为UTF-8 } } ] } - 保存配置后重新启动调试,Windows Terminal会以默认的Git Bash配置打开并运行程序,字符显示正常。
三、额外校验步骤
- 确认Windows Terminal的Git Bash配置已将默认编码设为UTF-8:打开Windows Terminal设置 → 找到Git Bash配置文件 → "默认编码"选择UTF-8
- 检查Rust代码中是否存在强制指定非UTF-8编码的逻辑,比如使用
crossterm或ratatui等TUI库时,确保未手动设置编码为GBK或其他格式,这类库默认会适配UTF-8输出。
内容的提问来源于stack exchange,提问作者Josef Reichelt
相关产品推荐
相关产品推荐

