17

我们的项目中有一个 build.xml,但 IntelliJ 无法从中导入。我得到一个:

Cannot import anything from <path_to>/build.xml file.

在 Eclipse 上,我可以执行以下操作:

File -> Import -> General -> Existing Projects into workspace.

并选择顶级文件夹。我在 IJ 也做了同样的事情。项目导入和索引很好,我可以搜索任何类。但是,它不能识别 protobuf 编译的类文件。我安装了 proto 插件,因此它的语法突出显示了我的 .proto 文件,但仍然没有意识到它需要引用一个已编译的类输出。我需要做一些特别的事情来让它识别这些文件吗?

4

2 回答 2

34

因为这几乎是我唯一能找到关于我所面临的问题的确切描述的地方,所以即使这是一个老问题,我也会回复。

事实证明,如果.java协议缓冲区编译器生成的文件大于 2.5MB(默认设置),Idea 会完全忽略它。即使有.class文件,即使编译/制作成功,即使您使用 Maven 构建项目也可以。

要解决此问题,只需编辑您的idea.properties文件(它bin位于您的 Idea 安装文件夹中的文件夹内),然后注释掉此设置,或将其设置为大于您生成的.java文件的内容(在我的情况下,我将其设置15000为文件当前大小约为 8MB):

#---------------------------------------------------------------------
# Maximum file size (kilobytes) IDE should provide code assistance for.
# The larger file is the slower its editor works and higher overall system memory requirements are
# if code assistance is enabled. Remove this property or set to very large number if you need
# code assistance for any files available regardless their size.
#---------------------------------------------------------------------
idea.max.intellisense.filesize=2500

注意:至少在 Linux 上,默认更新策略似乎是“用刚刚下载的内容覆盖旧的 Idea 文件夹”,每次更新/升级后都必须应用此更改。

于 2016-01-19T10:58:14.357 回答
2

米歇尔回答的延伸,

Mac 中没有 bin 文件夹。

在 macOS 中,当 Intellij 无法识别 proto 编译的 Java 类文件时,

从帮助菜单 ---> 选择编辑自定义属性。它可能会要求您在下创建idea.properties文件

$HOME//Library/Application\ Support/JetBrains/IdeaIC2020.1/

创建属性 idea.max.intellisense.filesize=2500 并设置该值以适应您的大型原始编译文件,以便 IntelliJ 识别。

于 2020-06-02T08:02:29.483 回答