所以,我有一个文件,我在某个类上添加了扩展名。类似的东西
val A.extension
get = 1+1
我收到警告接收器参数从未使用我想抑制。我尝试了多种疯狂的猜测,例如 @file:Suppress("UNUSED_PARAMETER") 但没有任何效果。
有人知道我要找哪个字符串吗? 问题的第二部分:是否有完整的抑制警告列表? 通常只有硬编码的字符串,我在互联网上找到这些字符串,但没有列出抑制键 - 抑制描述。
编辑:我知道抑制“未使用”可以完成工作,但它太通用了。
编辑2:我想抑制整个文件中的特定警告,我认为它“未使用”太通用了,如果我有 A.extension 并且扩展名从未使用过,我希望它是灰色的(属性未使用),但我不想要A灰色(接收器参数未使用)。
上面给出的关于使用
@receiver:Suppress("Unused")
的答案确实是最好的解决方案,直到最近的Android Studio
更新。
我发现
@Suppress("UnusedReceiverParameter")
可以用来达到同样的效果(即抑制接收器参数的使用而不影响函数本身的未使用状态)。就我个人而言,我认为此更改是为了更好,因为它不会干扰函数签名声明。
所以,我终于找到了。通过添加注释 @receiver:Suppress("Unused") 可以仅针对接收者抑制某些内容
val @receiver:Suppress("Unused") A.extension
get = 1+1
如果不使用扩展名,它仍然会显示为灰色。
编辑:我在 V Mircan 回答之前添加了我的回复,但我认为他的注释更好。
@Suppress("unused")
是这里使用的最好的东西。它无论如何都不通用。
unused property
只能通过抑制unused status
来摆脱它的unused inspection
,没有比这更具体的了。
我认为你犯错误的地方是用
@file:Suppress("UNUSED_PARAMETER")
抑制整个文件中的检查。您需要将抑制添加到扩展本身。这样,它就不会影响文件中的任何其他内容。
例如这里,
A.extension
永远不会说未使用,但如果未使用,则A.anotherExtension
会这样做。
@Suppress("unused") //comment here if you want to be more explicit
val A.extension
get() = 1+1
//this one will still say unused if it is unused.
val A.anotherExtension
get() = 2+2
对于我来说,我用过
@Suppress("UNUSED_ANONYMOUS_PARAMETER")