我正在寻找一种在IntelliJ中查看所有编译错误的方法,类似于它们在Eclipse中显示的方式。我试着在这里和谷歌搜索,但没有真正找到一个解决方案。我真的很喜欢IntelliJ,我最近从Eclipse转换到了IntelliJ,我希望这只是我缺少的一些东西,而不是一个根本的缺陷。
当前回答
给其他遇到这种情况的人一个最新的答案:
(来自https://www.jetbrains.com/help/idea/eclipse.html,§自动编译;按此浏览截图)
自动编译:
要启用自动编译,请导航到设置/首选项|构建,执行,部署|编译器,并选择自动构建项目选项
在一个地方显示所有错误:
如果在“编译器设置”中启用了“自动制作项目”选项,则会出现“问题”工具窗口。它显示了在项目编译中检测到的问题列表。
使用Eclipse编译器: 这实际上是捆绑在IntelliJ中的。在我看来,它提供了更多有用的错误消息,而且,根据这篇博客,它更快,因为它被设计为在IDE的后台运行,并使用增量编译。
Eclipse使用自己的编译器,而IntelliJ IDEA使用与项目JDK绑定的javac编译器。如果您必须使用Eclipse编译器,请导航到设置/首选项|构建,执行,部署|编译器| Java编译器并选择它… Eclipse和javac编译器之间最大的区别是,Eclipse编译器对错误的容忍度更高,有时允许您运行无法编译的代码。
其他回答
在之前的回答中提到的“问题视图”是有帮助的,但我看到它并没有捕捉到项目中的所有错误。在运行应用程序之后,它开始填充其他有问题但最初没有出现在问题视图中的类。
您应该禁用省电模式
对我来说,我点击了这个按钮
然后禁用省电模式
在我的系统(IntelliJ Idea 2017.2.5)上,启用“自动制作项目”是不够的。我还必须使用菜单项“视图,工具窗口,问题”来查看屏幕底部的问题工具窗口。
给其他遇到这种情况的人一个最新的答案:
(来自https://www.jetbrains.com/help/idea/eclipse.html,§自动编译;按此浏览截图)
自动编译:
要启用自动编译,请导航到设置/首选项|构建,执行,部署|编译器,并选择自动构建项目选项
在一个地方显示所有错误:
如果在“编译器设置”中启用了“自动制作项目”选项,则会出现“问题”工具窗口。它显示了在项目编译中检测到的问题列表。
使用Eclipse编译器: 这实际上是捆绑在IntelliJ中的。在我看来,它提供了更多有用的错误消息,而且,根据这篇博客,它更快,因为它被设计为在IDE的后台运行,并使用增量编译。
Eclipse使用自己的编译器,而IntelliJ IDEA使用与项目JDK绑定的javac编译器。如果您必须使用Eclipse编译器,请导航到设置/首选项|构建,执行,部署|编译器| Java编译器并选择它… Eclipse和javac编译器之间最大的区别是,Eclipse编译器对错误的容忍度更高,有时允许您运行无法编译的代码。
我认为这是最接近你所希望的:
(来自IntelliJ IDEA Q&A for Eclipse用户):
上述选项可以与最近在编译器设置中引入的选项相结合,以获得与Eclipse非常相似的视图。
需要做的事情:
切换到项目窗格中的“问题”视图: 启用自动编译项目的设置: 最后,查看Problems视图:
下面是Intellij IDEA 13中相同项目(带有编译错误)的比较。xx和日食开普勒:
相关链接: 上面显示的maven项目:https://github.com/ajorpheus/CompileTimeErrors 关于“Eclipse模式”/“自动编译”项目的常见问题:http://devnet.jetbrains.com/docs/DOC-1122
推荐文章
- 将JSON字符串转换为HashMap
- web - inf在Java EE web应用程序中用于什么?
- Java 8: Lambda-Streams,过滤方法与异常
- 将JsonNode转换为POJO
- 如何查看IntelliJ中的编译错误列表?
- Java SimpleDateFormat("yyyy-MM-dd' t ' hh:mm:ss' z '")给出的时区为IST
- 杰克逊克服下划线,支持骆驼案
- List、List<?>, List<T>, List<E>, List<Object>
- 在Java中转换字符串到日历对象
- 在java中使用wait()和notify()的简单场景
- 增强的for循环中的Null检查
- c# vs Java Enum(适合c#新手)
- 如何在不强制转换的情况下将double转换为long ?
- for循环和for-each循环在性能上有区别吗?
- 你如何比较两个版本的字符串在Java?