You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VSCode CMake插件报错‘[ctest] Folder is not found in Test Explorer’求助

解决VSCode CMake Tools远程项目报错“[ctest] Folder is not found in Test Explorer”的问题

问题场景

Windows系统下使用VSCode v1.85.1,搭配CMake v0.0.17和CMake Tools v17.7插件,打开WSL或远程Linux上的CMake项目时,偶尔会弹出错误:

[ctest] Folder is not found in Test Explorer: /my/cmake/project/dir/

该错误会导致CMake配置失败,但直接在终端执行cmake命令却能正常完成配置。项目中无任何测试相关代码(如enable_testing()或add_test()),且VSCode设置里无直接关闭ctest的选项。项目结构如下:

MyCMakeProject
├── version.txt
└── src
    ├── CMakeLists.txt
    ├── Library1
    │── xxx.cpp
    │── xxx.h
    └── Library2
        │── xxx.cpp
        │── xxx.h

此前尝试过删除build和.vscode文件夹重启VSCode、指定ctest路径等方法,仅偶尔有效,未找到根本解决途径。

可行解决方案

1. 手动禁用CMake Tools的测试探索功能

通过修改settings.json强制跳过ctest初始化:
打开VSCode设置(快捷键Ctrl+,),点击右上角「打开设置(JSON)」,添加以下配置之一:

// 方案1:通过工具集配置禁用
"cmake.toolsets": [
    {
        "name": "Default",
        "ctestPath": ""
    }
]

或

// 方案2:直接设置空路径
"cmake.ctestPath": ""

2. 修正Build目录路径配置

插件可能因WSL/远程路径映射问题找不到目录,检查并配置:

  • 确保VSCode远程连接的工作目录为项目根目录MyCMakeProject,而非src子目录
  • 在CMake Tools状态栏确认选中的build目录路径正确,避免包含特殊字符或空格
  • 手动指定build目录到settings.json:
    "cmake.buildDirectory": "${workspaceFolder}/build"
    

3. 重置CMake缓存与测试文件

若插件缓存了错误的测试目录信息:

  • 打开命令面板(Ctrl+Shift+P),执行CMake: Reset Cache and Reconfigure命令
  • 若无效,手动删除build目录下的CTestTestfile.cmake文件(即使无测试代码,CMake也可能生成该空文件),再重新配置

4. 更新CMake Tools插件

当前使用的v17.7版本可能存在已知bug,更新到最新版本可修复相关问题:

  • 打开VSCode扩展面板,找到CMake Tools插件点击「更新」,重启VSCode后再尝试配置

内容的提问来源于stack exchange,提问作者orz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 17:55:02