Windows下VS Code设置CMakeTools调试有输入的程序

Windows下,不管是使用VS Code进行本地调试还是远程调试,调试有输入的程序都不会出现输入窗口。

先给解决方案。打开setting.json,添加如下代码:

    "cmake.debugConfig": {
        "console": "integratedTerminal"
    }

其实这里使用"console": "externalConsole"对于本地调试来说也是没有问题的,但是远程调试是出不来的。

点击下方状态栏的小蜘蛛或者直接Ctrl + F5调试。

即可解决CMakeTools调试时没有输入窗口的问题。这才是最优雅的方法。之前没有认真看文档vscode-cmake-tools/docs/debug-launch.md,所以曲线救国用了另一种方法:CMake适配VS Code调试有标准输入的程序

通过查看代码vscode-cmake-tools/src/debugger.ts,其实,CMakeTools是自动根据工具集来生成调试的配置launch.json来调试的。

如果对CMakeTools的自动生成的launch.json还有一些特殊的要求,而这些特殊的要求不能通过cmake.debugConfig来解决,那么我们就需要去定制自己的launch.json

从代码中可以看出,配置launch.json调试和CMakeTools有关的参数有如下:

  • program:程序路径,这里可以用值${command:cmake.launchTargetPath}来联动;
  • cwd:工作路径,这里可以用值{command:cmake.launchTargetDirectory}来联动。

更多信息请参考:Configure CMake Tools settings

这里还要多说一句,如果是使用launch.jsonWindows上远程调试Linux程序(使用CMakeTools生成),还需要在launch.json添加如下才能出现输入窗口:

            "externalConsole": false,
            "avoidWindowsConsoleRedirection": false,
### CMake 教程:Windows 环境配置使用指南 #### 一、安装CMake工具 为了能够在Windows环境下顺利运行CMake,需要先下载并安装最新版本的CMake软件。访问[CMake官方网站](https://cmake.org/download/)获取适合操作系统的安装包,并按照提示完成整个安装过程[^1]。 #### 二、设置环境变量路径 成功安装之后,应该将`【cmake安装目录/bin】`加入到系统的PATH环境变量里去。这一步骤使得可以在命令行窗口任何位置调用cmake指令而无需指定全路径[^2]。 #### 三、验证安装情况 打开一个新的CMD或PowerShell终端会话,在其中输入`cmake --version`来确认是否能够正常显示已安装好的CMake版本号信息。如果一切无误,则说明已经正确设置了开发所需的初步条件。 #### 四、创建项目结构 建立一个简单的文件夹作为项目的根目录,比如命名为`MyProject`。在此基础上构建如下所示的基础架构: ``` MyProject/ ├── build/ # 编译输出的目标文件存放处 └── src/ # 源码所在的位置 └── main.cpp # 主程序入口点源代码文件 ``` #### 五、编写CMakeLists.txt脚本 在`MyProject`根目录下新建名为`CMakeLists.txt`的文字档,编辑其内容以定义编译规则。对于最基础的情况而言,可以采用下面这段示范性的描述方式: ```cmake # 设置最低支持版本 cmake_minimum_required(VERSION 3.0) # 声明项目名称及其默认使用的编程语言(C/C++) project(MyFirstCMakeProject VERSION 1.0 LANGUAGES CXX) # 添加可执行目标(即最终生成的应用程序) add_executable(${PROJECT_NAME} "src/main.cpp") ``` #### 六、启动Visual Studio Code集成开发环境IDE 通过VSCode插件市场搜索并安装扩展——"CMake Tools"以及"C/C++ IntelliSense, debugging, and code browsing."这两个官方推荐组件可以帮助更好地管理和调试基于CMake体系下的工程项目。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值