Skip to content

参考

基于 @microsoft/tsdoc 0.16.0 / @microsoft/tsdoc-config 0.18.1 / eslint-plugin-tsdoc 0.5.2 编写

速查

  • TSDoc 是注释标准 / 规范,不生成文档;出文档的是 TypeDoc、API Extractor
  • 标签三类:(独占行带内容)/ 修饰(末尾、空内容)/ 内联{} 包裹)
  • 标准化三档:Core(必备)/ Extended(可选、实现须合规)/ Discretionary(可选、语义因实现而异)
  • @param 名 - 描述连字符强制;类型来自 TS 签名,注释不写 {type}
  • 内联标签仅 3 个:{@link} {@inheritDoc}(不含类型){@label}
  • 配置 tsdoc.json$schema/extends/tagDefinitions/supportForTags),由 @microsoft/tsdoc-config 加载
  • 版本:@microsoft/tsdoc 0.16.0tsdoc-config 0.18.1eslint-plugin-tsdoc 0.5.2(均 0.x,未发布 1.0)

全标签速查(按种类)

种类标签用途
@param参数;名后强制连字符 @param 名 - 描述
@typeParam泛型类型参数
@returns返回值描述
@remarks详细说明(摘要之外的展开)
@privateRemarks内部备注,不输出到公开文档
@example示例代码块,可多个
@throws可能抛出的异常
@deprecated弃用标记 + 迁移说明
@defaultValue默认值
@see交叉引用
@decorator记录被引用的装饰器
修饰@public @beta @alpha @experimental @internal发布等级 / 可见性(裁剪由 API Extractor 落地)
修饰@readonly只读成员
修饰@sealed不可继承 / 重写
修饰@virtual可被子类重写
修饰@override重写了父类 / 接口成员
修饰@eventProperty可订阅的事件属性
修饰@packageDocumentation放入口 .d.ts 顶部,描述整个包
内联{@link 目标 | 文本}链接 API 声明或 URL
内联{@inheritDoc 目标}继承文档内容,不含类型签名
内联{@label}给声明打标签,供 {@link} 定位

共 25 个标准标签:块 11 + 修饰 11 + 内联 3。某标签的标准化分组(Core/Extended/Discretionary)以官方页 / 源码为准。

TSDoc vs JSDoc 关键差异

维度JSDocTSDoc
定位注释约定 + 文档生成器(出 HTML)注释标准 / 规范(不生成)
类型写进注释 @param {type} 名来自 TS 签名,注释不写类型
@param 连字符可选(仅可读性)强制 @param 名 - 描述
返回值@returns / @return 等价别名标准是 @returns
标签种类块 / 内联块 / 修饰 / 内联(三类)
标准化无分级Core / Extended / Discretionary 三档
配置jsdoc.jsontsdoc.jsontagDefinitions / extends
CI 校验eslint-plugin-jsdoceslint-plugin-tsdoctsdoc/syntax

tsdoc.json 字段速查

字段作用
$schema指向官方 JSON Schema,供编辑器校验 / 补全
extends继承其它 tsdoc.json(配置复用,适合 monorepo)
tagDefinitions自定义标签数组,每项含 tagName + syntaxKind(block/modifier/inline)
supportForTags"标签名 → 布尔",启用 / 禁用已定义标签

版本与生态

版本角色
@microsoft/tsdoc0.16.0参考解析器(注释 → AST / DocNode
@microsoft/tsdoc-config0.18.1加载 tsdoc.json、应用自定义标签
eslint-plugin-tsdoc0.5.2tsdoc/syntax 规则做注释合规门禁

三包均为 0.x,TSDoc 规范尚未发布 1.0,仍在演进(形式文法、RFC 流程在路线图上)。

文档与 GitHub 链接

返回:标签三类 · 标准化分组 · 常用标签 · 配置与生态