
在vscode编译c程序之前,会自动执行chcp 65001这个命令,如果我希望将其改为chcp 936,请问我应当到何处去修改这个设置?
我曾尝试去launch.json中寻找,但是这个文件只能修改&&之后的命令,而在之前执行的命令,没有找到可以修改的地方。

关注让码农阿豪来帮你解答,本回答参考通义千问qwen-plus模型编写提供,如果还有疑问可以评论或留言要将 VSCode 编译 C 程序时自动执行的 `chcp` 命令从 `chcp 65001` 改为 `chcp 936`,你需要修改 VSCode 的任务配置文件 `tasks.json`。这个文件位于你的工作区的 `.vscode` 文件夹中。
打开 VSCode:
打开任务配置文件:
Ctrl+Shift+P(或 Cmd+Shift+P 在 macOS 上)打开命令面板。Tasks: Configure Task 并选择它。tasks.json 文件,VSCode 会提示你创建一个。编辑 tasks.json 文件:
tasks.json 文件并打开它。修改 preLaunchTask 或 command:
preLaunchTask,你可以在这个任务中添加或修改 chcp 命令。preLaunchTask,你可以在 command 字段中直接修改。tasks.json 配置假设你有一个 tasks.json 文件,内容如下:
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "gcc",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": ["$gcc"]
}
]
}
你可以修改为:
{
"version": "2.0.0",
"tasks": [
{
"label": "build",
"type": "shell",
"command": "chcp 936 && gcc",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": ["$gcc"]
}
]
}
command: 这里我们修改了命令,使其先执行 chcp 936,然后再执行 gcc 编译命令。args: 编译器的参数保持不变。preLaunchTask如果你希望在启动调试会话之前执行 chcp 936,你可以在 launch.json 中配置一个 preLaunchTask。
打开 launch.json 文件:
Ctrl+Shift+P(或 Cmd+Shift+P 在 macOS 上)打开命令面板。Debug: Open launch.json 并选择它。编辑 launch.json 文件:
preLaunchTask,指向一个任务配置。{
"version": "0.2.0",
"configurations": [
{
"name": "gcc build and debug active file",
"type": "cppdbg",
"request": "launch",
"program": "${fileDirname}\\${fileBasenameNoExtension}.exe",
"args": [],
"stopAtEntry": false,
"cwd": "${workspaceFolder}",
"environment": [],
"externalConsole": true,
"MIMode": "gdb",
"miDebuggerPath": "C:\\MinGW\\bin\\gdb.exe",
"setupCommands": [
{
"description": "Enable pretty-printing for gdb",
"text": "-enable-pretty-printing",
"ignoreFailures": true
}
],
"preLaunchTask": "set-codepage",
"postDebugTask": ""
}
]
}
set-codepage 任务:
tasks.json 中添加一个新的任务配置。{
"version": "2.0.0",
"tasks": [
{
"label": "set-codepage",
"type": "shell",
"command": "chcp 936"
},
{
"label": "build",
"type": "shell",
"command": "gcc",
"args": [
"-g",
"${file}",
"-o",
"${fileDirname}\\${fileBasenameNoExtension}.exe"
],
"group": {
"kind": "build",
"isDefault": true
},
"problemMatcher": ["$gcc"],
"dependsOn": "set-codepage"
}
]
}
preLaunchTask: 指向 set-codepage 任务,在启动调试会话之前执行。set-codepage 任务: 单独定义了一个任务,用于设置代码页为 936。dependsOn: 在 build 任务中指定了依赖于 set-codepage 任务,确保在编译之前设置代码页。通过以上步骤,你就可以成功地将 VSCode 编译 C 程序时自动执行的 chcp 命令从 chcp 65001 改为 chcp 936。