新的intellij升级(10.5)现在显示一个警告,即没有使用为类定义的某些方法。这些方法是公开的,我计划不使用所有这些方法,因为我已创建它们以支持预期的API。我想禁用此警告(不用于类中的公共方法)。有办法吗?
答案 0 :(得分:50)
您可以针对像这样的单一方法禁用它
@SuppressWarnings("unused")
public void myMethod(){...}
答案 1 :(得分:43)
IDEA 2016.3
在即将推出的版本IDEA 2016.3(已有预览版)中,现在可以调整检查范围:
<强>&LT; 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中,选项似乎消失了..
答案 2 :(得分:38)
禁用Settings
| Inspections
| Declaration redundancy
| 未使用声明代码检查。作为选项,您可以为API类创建自定义范围,并仅根据API范围禁用此检查,以便它仍可在项目的其余部分中使用。
答案 3 :(得分:4)
在最新版本中,此选项位于Settings>Inspections>Java>Declaration redundancy>Unused declaration>Methods
取消选中不需要的选项。
答案 4 :(得分:3)
我认为避免突出显示未使用的公共方法的最佳方法是在API中为这些方法编写一些测试。
答案 5 :(得分:3)
答案 6 :(得分:1)
这是一个老线程,但我最终比我找到解决方案更快,所以我将继续分享我的发现。 首先,我不确定我们是否使用相同的语言(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;
};
其他警告(错字等)似乎仍然出现,包括未使用的局部变量和参数,所以它似乎孤立了这个特殊问题。 缺点是,如果你有很多代码,它往往会污染你的代码......
答案 7 :(得分:0)
我只是点击了“抑制语句”,webstorm就是这样的:
//noinspection JSUnusedGlobalSymbols
答案 8 :(得分:0)
最近扩展图书馆时,我还收到“未使用”检查警告。
通常,在重构所有未使用方法/参数时,应安全删除(通过Intellij的 safe delete 操作)。
这样,IntelliJ(例如Checkstyle等)的意图就是支持我们的简洁设计。由于未使用的方法既未在内部(在src/java/main
中使用,也未在外部进行测试(在src/java/test
中使用),所以它们似乎已过时。那么为什么不遵循“如果有疑问,就扔掉”这句话。
重构时,这基本上是一个正确的建议。 但是,如果我们正在开发打算供其他代码库(来自ouside的模块/依赖项)使用的库/ API,那么我们宁愿回答“不使用时,会感到困惑”。
我们对IntelliJ的警告感到惊讶。该方法不应删除,因为它们实际上打算在其他地方使用。它们是入口点。
以下所有解决方案都有一个共同点:
如先前的各种答案所述。带有IntelliJ 代码检查设置
的屏幕截图和导航提示如果为未使用的(方法,类等)添加测试,则将通过以下三种方式受益:
我多次看到了该建议:
IMO更好的方法是将类标记为“入口点”。 – Tanya Jivvca 8月18日8:46
将元素添加为入口点 。默认情况下,全局范围中的所有代码以及 tests 被视为可访问。如果知道方法或函数已执行,则可以将其添加为入口点。入口点内的代码现在也已执行并且可以访问。 添加入口点时,源代码文件不受影响,并且元素的记录与项目一起存储在
.idea\misc.xml
下。
答案 9 :(得分:0)
也许 entry points
函数可以工作,您可以在其中指定可以禁用警告的代码模式
Settings | Inspections | Declaration redundancy | Unused Declaration | entry point