问题标签 [intellij-inspections]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
106 浏览

python - 如何不使用 Python 2 兼容代码检查 raw_input 上的错误

我有一个可以在 Python 2 和 Python 3 上运行的 Python 模块。在某些时候,该模块需要用户输入。它如何做到这一点取决于 Python 主要版本:

  • Python 2:使用raw_input
  • Python 3:使用input

我的 IDE 是 PyCharm,我的项目解释器是 Python 3.8。PyCharm 检查raw_input.

除了# noinspection PyUnresolvedReferences标签,我怎样才能让 PyC​​harm 不抱怨raw_input?我可以启用一些设置吗?


示例代码

我在屏幕上看到的内容:

raw_input 未解析的参考


版本

  • Python:3.8.2
  • PyCharm:CE 2019.3.1

我的 PyCharm 已Code compatibility inspection为 Python 2.73.63.73.8.

0 投票
0 回答
170 浏览

java - 代码检查不起作用!Intellij IDE

我在使用 intellijs Ultimate 代码检查时遇到问题!它仅向我展示了代码替换的基本检查/替代方法,例如“反转 if 条件”,仅此而已。如果选择了所有内容,我已经检查了首选项,并且我还重新安装了 intellij,但仍然无法正常工作!

它曾经为我提供了更多代码替换的替代方案,不仅是“反转 if 条件”,而且还有更多替代方案。其中之一是“用功能样式表达式替换 Optional.isPresent() 条件”

所以每当我写:

...它曾经给我这种替代品:

0 投票
1 回答
45 浏览

phpstorm - IntelliJ 的搜索模板语言是否有办法识别没有被 if 语句包装的函数调用

我正在查看 PhpStorm 中的一些遗留代码,并且代码库中有一些实例,其中特定函数调用被 if 语句中的另一个函数调用包装,例如

我仅使用基本的 Linux find/grep 命令来突出显示感兴趣的文件就取得了一些成功,但我希望能够创建一个结构搜索检查,该检查可以找到callThisFunction未被特定 if 语句包装的实例。

有谁知道香草 IntelliJ 搜索模板功能是否可以做到这一点?

0 投票
0 回答
127 浏览

intellij-idea - 如何在 Intellij 中删除检查配置文件?

我无法删除 IntelliJ 中的检查配置文件。我可以选择我的自定义配置文件之一,然后单击“删除...”菜单项。这会将其从配置文件下拉列表中删除。

如果我在对话框窗口中单击“确定”,然后再次打开它,所有已删除的配置文件仍然存在。

有任何想法吗?

在此处输入图像描述

0 投票
0 回答
28 浏览

ruby - 如何声明 YAML.load() 将返回哪个类,以便我的 IDE 在检查中正确识别加载的对象?

我有一堂课,JsonConnection. 我将该类的实例序列化为connectionYAML,并将其存储:

后来,我JsonConnection在整个代码中使用了存储中的反序列化:

不幸的是,以这种方式做事意味着 RubyMine 似乎无法分辨对象con的类别,因此我的代码中充斥着检查问题:

检查问题截图

有没有一种方法可以明确声明我的YAML.load()退货 aJsonConnection以便我的 IDE 能够正确识别它?

0 投票
1 回答
152 浏览

java - 解析 IntelliJ 插件代码检查中的泛型类型

我编写了一个对Java 代码执行一些检查的IntelliJ 插件。 对于其中一项检查,我需要知道通用字段的类型。 例子:


该类Base包含一个带有泛型参数的列表,该参数T可从类Base及其派生类访问Derived

我有一个注释器(可能更改为 LocalInspection)来检查list两个类的访问权限。这是我到目前为止所拥有的(为简单起见,我省略了类型和空值检查):

我想在使用的上下文中获得最低要求的泛型类型(the PsiReferenceExpression)。或者关于我上面的例子:

  • list在课堂上的访问Base,我想输入B
  • list在课堂上的访问Derived,我想输入D

但我总是进入PsiType:B变量refTypes。我必须改变什么才能获得预期的类型?

小背景信息:我想检查反射使用的类型是否包含字段或方法。

0 投票
1 回答
105 浏览

java - 为什么 IntelliJ 默认禁用通用用法检查?

为什么 IntelliJ 默认禁用通用用法检查?

这些检查 ( Java 5 -> Raw use of parametrized class) 需要明确启用,我发现新开发人员不知道它们。有什么好的理由我不知道为什么使用原始类型是一个好习惯吗?

0 投票
2 回答
235 浏览

python - 使用开发安装后,警告对未解决的引用不起作用

我有一个 PyCharm 错误,在我使用开发安装后pip install -v -e .,IDE 不会警告我任何未解决的引用。例如,对于未解析的引用,您通常会得到以下信息:

截图未解决的参考

但是现在在开发安装后,未解析的引用不会给出任何警告(对于任何名称、函数、变量、模块......):

没有未解决参考的屏幕截图

我认为这个错误是在我用破折号(in setup.py)错误地命名一个模块并安装它之后触发的,如下所示:

它一开始是安装的,过了一会儿 IDE 警告该名称是非法的。但是在我将名称更改为使用下划线而不是破折号之后,如果我使用开发安装,IDE 的参考检查对于所有项目和解释器都已损坏。

我尝试了此列表中的所有常用解决方案以查找参考错误(使缓存无效、删除.idea文件夹、新建venv、更改解释器、重新启动、重新启动等)。但除了清除 IDE 范围内的用户首选项(我想避免它)或重新安装 IDE(更糟)之外,我尝试了列表中的所有内容,但没有解决问题。对于所有影响,我使用开发安装时,我的参考检查都被破坏了。

我正在使用src具有最小setup.py和常规的通常布局venv,以下文件和目录结构:

和一个最小的setup.py

更常见的错误是引用未解析,但在这种情况下恰恰相反:代码运行并找到引用。问题是(如第二个屏幕截图所示)它没有警告我故意引入的任何未解决的引用

但是当我进行检查时,所有其他警告似乎都正确发出。(我想我已经激活了正确的检查,如下面的屏幕截图所示。)如何解决这个短暂擦除 IDE 范围内的用户偏好或完全重新安装 IDE?会不会有一些我没有意识到的间接原因?

检查的IDE设置

0 投票
2 回答
137 浏览

java - 我可以禁止对字段进行 IntelliJ“未使用声明”检查吗?

我想禁止 IntelliJ(2021.1,也在 2020.2 上测试)中对匹配特定模式的所有字段的“未使用声明”检查。我能够抑制使用“代码模式”的方法的警告,但字段似乎没有受到影响。

由于项目规模,我确实需要使用模式来避免向每个相关字段添加注释。

这是我的测试课:

这些是我的设置: 在此处输入图像描述

以下是警告:我想删除第一个警告(字段'SUPPRESSED_NAME') 在此处输入图像描述

有没有人有任何想法?

0 投票
0 回答
25 浏览

intellij-idea - 在将“==”与实现 Comparable (Groovy) 的类一起使用时防止警告“GrEqualsBetweenInconvertibleTypes”

请注意,这个问题与 Groovy('==' 表示平等而不是身份)和 IntelliJ IDEA(但我不认为这个问题是特定于 IDE 的)有关。

我有一个实现以下可比较的类:

所以在这种情况下,new Money('10.00') == '10'编译和运行完美,但我仍然收到 'GrEqualsBetweenInconvertibleTypes' 编辑器警告:'==' between objects of inconvertible types 'Money' and 'String'

直接问题:有没有办法在 Groovy 中构造类或方法来避免这个警告,而不必在 IDE 设置中完全关闭它?

无关:如果您对课程的设计有任何其他建议,或者只是让您感到困扰,请随时对此帖子发表评论。我总是乐于改进某些东西。