javadoc的替代品,也适用于ide



我已经找到了一个可能的解决方案,描述在https://dzone.com/articles/using-markdown-syntax-javadoc,它是基于https://github.com/Abnaxos/pegdown-doclet。这使得标记支持可以替代在Javadoc中编写难看的HTML标记。

在GitHub页面上,还有一个"markdown- compatibility -tooltip"的解决方案,作为IntelliJ中使用CTRL+Q工具提示的插件,这是50%的好。

只是给一个例子,如何Javadoc目前看起来:

/**
 * This enum gives you insight for various person characteristics.
 * <p>
 * This could be the following:
 * <ul>
 * <li>introvert</li>
 * <li>extrovert</li>
 * </ul>
 */
public enum PersonTypes {
...
}

所以,如果你在IDE中使用tooltip/鼠标悬停在类上,这是可以的。然而,由于HTML标记和其他宏,如果直接在相关类中,则很难阅读。这只是一个非常简单的例子,没有任何Javadoc特定的宏。

因此,正如上面网站上所描述的,我想直接用源代码中的Markdown语法替换Javadoc内容。应用到示例中,这看起来像:

/**
 * This enum gives you insight for various person characteristics.
 * 
 * This could be the following:
 *
 * - introvert
 * - extrovert
 * 
 */
public enum PersonTypes {
...
}

当将鼠标悬停在Eclipse中的PersonTypes enum上时,Markdown语法会丢失,因为Eclipse将其解释为Javadoc而不是默认的Markdown。

不幸的是,我目前没有找到为Eclipse启用Markdown工具提示解析的解决方案。还有人有解决方案或其他想法吗?

IntelliJ有一个插件来支持标记javadochttps://plugins.jetbrains.com/plugin/9840-markdown-doclet-for-idea

注意该插件自2017年以来未更新maven插件自2016年以来没有更新过,参见https://mvnrepository.com/artifact/ch.raffael.pegdown-doclet/pegdown-doclet

在Java 13中,旧的doclet API (com.sun.javadoc)被删除,只有在Java 9中引入的新的doclet API (jdk.javadoc.doclet)可以使用。

jdrups -mdoclet是abnaxos/pegdown-doclet的替代方案,支持新的doclet API和现代JVM (Java 17 for version 3)。

还要注意存在一个JEP草案,用于将此功能添加到标准javadoc工具中。然而,这个JEP现在被撤回,"等待额外的设计讨论"。

UPDATE:关于在maven中使用jdrupes-mdoclet,请参见https://github.com/mnlipp/jdrupes-mdoclet/issues/11

最新更新