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

基于编译后源码运行vscode-extension-tester遇问题,求正确流程?

VS Code Extension Tester 源码运行测试问题解答

一、EXTENSION_DEV_PATH 使用说明

你当前对EXTENSION_DEV_PATH的用法本身没有错误,但该环境变量的优先级和加载逻辑可能不如命令行参数可靠,这可能是导致扩展未正确激活的原因之一。

二、基于编译后源码运行测试的正确流程

以下是经过验证的标准流程,替换你之前的命令:

  1. 完成依赖安装与源码编译

    • 执行 npm install 安装项目所有依赖
    • 执行 npm run compile 将源码编译至 out 目录
  2. 预下载测试依赖

    • 执行 npx extester get-vscode --version max 下载对应版本的VS Code(直接指定版本避免后续重复配置)
    • 执行 npx extester get-chromedriver 自动匹配下载对应版本的ChromeDriver
  3. 运行测试的正确命令
    推荐使用命令行参数--extensionDevelopmentPath替代环境变量,这是官方文档指定的标准方式,兼容性更好:

    npx extest run-tests './out/ui-test/*.test.js' --code_version max --code_settings settings.json --extensionDevelopmentPath=$(pwd)
    

    Windows环境下使用PowerShell的话,路径写法调整为:

    npx extest run-tests './out/ui-test/*.test.js' --code_version max --code_settings settings.json --extensionDevelopmentPath=$PWD
    
  4. 前置检查项

    • 确认package.json中的activationEvents配置正确,比如你的扩展命令是hello-world和webview-test,需确保配置包含onCommand:hello-world、onCommand:webview-test(测试阶段可临时用*快速验证)
    • 检查out目录下的编译产物完整,extension.js需包含正确的activate函数逻辑

三、日志不显示的排查方案

  • 源码模式下VS Code的日志路径与VSIX包模式不同,可通过--log-path参数指定日志输出目录,方便定位问题:
    npx extest run-tests './out/ui-test/*.test.js' --code_version max --code_settings settings.json --extensionDevelopmentPath=$(pwd) --log-path ./test-logs
    
  • 注意:activate函数中的console.log输出到VS Code的扩展宿主日志,而非调试控制台(调试模式的控制台与测试运行时的宿主日志是两个独立输出通道)

四、Bug报告处理建议

如果按照上述流程操作后问题仍然存在,说明大概率是Extension Tester的框架问题,可保留你提交的报告;若问题解决,再删除报告即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 15:04:59