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

Deu*_*hie 6 c++ windows visual-studio-code

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

我尝试将“设置/终端/资源管理器”选项“种类”从“集成”更改为“外部”,但效果不佳。

Gin*_*pin 8

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

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

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

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"
            ]
        }
    ],
}
Run Code Online (Sandbox Code Playgroud)

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

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

如果您已有配置,请打开下拉列表并选择“添加配置”

VS Code - 调试面板 - 包含现有配置的下拉列表

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

VS Code - 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"
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

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

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

在此输入图像描述

在此输入图像描述

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

有关详细信息,设置此功能的完整指南位于 VS Code 的配置 C/C++ 调试文档中。