如何在IntelliJ 2016中禁用"Access可以是package-package"消息?

Tho*_*ler 69 java intellij-idea

开发API时,Java类中的警告消息"Access可以是package-package"可能非常烦人.

我已经花了一些时间通过设置找到一种方法来禁用此消息但没有任何发现.知道如何禁用该消息吗?

Dim*_*San 63

Settings ? Editor ? Inspections然后去Java ? Declaration redundancy ? Declaration access can be weaker统治.
在这里,您可以完全禁用它,也可以在右侧窗格中选择建议选项:

在此输入图像描述


小智 50

检查规则是"声明访问权限可能较弱",有两个选项可以禁用"建议包 - 私有可见性级别......"


see*_*ess 47

要根据具体情况禁用,请使用

@SuppressWarnings("WeakerAccess")
Run Code Online (Sandbox Code Playgroud)

  • 这是最好的答案.通过这样做,您实际上记录了您的意图,而不是让IDE覆盖所有内容 (5认同)
  • 我已经说过要宣布一种方法,因为公开已经记录了您的意图。但是我明白了。如果您说两次,那么他们会开始相信您是真的。 (3认同)
  • 实际上,将所有内容设为私有是一种古老的反模式。TDD 用户比任何人都更理解这一点。从本质上讲,除非您正在编写用于分发的代码并且需要保护用户的内部结构,否则将所有内容设为私有,会使测试和重构变得更加困难。考虑到这一点,Mayne 将其扩展到 IDE 并不是一个坏主意。 (2认同)

Jim*_*ins 8

将光标移动到public,按Alt+ Enter并选择以下选项之一:
在此输入图像描述

  • 这不会禁用*all*"声明访问权限可能更弱"的建议,而不仅仅是建议包私有? (3认同)
  • 有趣的是,在选择“设为'package-private'”时,我没有“禁用检查”选项。(可能我已禁用了另一设置,所以我看不到该选项。)我确定您的答案有效。谢谢。mboss的解决方案帮了我大忙。 (2认同)

Mic*_*Kay 5

到目前为止还没有提到的另一个解决方案:如果您有一个声明为公共的方法,并且 IDE 告诉您没有从包外部对该方法的引用,那么您可能需要添加一个从外部调用该方法的测试用例包裹。换句话说,将警告视为公共方法缺少测试用例的信号。