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
相关产品推荐
相关产品推荐

