我正在使用 Gradle Dokka 插件版本 0.9.16-eap-1 为一些 Kotlin 代码生成文档。
我是一个没有 splinter 的 Windows 类型的人,因此有点沮丧,因为插件为类生成了大量消息,我没有明确记录在基类中充分记录的重写方法,例如:
package com.foo
/**
* A silly class to demonstrate silliness.
*/
class Bar : java.io.InputStream() {
override fun read() = -1
override fun toString() = "BAZ!"
}
对于这个类(class) Dokka 训斥:
No documentation for com.foo.Bar$read() (Bar.kt:6)
No documentation for com.foo.Bar$toString() (Bar.kt:7)
这有点乏味,因为我不想用复制粘贴文档冗余地记录所有内容。
看着Dokka README.md ,我看到的唯一相关配置选项是:
dokka {
...
// Emit warnings about not documented members. Applies globally, also can be overridden by packageOptions
reportNotDocumented = true
...
// Allows to customize documentation generation options on a per-package basis
// Repeat for multiple packageOptions
packageOptions {
...
reportUndocumented = true // Emit warnings about not documented members
...
}
}
但我不想压制有关未记录内容的警告。那将同样糟糕。我想要做的就是抑制有关未记录的警告
override
有趣的假设我是故意不重复自己不重复自己。有谁知道是否可以选择关闭
override fun
的警告?
最佳答案
对于您的特定情况,请使用 @抑制
class MyAndroidActivity: Activity {
/** @suppress */
override fun onCreate(savedInstanceState: Bundle?) {
...
}
}
这样您就可以从文档中完全排除覆盖的函数。
但是,如果您想在文档中保留对 API 调用的引用,只需在元素附近添加一个空的单行文档字符串(它将禁用警告):
class MyAndroidActivity: Activity {
/***/
override fun onCreate(savedInstanceState: Bundle?) {
...
}
}
关于inheritance - 抑制 Dokka 对 "No documentation for com.foo.Bar$toString()"的提示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47725439/