You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

KDoc是否支持表格?类比Java DTO的Javadoc表格实践

KDoc是否支持Javadoc风格的HTML表格?

问题背景

你提到在Java DTO的Javadoc中会用HTML表格来定义变更日志,示例代码如下:

/**
 * Changelog:
 *
 * <table>
 * <tr><th>Version</th><th>Description</th></tr>
 * <tr>
 * <td>2</td>
 * <td>Added field 'something'</td>
 * </tr>
 * <tr>
 * <td>3</td>
 * <td>Added field 'somethingElse'</td>
 * </tr>
 * </table>
 */
public class MyDTO { ... }

这段内容在IntelliJ的Javadoc预览中能正常渲染,现在想知道KDoc是否支持这类表格。

答案

当然支持!KDoc(Kotlin的文档注释语法)本身就兼容HTML标签,所以你完全可以在KDoc中使用和Javadoc一样的HTML表格来编写变更日志。

举个Kotlin中的示例:

/**
 * Changelog:
 *
 * <table>
 * <tr><th>Version</th><th>Description</th></tr>
 * <tr>
 * <td>1.1</td>
 * <td>Added property `userName`</td>
 * </tr>
 * <tr>
 * <td>1.2</td>
 * <td>Added nullable property `phoneNumber`</td>
 * </tr>
 * </table>
 */
data class UserDTO(
    val id: Long,
    val userName: String,
    val phoneNumber: String?
)

在IntelliJ IDEA或者Android Studio中预览这段KDoc时,HTML表格会和Javadoc里的一样正常渲染,清晰展示版本变更信息。

另外补充一点:KDoc也支持Markdown语法,如果你更习惯Markdown的表格写法,也可以直接用Markdown表格,同样能被IDE正确渲染,比如:

/**
 * Changelog:
 *
 * | Version | Description |
 * |---------|-------------|
 * | 1.1     | Added property `userName` |
 * | 1.2     | Added nullable property `phoneNumber` |
 */

这种写法会更简洁,你可以根据自己的习惯选择HTML表格或者Markdown表格。

内容的提问来源于stack exchange,提问作者Johan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 09:14:35