vscode写c++遇到窗口一闪而过+中文乱码咋办
本人没使用系统cmd窗口,而是使用了vscode内置终端,目的是为了之后输出中文的时候不乱码(vscode是utf-8,cmd是gbk,干脆全部使用vscode,不使用系统cmd作为输出窗口)
附上配置文件:
launch.json
{
// 使用 IntelliSense 了解相关属性。
// 悬停以查看现有属性的描述。
// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "g++.exe - 生成和调试活动文件",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\build\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false, //改为true时程序暂停在程序入口位置,即main处打上断点
"cwd": "${fileDirname}",
"environment": [],
"externalConsole": false, //true:cmd窗口; false:Vscode的内置终端输出
"MIMode": "gdb",
"miDebuggerPath": "C:\\Program Files\\mingw64\\bin\\gdb.exe",
"setupCommands": [
{
"description": "为 gdb 启用整齐打印",
"text": "-enable-pretty-printing",
"ignoreFailures": true
},
{
"description": "将反汇编风格设置为 Intel",
"text": "-gdb-set disassembly-flavor intel",
"ignoreFailures": true
}
],
"preLaunchTask": "C/C++: g++.exe 生成活动文件" //调试开始前执行需要执行的任务,调试前要编译构建 名称要和tasks.json的label保持一致
}
]
}
task.json
{
"tasks": [
{
"type": "cppbuild",
"label": "C/C++: g++.exe 生成活动文件",
"command": "C:\\Program Files\\mingw64\\bin\\g++.exe", //本地编译器路径
"args": [
"-fdiagnostics-color=always",
"-g",
"${file}",
"-std=c++11",
"-o",
"${fileDirname}\\build\\${fileBasenameNoExtension}.exe" //修改.exe文件生成位置
// "-fexec-charset=GBK" //如果不用cmd输出 就注释掉
],
"options": {
"cwd": "${fileDirname}"
},
"problemMatcher": [
"$gcc"
],
"group": {
"kind": "build",
"isDefault": true
},
"detail": "调试器生成的任务。"
}
],
"version": "2.0.0"
}
注意不要给文件夹或者文件起中文名字,否则可能会报错,运行不了
注意按这个配置的话,第一次点击运行的话,没出现结果,但是点第二次就出现结果了,也不知道咋回事
遇到问题的话,推荐看下这篇文章 Vscode 重定向 .exe 文件生成位置
里面有详细的关于launch.json
和task.json
的注释
无意中发现能让起中文名字的c++文件运行的方法,下个扩展Code Runner就可以了,不过缺点应该是没有调试功能
然后打开settings.json
如下点击扩展设置
改下生成可执行文件的位置
// "cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt",
"cpp": "cd $dir && g++ $fileName -o $workspaceRoot\\build\\$fileNameWithoutExt && $workspaceRoot\\build\\$fileNameWithoutExt",
注释的是原来就有的,要把这条语句改成注释下面的语句,然后保存。
自己在目录中创建一个build
文件夹,然后以后生成的可执行文件都会在
build
文件夹里面了。
后面发现如果用 Code Runner 来运行python文件的话,输出中文会乱码,怎么解决呢?
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY