Skip to content

三级标准化分组

基于 @microsoft/tsdoc 0.16.0 编写

速查

  • 每个 TSDoc 标签除了"种类"(块/修饰/内联),还被标了一个标准化分组,表达"工具该多大程度上支持它"
  • Core:必备——所有文档工具都应识别、支持
  • Extended:可选——但工具一旦实现,就必须按标准语义
  • Discretionary:可选——语义可因实现而异
  • 跨多工具协作(同一套注释给 TypeDoc + API Extractor 共用)→ 优先用 Core 档标签最稳
  • "分组"与"种类"是两个正交维度:一个标签既属于某个种类,又属于某个分组
  • 官方页只给三档定义;某个标签具体归哪档以官方 spec / 源码为准,别凭记忆套

为什么要分组

TSDoc 的核心诉求是"互操作"——同一份注释要能被多种工具一致解析。但不同工具能力不同,不可能强求每个工具都支持每个标签。于是 TSDoc 给标签分了三档"标准化程度",让工具与作者对"这个标签靠不靠得住跨工具一致"有明确预期。

三档定义

分组官方定性含义跨工具可靠性
Core“considered essential”核心、必备,所有文档工具都应识别支持最高:放心跨工具用
Extended“optional”可选;但工具若实现它,就得遵循标准定义的语义中:实现了就一致,但不保证都实现
Discretionary“optional”可选;其语义可因具体实现而异低:同名标签在不同工具里可能行为不同

Core 与 Discretionary 的关键差异

Core 标签"每个工具都应识别"且语义统一;Discretionary 标签连"语义"都可能因工具而异。所以做跨工具协作时,优先依赖 Core 档标签最稳妥,Discretionary 档要查清你用的那套工具是怎么解释它的。

分组 ≠ 种类

这两个维度互相独立,别混为一谈:

  • 种类(kind):决定写法——块标签独占行、修饰标签放末尾、内联标签包在 {} 里。
  • 分组(group):决定跨工具的标准化程度——Core / Extended / Discretionary。

同一个标签同时拥有这两个属性。例如 @param 是"块标签"(种类)且属"Core"(分组);{@link} 是"内联标签"(种类)且属"Core"(分组)。

权威归属去哪查

官方 spec 页只给出三档的定义,并不在页面上逐一列出"哪个标签属哪档"——该分类维护在 TSDoc 仓库的源码(Standardization.ts)中。要确认某个标签的准确分组,去 tsdoc.org 对应标签页或仓库源码核对,不要凭印象断言。

下一步:常用标签详解 · 配置与生态