【VS Code插件】Office加载项开发工具包

快乐小子新
快乐小子新 Lv.2 潜力创作者

Lv.2潜力创作者

一、项目概况

Office Add-ins Development Kit 是由微软 OfficeDev 团队开发的 Visual Studio Code 扩展,托管于 GitHub(https://github.com/OfficeDev/OfficeAddinDevKit),旨在为 Office 加载项(Office Add-ins)开发者提供一站式的项目创建、调试和部署体验。该项目创建于 2024 年 7 月 17 日,以公共预览版形式于 2024 年 8 月 20 日发布(v0.5.0),2024 年 12 月 19 日正式发布 v1.0.0。关键数据如下:

指标

数值

GitHub Stars

8

Forks

7

Open Issues

8

发布者

Microsoft

首次发布(预览版)

2024-08-20(v0.5.0)

正式版发布

2024-12-19(v1.0.0)

最新版本

1.1.0(2026-05-20)

当前状态

已宣布退役(Retired)

二、Office 加载项平台背景

Office 加载项(Office Add-ins)是微软于 2013 年推出的扩展平台,允许开发者使用 HTML、CSS 和 JavaScript 等 Web 技术构建跨平台(Windows、macOS、Web、iPad)的 Office 扩展。与 VBA 宏不同,Office 加载项运行在嵌入于 Office 应用程序的 WebView 容器中,通过 Office JavaScript API(https://learn.microsoft.com/office/dev/add-ins/develop/office-javascript-api)与宿主应用交互,支持任务窗格(Task Pane)、内容加载项(Content Add-in)和自定义函数(Custom Functions)三种基本类型。

Office 加载项的技术架构决定了其具备 VBA 不具备的跨平台和沙箱安全优势,但同时也带来了开发体验上的挑战:开发者需要在 VS Code 中编写 Web 应用代码,同时在 Office 客户端中测试和调试加载项的运行效果,这种"双环境切换"的开发模式效率较低。Office Add-ins Development Kit 正是为了解决这一痛点而诞生的。

三、核心功能

3.1 项目创建脚手架

安装扩展后,用户在 VS Code 活动栏(Activity Bar)中点击 Office Add-ins Development Kit 图标,选择"Create a New Add-in",即可通过交互式向导创建项目。向导引导用户依次选择:目标 Office 应用(Excel、Word、PowerPoint、Outlook)→ 加载项模板类型 → 编程语言(JavaScript 或 TypeScript)→ 工作区文件夹 → 项目名称。创建完成后,扩展自动生成包含 manifest.xml、HTML/CSS/JS 源文件和调试配置的完整项目结构,并在新窗口中打开。

这一脚手架功能的核心价值在于降低了 Office 加载项的入门门槛。在此之前,开发者需要手动配置 manifest.xml、搭建本地 Web 服务器、配置 Office 客户端的信任设置,流程繁琐且容易出错。

3.2 本地调试与预览

扩展提供一键启动调试功能(支持 F5 快捷键)。点击"Preview Your Office Add-in"后,扩展自动完成以下流程:检查开发环境前置条件(Node.js 版本、Office 连接状态)→ 启动本地 Web 服务器 → 在 Office 桌面应用中侧载(sideload)加载项 → 打开 Edge DevTools 调试窗口。调试结束后,"Stop Previewing"命令会关闭 Web 服务器并清理注册表和缓存中的加载项条目。

这一功能将原本需要多步骤手动操作的调试流程封装为单次点击,显著提升了开发效率。调试过程支持 Edge Chromium 的完整开发者工具链(DOM 检查、网络监控、控制台日志等),同时也支持在 Office on the Web 上进行远程调试。

3.3 清单验证与示例浏览

扩展内置 manifest.xml 验证功能,可在项目创建和修改时快速检测清单文件中的语法错误和配置问题。此外,"View Samples"命令提供了多个官方示例项目,覆盖常见开发场景(数据绑定、图表操作、邮件集成等),开发者可直接克隆示例作为项目起点。

3.4 CLI 支持

除图形界面外,扩展还支持命令行接口操作。用户可在 VS Code 集成终端中通过命令面板(Ctrl+Shift+P)搜索"Office"关键词发现所有可用命令,也可以直接在终端中执行 npm run start 等项目脚本,适合偏好键盘操作的开发者。

四、技术架构

Office Add-ins Development Kit 本身并非一个庞大的运行时框架,而更像是一个围绕 Office 加载项开发工作流的"胶水层"。其技术架构可归纳为以下几个层面:

项目模板层。 扩展内置了一套基于 Yeoman Generator(https://learn.microsoft.com/office/dev/add-ins/develop/yeoman-generator-overview)的项目模板,每种目标应用 × 模板类型 × 编程语言组合对应一个独立的项目骨架。模板中预配置了 webpack 构建脚本、Office JavaScript API 的 TypeScript 类型声明和调试启动配置。

调试桥接层。 调试功能的核心是打通 VS Code 的 Debug Adapter Protocol(DAP)与 Office 客户端的加载项运行时之间的连接。扩展在后台启动一个本地 HTTPS Web 服务器,将项目构建产物托管在该服务器上,然后通过 Office 的侧载机制将加载项 URL 注入到 Office 客户端。当用户在 Office 中操作加载项时,运行时错误和日志会通过 WebSocket 传递回 VS Code 的调试控制台。

清单管理层。 manifest.xml 是 Office 加载项的核心配置文件,定义了加载项的显示名称、权限范围、默认页面 URL 和支持的宿主应用等信息。扩展提供的验证功能基于 XML Schema 校验,确保清单文件符合 Office 平台的格式要求。

五、退役原因分析

2026 年 5 月 20 日,微软正式宣布该工具退役。

退役原因可能有以下两点:

微软平台战略转向。 微软正在推进"统一清单"(Unified Manifest for Microsoft 365)标准,试图将 Office 加载项、Copilot 插件和 Teams 扩展统一到同一套清单格式下。为此,微软推出了 Microsoft 365 Agents Toolkit作为新一代开发工具,取代原有的加载项专用工具链。Office Add-ins Development Kit 作为"旧清单"时代的产物,其退役是平台战略演进的必然结果。

GitHub Stars 仅 8 颗。 作为一个由微软官方背书的 VS Code 扩展,8 颗 Star 的社区参与度远低于预期。这说明 Office 加载项的开发者群体规模有限,且该群体的开发工具选择更多依赖微软官方文档中的推荐流程(如直接使用 Yeoman Generator),而非通过 VS Code 扩展发现。

微软在 README 中推荐用户转向两个替代方案:针对使用统一清单(Unified Manifest for Microsoft 365)的加载项,推荐使用 Microsoft 365 Agents Toolkit;针对使用传统加载项清单的加载项,推荐使用 Yeoman Generator for Office Add-ins。

传统加载项清单(Only Add-in Manifest)是 Office 加载项平台自 2013 年推出以来使用的清单格式,文件名为 manifest.xml,采用 XML 格式。每个 Office 加载项都必须有一个清单文件来描述自身特征:

  • 加载项的 ID、版本、显示名称、描述

  • 加载项与 Office 的集成方式(自定义功能区、任务窗格等)

  • 所需的权限和要求集(Requirements Sets)

  • 图标、图像等品牌资源

传统清单总计有 7 个 XML Schema 版本,随着 Office JavaScript API 的演进不断更新。它仅适用于 Excel、OneNote、Outlook、PowerPoint、Project 和 Word 六种 Office 应用,不能与其他 Microsoft 365 扩展类型(如 Teams 应用、Copilot 插件)组合使用。

开发工具链:Yeoman Generator for Office Add-ins (Yo Office) + 传统 manifest.xml。

统一清单(Unified Manifest for Microsoft 365)是微软正在推进的新一代清单标准,采用 JSON 格式。它的核心目标是打破扩展类型的壁垒:

  • 一个 JSON 清单文件,可以同时描述 Office 加载项、Teams 应用、Copilot 插件、Message Extensions 等多种 Microsoft 365 扩展

  • 这些扩展可以作为一个单元打包、安装和管理

  • 统一清单只有 1 个 Schema(而非传统清单的 7 个)

开发工具链:Microsoft 365 Agents Toolkit(前身为 Teams Toolkit),基于该工具创建的项目默认使用统一清单。

选择传统清单的场景

  • 项目需要尽快上线到生产环境,传统清单在所有 Office 客户端和平台上均已获得完整支持,不存在兼容性风险

  • 仅开发纯 Office 加载项,不需要 Teams 集成、Copilot 插件等扩展类型

  • 对微软平台变动敏感,统一清单仍在演进中,Schema 和工具链可能还会调整

  • 已有 XML 清单项目需要维护,迁移成本高且收益有限时

选择统一清单的场景

  • 项目面向 Microsoft 365 全生态,需要同时覆盖 Office 加载项、Teams 选项卡、Copilot 插件等

  • 新项目从零开始,直接采用统一清单可以面向未来

  • 需要单一打包单元,希望将多种扩展能力作为一个应用发布到 Microsoft AppSource

  • 愿意接受预览状态的部分不确定性

六、对 WPS 的启示

避免依赖单一平台标准。 微软频繁调整加载项平台标准(从传统 manifest 到统一清单),导致开发工具链不断重构。WPS 插件应基于自身稳定的 JS 插件 API 构建,不跟随微软的清单格式变更而调整。

重视开发工具链的价值。尽管该扩展退役,但在 VS Code 中开发 Office 扩展仍然具有极大价值。WPS 官方插件应当包含 JS 插件开发脚手架、调试通道和发布向导,并建立在更稳定的 WPS JS 插件 API 之上。

工具链 + 文档预览的双层覆盖。 WPS 官方插件应当将开发工具链与文档预览能力统一在同一个扩展中,功能覆盖上更全面。

七、延伸阅读

浏览 193
收藏
6
分享
6 +1
+1
全部评论