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

您的问题可能有两个原因

  1. 您的构建java构建路径中未正确配置源文件夹。 如果未正确配置源文件夹,则自动完成将不会获得所需的类定义,并且自动完成将对您的项目失败。
  2. 恢复“Windows>首选项> Java>编辑器>内容辅助>高级”中的默认选项

右键单击项目 – >添加框架支持 – >选择Maven – >单击确定

唯一对我有用的是杀死IntelliJ(在Ubuntu上)并再次启动它。

在根文件夹中剪切文件夹.idea和文件* .iml,并将其他地方粘贴到项目之外。 当您重新打开项目时,自动导入将再次神奇地工作。

我有同样的问题,这是由于我没有标记为源根目录的文件夹。

右键单击您的src目录并将目录标记为> Sources Root。

在编写eclipse-che客户端扩展时,我遇到了这个问题。 Eclipse che模块都是maven类型。 我的客户端扩展项目是一个独立的模块,可以独立于父项目进行编译。 当我向Intellij导入相同的结构时,我的客户端扩展项目没有给出建议。 将客户端扩展项目包含到父模块(将其添加到pom.xml)后,建议开始显示。

从“ 设置”>“编辑器”>“常规”>“自动导入”>“Java”>“从导入和完成中排除”中删除包

我遇到过这个问题。 这篇文章的解决方案都没有起作用,但我能够修复它,因为我不小心将我的项目包放在“从导入和完成中排除”设置中。

更改您的intellij设置以包括要完成的包

我有一个groovy项目,其中某种方式jdk没有设置为依赖项,因此jdk类不会自动完成。

固定:

  1. 项目结构
  2. 模块
  3. (你的模块)
  4. 选项卡依赖项。
  5. 在模块SDK字段中,添加一个jdk。

这不是IntelliJ 13,而是2017.1.1社区版本。 在这里添加这个答案,以便其他人从一个源于Gradle配置的原因中受益。

现在,在我的情况下,自动完成,生成覆盖方法和其他function也无法正常工作。 我想到的是,在我的项目设置中,我有多个gradle模块配置。 当我清理剩下的模块并保留了该项目所需的唯一一个(除了测试之外)时,所有行为都恢复正常。

此外,在Gradle项目的情况下,请记住在Source文件夹中标记所有sourceSet根文件夹。

编辑:如果您不想为每个sourceSet创建多个配置并且要导入gradle模块,则在导入屏幕上还应禁用为每个sourceSet标志创建模块。 没有这个,我必须在导入模块后删除多个模块。 每个sourceSet创建模块

我有类似的问题,这个主题没有任何帮助。

所以最后我让它工作,我清除IntelliJ的缓存并重新启动。

文件>无效缓存/重新启动..> Invalidate Cache and Restart (按钮)

在此处输入图像描述