如何使用 VS Code 在弹出的控制台窗口中运行程序?

新手上路,请多包涵

目前,我的 C++ 程序嵌入在底部面板的 VS Code 窗口中运行。如何像在 VS 中一样在单个控制台窗口中运行它?

我试图将“设置/终端/资源管理器”选项“种类”从“集成”变为“外部”,但这并不好。

原文由 Fifnmar 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.9k
1 个回答

您可以创建在操作系统的本机终端/控制台中运行您的应用程序的 启动配置

例如,我有这个非常简单的测试文件:

 #include <iostream>
int main (void)
{
    int num;
    std::cout << "Enter number: " << std::endl;
    std::cin >> num;
    std::cout << num << std::endl;
}

1、安装 微软的 C/C++ VS Code 扩展,添加对调试 C++ 文件的支持。

2、创建构建任务。打开命令面板,找到 任务:配置任务,然后选择合适的 C++ 编译器(例如我的例子中的 g++)。如果这是您第一次这样做,VS Code 将在您的工作区中创建一个带有默认任务的 .vscode/tasks.json 文件夹。配置它以构建您的应用程序,如下所示:

 {
    "version": "2.0.0",
    "tasks": [
        {
            "label": "build-test",
            "type": "shell",
            "command": "/usr/bin/g++",
            "args": [
                "-g",
                "${workspaceFolder}/app/test.cpp",
                "-o",
                "${workspaceFolder}/app/test"
            ]
        }
    ],
}

3、创建启动任务。打开调试面板。如果您是第一次这样做并且没有现有的启动配置,只需单击 创建 launch.json 文件 链接:

VS Code - 调试面板 - 没有现有配置

如果您已有配置,请打开下拉列表并选择 Add Config

VS Code - 调试面板 - 现有配置的下拉菜单

它应该打开现有的 launch.json 文件并显示一个弹出窗口,显示要使用的启动配置类型。使用 Launch 选择 C++

VS 代码 - launch.json - C/C++ 选项

像这样更新配置:

 {
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "run-test",
            "type": "cppdbg",
            "request": "launch",
            "preLaunchTask": "build-test",
            "program": "${workspaceFolder}/app/test",
            "cwd": "${workspaceFolder}",
            "externalConsole": true,
            "args": [],
            "environment": [],
            "stopAtEntry": true,
            "MIMode": "lldb"
        }
    ]
}

这里重要的配置是 "preLaunchTask": "...""externalConsole": truepreLaunchTask 应该设置为之前设置的构建任务。 externalConsole 如果设置为 false 它会在集成控制台中打开它。由于您 不想 在集成控制台中运行它,请将其设置为 true

现在,只要您想运行应用程序,只需打开调试面板,然后运行启动任务(与您在 launch.json 中设置的 name _同名_)。请注意,在 launch.json 配置中,我将 stopAtEntry 设置为 true ,让我有机会查看外部控制台窗口,然后为提示提供输入。如果你不需要它,你可以删除它。

在此处输入图像描述

在此处输入图像描述

如果一切顺利,它将通过启动外部控制台来运行它。

有关更多信息,完整的设置指南在 VS Code 的 配置 C/C++ 调试 文档中。

原文由 Gino Mempin 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题