# 注释文档提取器

从JavaScript/TypeScript、Python和Java源代码中提取和解析文档

> 标准页面: https://elysiatools.com/zh/tools/docstring-extractor

- **分类:** Development

- **关键词:** 文档, 文档字符串, jsdoc, javadoc, python, javascript, typescript, java, 解析器, 注释

## 概述

## 功能

从多种编程语言中提取文档：

- **JSDoc**: JavaScript和TypeScript文档注释
- **Python文档字符串**: 三引号函数和类文档
- **JavaDoc**: 带有标准标签的Java文档注释

## 提取

提取完整的文档元数据：
- **函数/类名称**: 符号标识符
- **描述**: 主要文档文本
- **参数**: 带有名称、类型和描述的@param标签
- **返回值**: @return或@returns标签
- **异常**: @throws、@exception或raises部分
- **示例**: @example标签或示例代码块
- **行号**: 源代码中的位置
- **可见性**: 公共、私有或受保护成员

## 解析

解析常见的文档模式：
- JSDoc: `/** ... */` 带@param、@return、@throws
- Python: `"""..."""` 带Args、Returns、Raises部分
- JavaDoc: `/** ... */` 带@param、@return、@throws

## 索引

生成可搜索的文档索引：
- 用于快速查找的符号名称
- 类型分类（函数、类、方法）
- 文档完整性指标
- 示例、参数和返回类型计数

## 输入项

- **源代码** (textarea): 在此粘贴您的源代码以提取文档...
- **编程语言** (select)
- **包含完整文档文本** (checkbox): 包含完整的原始文档注释

## 适用场景

- 需要从现有代码库中批量提取函数或类的文档注释，用于生成 API 文档或知识库时。
- 在代码审查或交接过程中，需要快速了解某个函数或类的用途、参数和返回值时。
- 希望检查代码中文档注释的完整性，例如是否缺少参数描述或返回值说明时。

## 工作原理

- 将包含文档注释的源代码粘贴到输入框中。
- 选择编程语言（或使用自动检测功能）。
- 工具将解析代码，识别并提取所有符合规范的文档注释块。
- 输出结构化的 JSON 数据，包含提取到的所有文档元数据。

## 使用案例

- 自动生成项目 API 参考文档，将提取的文档数据导入到文档生成工具中。
- 进行代码审查时，快速提取并查看相关函数的完整文档，辅助理解代码逻辑。
- 为缺乏文档的遗留代码项目，快速梳理和补充基础文档信息。

## 常见问题

### 这个工具支持哪些编程语言？

目前支持 JavaScript、TypeScript、Python 和 Java。

### 能提取哪些文档信息？

可以提取函数/类名、描述、参数（@param）、返回值（@return）、异常（@throws）、示例（@example）以及行号和可见性等信息。

### 如何使用这个工具？

只需将源代码粘贴到输入框，选择或自动检测编程语言，然后点击提取即可获得结构化的文档数据。

### 输出结果是什么格式？

输出为结构化的 JSON 格式，便于程序进一步处理或集成到其他文档系统中。

### 可以上传代码文件吗？

目前仅支持直接粘贴源代码文本，不支持文件上传功能。

## 相关工具

- [变更记录提取器](https://elysiatools.com/zh/tools/changelog-extractor): 解析并从多种格式的变更记录和发行说明中提取结构化数据
- [用户代理解析器](https://elysiatools.com/zh/tools/new-user-agent-parser): 解析用户代理字符串以提取浏览器、操作系统、设备和引擎信息
- [URL参数提取器](https://elysiatools.com/zh/tools/url-parameter-extractor): 从URL中提取和解析参数，包括查询字符串、哈希片段和路径段
- [User-Agent解析器](https://elysiatools.com/zh/tools/user-agent-parser): 解析和分析User-Agent字符串，提取浏览器、操作系统、设备和引擎信息
- [批量邮箱提取器](https://elysiatools.com/zh/tools/bulk-email-extractor): 从输入文本、文章、网页源码或混合内容中提取所有邮箱地址。支持去重和导出为JSON格式。
- [日期提取器](https://elysiatools.com/zh/tools/date-extractor): 从文本中提取多种格式的日期，包括中文、ISO和美国格式，提供详细分析和摘要
- [JavaScript反混淆器](https://elysiatools.com/zh/tools/javascript-deobfuscator): 反混淆和分析混淆的JavaScript代码，提高可读性和理解性
- [HTML属性提取器](https://elysiatools.com/zh/tools/html-attribute-extractor): 从HTML内容中提取指定属性（href、src、data-*等），支持标签名称过滤

## 示例

- [变更日志提取器样本](https://elysiatools.com/zh/samples/changelog-extractor): 用于测试变更日志解析和提取工具的各种变更日志格式
- [Markdown 链接提取示例](https://elysiatools.com/zh/samples/markdown-with-links): 包含各种链接类型的 Markdown 示例文档，用于测试 Markdown 链接提取工具
- [手机号提取器示例](https://elysiatools.com/zh/samples/phone-number-extractor): 包含来自多个国家的电话号码的混合文本集合，用于提取测试
- [Web Python 图像处理示例](https://elysiatools.com/zh/samples/web-image-processing-python): Web Python 图像处理示例，使用 PIL/Pillow 包括读取、保存、缩放和格式转换

## 相关内容

- [文档编写、提取与发布工具](https://elysiatools.com/zh/hubs/documentation-authoring-publishing): 在一个文档工作流专题中完成文档编写、从代码或 PDF 提取内容、检查 Markdown，并导出更正式的文档结果。
- [文本大小写、编码与规范化转换工具](https://elysiatools.com/zh/hubs/text-convert): 在一个专题中比较文本大小写转换、全半角转换、编码转换、Quoted-Printable 处理和行内文本规范化工具。
- [Text 工具专题](https://elysiatools.com/zh/hubs/text-utility): 探索 33 个围绕 text 的 utility 工作流工具，快速找到相近能力。
- [文本分析、可读性与内容检查工具](https://elysiatools.com/zh/hubs/text-analyze): 在一个专题中比较文本统计、语言识别、可读性评分、情感分析、内容审核和模式分析工具。
