扩展开发主机是VSCode调试时启动的独立隔离实例,用于加载未发布的扩展源码并提供完整API访问,其窗口标题为“[Extension Development Host]”,确保开发不影响日常编辑。

当您在 VSCode 中开发或调试自定义扩展时,系统会自动启动一个独立的、隔离的编辑器实例,该实例专用于加载和运行您的扩展代码。这个实例即为扩展开发主机(Extension Development Host),其窗口标题通常显示为 “[Extension Development Host]”。以下是关于该主机的详细说明:
本文运行环境:MacBook Pro M3,macOS Sequoia
扩展开发主机是一个由 VSCode 主进程派生的独立 Node.js 进程,它模拟真实用户环境,完整加载当前工作区中的扩展源码(未经发布),并为其提供完整的 VSCode API 访问能力。该主机与主编辑器进程完全隔离,确保开发过程中的崩溃、内存泄漏或异常行为不会干扰您的日常编辑工作。
1、该进程通过 --extensionDevelopmentPath=${workspaceFolder} 参数指定扩展源码路径。
2、它使用与主编辑器相同的 Electron 架构和 VSCode 内核,但不加载用户已安装的其他扩展,仅加载当前开发项目。
3、所有 extension.ts 中注册的命令、事件监听器、UI 元素均在此进程中初始化并响应。
启动扩展开发主机依赖于项目根目录下的 .vscode/launch.json 配置文件中 type 为 extensionHost 的调试配置。VSCode 调试器据此拉起新实例,并将当前工作区作为开发扩展挂载。
1、按下 F5 或点击“运行和调试”侧边栏中的“启动扩展”按钮后,VSCode 执行编译(若启用 TypeScript)、校验 package.json 激活事件,并启动新窗口。
2、新窗口首次启动时会触发 activationEvents 中声明的条件(如 onCommand、onLanguage、* 等),进而调用 activate() 函数。
3、控制台输出(包括 console.log 和 vscode.window.showInformationMessage)默认显示在开发主机窗口的“调试控制台”面板中。
扩展开发主机是面向开发者的一种**调试专用实例**,而扩展宿主是用户正常使用 VSCode 时后台运行的、负责承载所有已启用扩展的通用进程。二者同属 extensionHost 类型进程,但生命周期与用途不同:开发主机每次调试启动即新建,关闭即销毁;扩展宿主则随主编辑器启动而存在,可被手动重启(通过帮助 → 开发者工具 → 重启 Extension Host)。
1、在任务管理器(帮助 → 打开任务管理器)中,开发主机进程名称为 Extension Development Host,而普通扩展宿主显示为 Extension Host。
2、开发主机默认启用调试端口(如 9229),支持断点、变量监视与单步执行;普通扩展宿主默认不开放调试端口。
3、开发主机强制禁用所有非当前项目的扩展,且忽略用户 settings.json 中的扩展相关配置,确保测试环境纯净。
以上就是VSCode的扩展开发主机(Extension Development Host)是什么?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号