【问题标题】:How to run program in a pop-out console window using VS Code?如何使用 VS Code 在弹出的控制台窗口中运行程序?
【发布时间】:2020-02-09 16:07:02
【问题描述】:

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

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

【问题讨论】:

  • 您的意思是通过 F5 使用 VSC 从内部运行项目?
  • 这与 C++ 无关,如果您在 Windows 上,您仍然不应该使用 VIsual Studio Code for C++。您应该使用 Visual Studio IDE。在 Visual Studio 中,只需启动应用程序就会在单独的终端窗口中执行。
  • @Nina 谢谢,我已经在我的电脑上安装了 VS 和 VSC。为每个案例创建一个项目让我感到厌烦。你知道,我练习了很多小案例,因为我是编码新手......
  • 我遇到了同样的问题,这是我找到的解决方案:stackoverflow.com/questions/58221544/… 只需将这些代码行添加到您的 settings.json 文件中即可:)

标签: c++ windows visual-studio-code vscode-settings


【解决方案1】:

其实很简单。打开一个新的 VS 代码窗口并打开终端。并复制粘贴编译和运行C++程序的确切命令。因此,您有一个用于代码浏览的窗口和另一个用于程序执行的窗口。

【讨论】:

    【解决方案2】:

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

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

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

    1st,安装 Microsoft's C/C++ VS Code extension 以添加对调试 C++ 文件的支持。完整的设置指南在 VS Code 的 Configuring C/C++ debugging 文档中。

    第二,创建一个构建任务。打开命令面板,找到 Tasks: Configure Tasks 然后选择合适的 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、创建启动任务。打开 Debug 面板(从右侧边栏),单击下拉菜单,选择 Add Config,然后选择 C++。同样,如果您是第一次这样做,VS Code 将在您的工作区中创建一个 .vscode/launch.json 文件,并带有默认启动任务。配置它以运行您的应用程序,如下所示:

    {
        // 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 的 Configuring C/C++ debugging 文档。

    【讨论】:

    • 谢谢,我已经找到问题所在了。
    猜你喜欢
    • 2021-12-07
    • 2016-03-24
    • 1970-01-01
    • 2022-01-24
    • 2014-02-17
    • 2011-01-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多