问题标签 [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 投票
57 回答
651664 浏览

java - IntelliJ 检查给出“无法解析符号”但仍编译代码

平台:IntelliJ 社区版 10.0.3
SDK:jdk1.6.0_21
操作系统:Windows 7

所以我对 IntelliJ 有一个奇怪的情况,这让我完全被难住了。我设置了一个 Maven 项目并将 log4j 作为依赖项添加到 pom.xml 文件中。IDEA 检查运行良好,我的单元测试全部编译并运行。

然后我使用 mvn install:install-file 将 hunnysoft 的 jmime 库添加到我的本地 maven 存储库,如下所示。

Maven 将 jar 文件安装到我的本地存储库中。

然后我进入 IntelliJ 的 Settings => Maven => Repository Services 并更新了我的本地存储库(以便 IntelliJ 重新索引存储库内容)。

最后,我将以下依赖项添加到我的 pom.xml 文件中(就在 log4j 依赖项上方)。

我现在创建一个新类,如下所示:

现在来谈谈奇怪之处。IntelliJ 的意图机制可以很好地识别并识别 maven pom 文件中的 Logger 导入。但是,对于所有 hunnysoft 导入,它报告:“无法解析符号 'ByteString/Field/FieldBody'”,Build => Compile 'StackOverflowQuestion.java' 可以正确编译所有内容,并且我为此类创建的单元测试运行良好(尽管意图也将对 create() 的调用标记为问题区域)。

因此,不知何故,IntelliJ 忽略了意图子系统的 jmime.jar 文件。我很困惑,因为 log4j 依赖项工作正常,一切都编译并运行良好。F12(“Go To Declaration”)适用于 Logger 导入,但会中断所有 jmime 导入。

哦,另一件事,如果我转到“项目”窗口中的“包”视图,则会出现“com.hunnysoft.jmime”包,我可以看到我在上面的“库”下的代码片段中导入的所有类. 从 pom.xml 文件中删除上述依赖项会导致此包消失并且编译中断。

似乎检查的类路径已损坏,但在 Settings => Intentions | 的任何地方似乎都没有此设置。编译器区域(不是我期望的任何此类设置,我相信 IDEA 应该已经知道基于 pom 文件和 JDK 的正确类路径)。

作为最后的实验,我创建了一个全新的标准 J2SE 应用程序项目(不使用 maven)并将 jmime.jar 文件作为其库之一直接添加到项目中。在这个新项目中,我遇到了与上述完全相同的问题。

这是 jmime jar 文件中的 MANIFEST.MF。

我在这个 jar 文件中没有看到任何异常。

我最好的猜测是,问题可能是缺少依赖问题。但是 AFAIK jmime 应该是自包含的(JarAnalyzer 没有提出任何建议,但如果缺少依赖项 jar,我不确定它是否会出现)。

那么,有人有任何想法吗?

0 投票
28 回答
129312 浏览

spring - IntelliJ IDEA 在使用 Spring 的 @Autowired 注解时显示错误

当我在类中使用 Spring 的@Autowired注释时,IntelliJ IDEA 显示错误,但该类运行没有任何问题。

这是此错误消息:

自动装配的成员必须在有效的 spring bean 中定义(@Component/@Service 等) 更少... (Ctrl+F1) 检查 bean 类中的自动装配问题。

0 投票
1 回答
193 浏览

javascript - 双引号的自定义检查

我们的代码标准要求 javascript 代码中的所有字符串都使用单引号而不是双引号。不幸的是,IntelliJ Idea 默认没有这样的检查。我试图搜索并遵循官方指南,但不清楚如何做到这一点。我还检查了几个关于结构搜索的例子,比如

但我不明白如何检查双引号。

如何为 IntelliJ Idea 创建自定义检查,以便双引号字符串会给我一个警告?

0 投票
1 回答
186 浏览

phpstorm - 如何在 PhpStorm 中使用共享范围

正如 PhpStorm 提到的,我们可以创建两种类型的范围:本地和共享。

如何为多个开发人员使用共享范围?

0 投票
1 回答
404 浏览

html - 无法导出 Android Studio 代码检查报告

当我尝试从Analyze -> Inspect Code导出报告时,报告未保存,并且事件日志从 IDE Fatal Error 窗口显示以下错误:

在此处输入图像描述

null java.lang.NullPointerException at com.intellij.codeInspection.ex.DescriptorComposer.composeDescription(DescriptorComposer.java:195) at com.intellij.codeInspection.ex.DescriptorComposer.compose(DescriptorComposer.java:64) at com.intellij.codeInspection .export.InspectionTreeHtmlWriter.lambda$null$0(InspectionTreeHtmlWriter.java:107) at com.intellij.codeInspection.export.InspectionTreeHtmlWriter.traverseInspectionTree(InspectionTreeHtmlWriter.java:63) at com.intellij.codeInspection.export.InspectionTreeHtmlWriter.traverseInspectionTree(InspectionTreeHtmlWriter. java:65) 在 com.intellij.codeInspection.export.InspectionTreeHtmlWriter.traverseInspectionTree(InspectionTreeHtmlWriter.java:65) 在 com.intellij.codeInspection.export.InspectionTreeHtmlWriter.appendTree(InspectionTreeHtmlWriter.java:185) 在 com.intellij.codeInspection 的 com.intellij.codeInspection.export.InspectionTreeHtmlWriter.lambda$serializeTreeToHtml$2(InspectionTreeHtmlWriter.java:84)。 export.InspectionTreeHtmlWriter.serializeTreeToHtml(InspectionTreeHtmlWriter.java:72) at com.intellij.codeInspection.export.InspectionTreeHtmlWriter.(InspectionTreeHtmlWriter.java:54) at com.intellij.codeInspection.ui.actions.ExportHTMLAction.lambda$null$0(ExportHTMLAction. java:102) 在 com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:912) 在 com.intellij.codeInspection.ui.actions.ExportHTMLAction.lambda$null$1(ExportHTMLAction.java:96) 在com.intellij.openapi.progress.impl.CoreProgressManager 2 美元。在 com.intellij.openapi.progress.impl.CoreProgressManager 运行(CoreProgressManager.java:247)$TaskRunnable.run(CoreProgressManager.java:713) 在 com.intellij.openapi.progress.impl.CoreProgressManager$5.run(CoreProgressManager.java :397) 在 com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:157) 在 com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:543) 在 com .intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:488) 在 com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:94) 在 com.intellij.openapi.progress.impl .CoreProgressManager.runProcess(CoreProgressManager.java:144) 在 com.intellij.openapi。application.impl.ApplicationImpl.lambda$null$10(ApplicationImpl.java:575) 在 com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:315) 在 java.util.concurrent.Executors$RunnableAdapter。在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 在 java.util.concurrent.FutureTask.run(FutureTask.java:266) 调用(Executors.java:511) 在 java.util.concurrent.ThreadPoolExecutor $Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java:745)266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java :745)266) 在 java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 在 java.lang.Thread.run(Thread.java :745)

0 投票
0 回答
52 浏览

intellij-idea - 仅将 IntelliJ 限制为仅检查当前文件

IntelliJ IDEA 在输入代码时会执行大量检查。到目前为止还可以,但我意识到它正在为所有可见文件执行此操作。

我喜欢并行打开许多文件,但这会导致我的 cpu 成为高性能加热系统。我发现打开一个或十个编辑器选项卡之间存在显着差异。

是否有 IntelliJ 仅检查当前选择的文件的选项?


更新:由于可能没有选择,我提出了一张票:https ://youtrack.jetbrains.com/issue/IDEA-193407

0 投票
0 回答
129 浏览

intellij-idea - IntelliJ IDE with Cursive (Clojure):自定义检查

我正在使用带有 IntelliJ 的Cursive插件来编写 Clojure。

我想添加两个 Cursive 不附带的代码检查:超过 15 LOCdefn的函数和文档字符串(意外)位于参数向量之后的表单。

我查看了 IntelliJ 的创建自定义检查页面并检查了用于 Java 代码的模板,但无法弄清楚如何查看 Cursive 使用的模板来进行它确实提供的检查。

有没有办法完成我想要的?我愿意根据需要手动完成。

0 投票
2 回答
2167 浏览

android-studio - 如何在 Android Studio 的 README.md 文件中禁用代码检查错误

在我的 GitHubREADME.md文件中,它位于我的 Android 项目的根目录中,我有如下代码片段:

但是,在 Android Studio 中,这些代码片段会出现错误

在此处输入图像描述

我不想被警告 README 文件中假定的代码错误。如何在此处禁用所有错误?

笔记:

0 投票
2 回答
3496 浏览

intellij-idea - 为什么 IntelliJ 建议将调用链转换为序列?

假设以下 Kotlin 示例将源集映射src到目标集dst

这工作正常。但是,IntelliJ 的代码检查表明:集合上的调用链应转换为“序列”:

集合上的调用链应转换为“序列”

应用此建议会导致

这有什么好处?

0 投票
0 回答
20 浏览

webstorm - 如何在键入时打开完成

我知道我们可以通过快捷键(^ SPACE在 MAC 上)打开代码完成,但是如何通过键入 VSCode 来打开它

例如:使用 Bootstrap 4 实时模板,当我们键入b4它时,应该显示相关模板的建议。