我在使用vscode时,发现明明创建一个C文件 运行后,根目录出现了许多其他文件

png

如果我是在学习c 那么我可以忽略,如果这是一个项目呢?

解决方法:

  • 编辑tasks.json
{
    "tasks": [
        {
            "type": "cppbuild",
            "label": "C/C++: cl.exe 生成活动文件",
            "command": "cl.exe",  // 直接调用编译器,不嵌套cmd
            "args": [
                "/Zi",
                "/EHsc",
                "/nologo",
                "/Fo${fileDirname}\\build\\",  // obj输出到build
                "/Fe${fileDirname}\\build\\",  // exe输出到build
                "/Fd${fileDirname}\\build\\",  // 所有pdb文件到build(新增!)
                "${file}"
            ],
            "options": {
                "cwd": "${fileDirname}"
            },
            "problemMatcher": [
                "$msCompile"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            },
            "detail": "极简编译配置:直接调用cl.exe"
        }
    ],
    "version": "2.0.0"
}
  • 编辑launch.json
    {
      "configurations": [
          {
              "name": "C/C++: cl.exe 构建和调试活动文件",
              "type": "cppvsdbg",
              "request": "launch",
              "program": "${fileDirname}\\build\\${fileBasenameNoExtension}.exe",
              "args": [],
              "stopAtEntry": false,
              "cwd": "${fileDirname}",
              "environment": [],
              "console": "externalTerminal",
              "preLaunchTask": "C/C++: cl.exe 生成活动文件"
          }
      ],
      "version": "2.0.0"
    }
    

    更改配置后的效果:

    项目根目录/
    ├── .vscode/
    │   ├── launch.json
    │   └── tasks.json
    ├── build/
    │   ├── index.exe
    │   ├── index.ilk
    │   ├── index.obj
    │   ├── index.pdb
    │   └── vc140.pdb
    └── index.c