全局抑制 NOTHING_TO_INLINE 警告

问题描述 投票:0回答:2

我在 Kotlin 中有一个函数,尽管不是高阶的,但我想内联它。

我发现在整个项目中我多次出现这样的场景。

因此,为了忽略有关使用内联函数的编译器警告,我必须在整个项目中使用大量

Suppress("NOTHING_TO_INLINE")
注释,这开始困扰我。

是否有任何方法可以阻止整个项目的此警告,例如通过编译器选项? 我想知道如何在 IntelliJ IDEA 中执行此操作。

intellij-idea kotlin inline suppress-warnings
2个回答
11
投票

看起来不可能全局禁用检查。至少我在 IntelliJ 中找不到设置。但是,您可以禁用对整个文件的检查:

@file:Suppress("NOTHING_TO_INLINE")

如果您在警告上按 ALT+Enter,您将获得一个选项来抑制它,其中仅包含对函数、类(如果它在一个中)或整个文件的抑制。您可以禁用的任何检查通常在此列表中都有“禁用检查”选项(

NOTHING_TO_INLINE
没有)。

但是,您可以通过将

suppressWarnings
添加到compileKotlin 任务来禁用编译时的警告(但这不会影响检查;编辑时您仍然会看到警告)。 请注意,这会禁用所有警告,而不仅仅是特定的警告。

compileKotlin {
    kotlinOptions.suppressWarnings = true
}

0
投票

随着本周早些时候 Kotlin 2.1.0 的发布,您现在可以通过添加编译器标志来全局抑制警告:

// build.gradle.kts kotlin { compilerOptions { freeCompilerArgs.add("-Xsuppress-warning=NOTHING_TO_INLINE") } }
这将在项目范围内抑制编译器警告。

但是,IntelliJ IDE 似乎尚不支持此编译器标志(截至版本 2023.3),因为内联警告仍然可见。我怀疑这将在下一个版本中修复。

最新问题
© www.soinside.com 2019 - 2025. All rights reserved.