IntelliJ代码完成不适用于新的Java类
IntelliJ IDEA
13已开始在我的本地设置中展示一种非常奇怪的行为。
也就是说,在添加到现有项目的任何新Java
类中, Code Completion
不起作用。 因此,在新类中声明任何类型的对象变量,然后键入该变量的名称,然后输入点(。)之后,不会对相应对象的任何方法提出建议。
例如,在声明之后
File f = new File("/home");
打字 没有提出File
类中所有方法的列表,从中选择一个。 事实上,当键入点(。)时,没有任何建议出现在IDE窗口的左下角(在状态栏中),显示消息“标识符预期。标识符预期”。 被展示。 有时,会提出一系列与无关组件或库无关的完全不相关的方法。
奇怪的是,如果上述声明发生在任何现有类中,则Code Completion
将按预期工作。
在机器重新启动,IDE重新启动,项目重新导入,关闭/重新打开或重建的许多组合之后,此行为仍然存在。
有任何想法吗?
对于追随者来说,有一件事帮助了我(自动完成只显示了投射场的实例等)是我打开了一个没有正确链接到其子节点的maven模块(它有一个注释掉的子模块部分),所以IntelliJ只是显示maven java文件基本上是“文本”文件,项目窗格中的图标中带有一个小“j”。 修复根maven pom.xml文件以包含子目录作为模块和瞧,它们再次被视为真正的java文件,woot!
确保在文件 – >项目结构 – >模块中标记所有源目录。
运行IntelliJ时确保您没有处于省电模式(选中文件[菜单] – >省电模式)。 如果启用了省电模式,IntelliJ将不会运行后台任务,包括代码完成 。
我正在使用IntelliJ Ultimate 2017.1,我遇到了类似的问题。 Maven项目,试图使用selenium API,但intellisense没有为我弹出相对的方法。
这是我解决问题的方法:
右键单击项目src文件夹
选择Mark Directory As
然后选择Sources Root
您的问题可能有两个原因
- 您的构建java构建路径中未正确配置源文件夹。 如果未正确配置源文件夹,则自动完成将不会获得所需的类定义,并且自动完成将对您的项目失败。
- 恢复“Windows>首选项> Java>编辑器>内容辅助>高级”中的默认选项
右键单击项目 – >添加框架支持 – >选择Maven – >单击确定
唯一对我有用的是杀死IntelliJ(在Ubuntu上)并再次启动它。
在根文件夹中剪切文件夹.idea和文件* .iml,并将其他地方粘贴到项目之外。 当您重新打开项目时,自动导入将再次神奇地工作。
我有同样的问题,这是由于我没有标记为源根目录的文件夹。
右键单击您的src目录并将目录标记为> Sources Root。
在编写eclipse-che客户端扩展时,我遇到了这个问题。 Eclipse che模块都是maven类型。 我的客户端扩展项目是一个独立的模块,可以独立于父项目进行编译。 当我向Intellij导入相同的结构时,我的客户端扩展项目没有给出建议。 将客户端扩展项目包含到父模块(将其添加到pom.xml)后,建议开始显示。
从“ 设置”>“编辑器”>“常规”>“自动导入”>“Java”>“从导入和完成中排除”中删除包
我遇到过这个问题。 这篇文章的解决方案都没有起作用,但我能够修复它,因为我不小心将我的项目包放在“从导入和完成中排除”设置中。
我有一个groovy项目,其中某种方式jdk没有设置为依赖项,因此jdk类不会自动完成。
固定:
- 项目结构
- 模块
- (你的模块)
- 选项卡依赖项。
- 在模块SDK字段中,添加一个jdk。
这不是IntelliJ 13,而是2017.1.1社区版本。 在这里添加这个答案,以便其他人从一个源于Gradle配置的原因中受益。
现在,在我的情况下,自动完成,生成覆盖方法和其他function也无法正常工作。 我想到的是,在我的项目设置中,我有多个gradle模块配置。 当我清理剩下的模块并保留了该项目所需的唯一一个(除了测试之外)时,所有行为都恢复正常。
此外,在Gradle项目的情况下,请记住在Source文件夹中标记所有sourceSet根文件夹。
编辑:如果您不想为每个sourceSet创建多个配置并且要导入gradle模块,则在导入屏幕上还应禁用为每个sourceSet标志创建模块。 没有这个,我必须在导入模块后删除多个模块。
我有类似的问题,这个主题没有任何帮助。
所以最后我让它工作,我清除IntelliJ的缓存并重新启动。
文件>无效缓存/重新启动..> Invalidate Cache and Restart
(按钮)
- IntelliJ中的SonarQube本地脚本找不到mvn(IOException / No such directory)
- intellij不在JSP代码检查或自动完成中解析el变量
- Intellij的想法 – Spring Bean配置文件
- Java代码评估(IntelliJ IDE),在某些方面使用toString()?
- 删除JComboBox中的向下箭头
- 使用Spring Boot和多个模块的Maven配置 – 在Intellij中运行应用程序
- 在Java调试器中,如何忽略从不通过我的代码的exception
- 使用Gradle编译项目时,IntelliJ究竟在做什么?
- 使用play-framework 2.5连接MySQL数据库