最新版的IntelliJ(10.5)现在会显示一个警告,指出一些类定义的方法未被使用。这些方法是公共的,而我计划不使用它们,因为我已经创建它们来支持所需的API。我希望禁用此警告(对于类中未使用的公共方法)。有没有办法做到这一点?
最新版的IntelliJ(10.5)现在会显示一个警告,指出一些类定义的方法未被使用。这些方法是公共的,而我计划不使用它们,因为我已经创建它们来支持所需的API。我希望禁用此警告(对于类中未使用的公共方法)。有没有办法做到这一点?
您可以像这样针对单个方法禁用它
@SuppressWarnings("unused")
public void myMethod(){...}
IDEA 2016.3
在即将发布的版本IDEA 2016.3(预览版已经可以使用),现在可以调整检查范围:
< IDEA 14.0
如果您想要突出显示未使用的公共方法,请启用“设置|检查|声明冗余性|未使用的声明”全局检查。
如果您想要突出显示未使用的私有方法,请启用“设置|检查|声明冗余性|未使用的符号”本地检查。
因此,如果您想要突出显示未使用的私有成员,但不突出显示未使用的公共成员,则关闭“未使用的声明”,并打开“未使用的符号”。
我刚测试了一下,在IDEA 13.1.4上可以完全按照描述进行操作。
IDEA 14.x
在 IntelliJ IDEA 14.0.x 中,设置在以下位置:
Settings | Editor | Inspections | Declaration redundancy | Unused symbol/declaration
在IntelliJ IDEA 14.1中,该选项似乎已经消失了。
禁用 设置
| 检查
| 声明冗余
| 未使用的声明 代码检查。作为一种选项,您可以为您的 API 类创建一个自定义范围,并仅在 API 范围内禁用此检查,以便它仍然在项目的其余部分中起作用。
我认为避免突出显示未使用的公共方法的最佳方法是在API中编写一些测试用例来测试这些方法。
设置>检查>Java>声明冗余>未使用的声明>方法
下,请取消不需要的选项。这是一个老帖子,但我比找到解决方案更快地来到了这里,所以我将分享我的发现。 首先,我不确定我们是否使用的是相同的语言(这里是JS),但通过调整基于GUI的工具,我得出了以下代码。 以下代码给我带来了臭名昭著的“未使用”警告:
/**
* @class sample class
*/
var MyClass = function () {
return this;
};
/**
* Some public method
* @api public
*/
MyClass.prototype.myMethod = function () {
return null;
};
这里出现了“未使用的定义myMethod”的警告。 检查器建议通过添加忽略此特定问题。
//noinspection JSUnusedGlobalSymbols
将此特定方法放在最上面,以便以下代码不再产生警告:
//noinspection JSUnusedGlobalSymbols
/**
* Some public method
* @api public
*/
MyClass.prototype.myMethod = function () {
return null;
};
其他警告(如拼写错误等)仍然会出现,包括未使用的本地变量和参数,因此它似乎隔离了这个特定问题。缺点是,如果您有很多代码,它往往会污染您的代码...
最近我在扩展一个库时,也被“未使用”的检查警告所提醒。
通常在重构时,所有未使用的方法/参数都可以安全地删除(通过Intellij的“安全删除”操作)。
这样做的目的是支持我们的清洁设计,就像Checkstyle和其他工具一样。由于未使用的方法既不在内部使用(在src/java/main
中),也没有外部测试(在src/java/test
中),它们似乎已经过时了。那么为什么不遵循格言“当你犹豫时,把它扔掉”呢?
在重构时,这通常是一个正确的建议。 但如果我们正在开发一个旨在被其他代码库(来自外部的模块/依赖项)使用的库/API,那么我们更应该回答“当未使用时,请搞清楚”。
我们对IntelliJ的警告感到惊讶。这些方法不应该被删除,因为它们实际上被用于其他地方。它们是入口点。
以下所有解决方案都有一个共同点:
如先前的回答所述。附有屏幕截图和导航提示,指向IntelliJ的 Code Inspection 设置
如果你为未使用的内容(方法、类等)添加一个测试,你将从以下三个方面受益:
我多次看到了这个建议:
我认为更好的方法是将类标记为“入口点”。- Tanya Jivvca Aug 18 at 8:46
.idea\misc.xml
文件中。//noinspection JSUnusedGlobalSymbols
设置 | 检查 | 声明冗余性 | 未使用的声明 | 入口点
@Suppress("unused")
。同时,它可以在右键单击->禁用此行检查中找到。 - Polv