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

Dokka 1.8.10无法显示类私有函数,旧方法已弃用求解决方案

Dokka 1.8.10 显示类中私有函数的解决方案

在Dokka 1.8.10版本中,includeNonPublic配置项已被弃用,要继续显示类中的私有函数,需使用documentedVisibilities配置指定需要文档化的可见性集合。

具体修改方案:

  1. 导入必要的枚举类:确保在build.gradle文件顶部导入可见性枚举:
import org.jetbrains.dokka.DokkaConfiguration.Visibility
import org.jetbrains.dokka.gradle.DokkaTask
  1. 配置可见性集合:在Dokka任务的dokkaSourceSets配置块中,将documentedVisibilities设置为包含PRIVATE的可见性列表。默认该集合仅包含PUBLIC,你可根据需求添加其他可见性(如PROTECTED、INTERNAL)。

修改后的tasks.dokkaHtml.configure代码示例:

tasks.dokkaHtml.configure {
    dokkaSourceSets {
        configureEach {
            // 显式指定需要文档化的所有可见性,包含私有函数
            documentedVisibilities.set(listOf(
                Visibility.PUBLIC,
                Visibility.PROTECTED,
                Visibility.INTERNAL,
                Visibility.PRIVATE
            ))
            
            skipDeprecated.set(true)
            reportUndocumented.set(true)
            noAndroidSdkLink.set(false)
        }
    }
}

额外说明:

  • 若希望所有Dokka任务(如dokkaJavadoc、dokkaGfm)都生效,可将documentedVisibilities配置放到全局tasks.withType(DokkaTask.class)的dokkaSourceSets.configureEach块中,避免重复配置:
tasks.withType(DokkaTask.class) {
    moduleName.set(project.name)
    moduleVersion.set(project.version.toString())
    outputDirectory.set(file("build/dokka/$name"))
    failOnWarning.set(false)
    suppressObviousFunctions.set(true)
    suppressInheritedMembers.set(true)
    offlineMode.set(false)

    dokkaSourceSets.configureEach {
        // 全局配置所有Dokka任务的可见性
        documentedVisibilities.set(listOf(
            Visibility.PUBLIC,
            Visibility.PROTECTED,
            Visibility.INTERNAL,
            Visibility.PRIVATE
        ))
        
        perPackageOption {
            matchingRegex.set(".*internal.*")
            suppress.set(true)
        }
    }
}

配置完成后,执行./gradlew dokkaHtml生成的文档即可包含类中的私有函数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 16:22:32