首页 > 解决方案 > 在带有任务的vs代码中编译和运行.exe

问题描述

所以我一直在学习 C++,到目前为止我所有的练习都是在 vs 代码中完成的。但是,当我处理 OOP 时,我无法使用扩展名一次编译多个文件。所以,我用谷歌搜索了如何做到这一点,无论我走到哪里,我都发现它可以通过任务完成。我花了好几个小时才找到实际有效的 tasks.json 文件的正确代码。但是,它只能编译,我必须手动运行 .exe 文件。显然我想两者都做,但我不知道怎么做。我只需要允许任务在编译后运行文件的额外位。我用 vs 代码查找了任务的文档,但它非常令人困惑,对我来说根本没有意义。我想学习 C++ 而不是如何做 tasks.json 哈哈。希望有人可以帮助我。如果你要告诉我查一下文档之类的,不要'

这是当前只能编译的tasks.json:

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "C++ Compile",
            "command": "C:\\Program Files\\mingw-w64\\mingw64\\bin\\g++.exe",
            "args": [
                "-g",
                "${fileDirname}\\*.cpp",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "problemMatcher": [
                "$gcc"
            ],
            "group": {
                "kind": "build",
                "isDefault": true
            }
        }
    ]
}

感谢您的时间,任何帮助表示赞赏。

标签: vscode-tasks

解决方案


关于stackoverflow的第一个答案,所以请原谅任何错误(在呈现答案时)

{
    "version": "2.0.0",
    "tasks": [
        {
            "type": "shell",
            "label": "C++ Compile",
            "command": "C:\\Program Files\\mingw-w64\\mingw64\\bin\\g++.exe",
            "args": [
                "-g",
                "${fileDirname}\\*.cpp",
                "-o",
                "${fileDirname}\\${fileBasenameNoExtension}.exe"
            ],
            "options": {
                "cwd": "${workspaceFolder}"
            },
            "problemMatcher": [
                "$gcc"
            ],

        },
        {
            "type": "shell",
            "label": "C++ run",
            "command": ".\\${fileBasenameNoExtension}.exe",
          "dependsOn":["C++ Compile"],
         "dependsOrder": "sequence",
            "group": {
                          "kind": "build",
                           "isDefault": true
                     }
          
         }
    ]
}

组应从以前的任务(c++ 编译)转移到新任务(c++ 运行),如果找不到 .exe(代码假定它在工作区目录中),请根据您的配置更改目录。


推荐阅读