一、遇到问题
IDEA 一直在update index maven jar,因项目模块过多,有17个,经常会出现索引更新的情况。
此时无法鼠标右键修改文件名。
官网对此描述为:
While indexing is in progress, the above-mentioned coding assistance features are unavailable or partially available. Nevertheless, you can still work with the IDE: you can type code, work with VCS features, configure settings, and perform other code unrelated actions.
在进行索引时,上述编码辅助功能不可用或部分可用。但是,您仍然可以使用 IDE 工作:您可以键入代码、使用 VCS 功能、配置设置以及执行其他与代码无关的操作。
二、IDEA索引了解
索引检查项目代码,以创建构成应用程序的类别、方法、对象和其他代码元素的虚拟地图。这是提供编码辅助功能、搜索和导航的必要条件。索引后,IDE 会了解您的代码。因此,立即执行查找用法或智能完成等操作。
索引所需的时间因项目而异:项目越复杂,包含的文件越多,索引索引所需的时间就越多。您可以通过排除文件和文件夹以及卸载模块来减少索引时间。
请注意,如果索引已经在进行中,则无法加快速度。等待过程完成,然后您可以暂时简化您的项目。下一次,索引将更快完成。
三、解决
IDEA官网提供了3个方法:
1、Use shared indexes
减少索引时间的可能方法之一是使用共享索引。与本地构建的常规索引不同,共享索引生成一次,以后在需要时在另一台计算机上重复使用。
IntelliJ IDEA 可以连接到专用资源,为您的 JDK 和 Maven 库下载共享索引,并为项目代码构建共享索引。每当 IntelliJ IDEA 需要重新对应用程序进行再扩展时,它将使用可用的共享索引,并将为项目的其他部分构建本地索引。通常,这比从零开始为整个应用程序构建本地索引要快。
当您启动项目时,IntelliJ IDEA 会同时处理本地和共享索引。这可能会增加计算机上的 CPU 使用量。如果您想避免这种情况,请在"Settings/ Preferences | Tools | Shared Indexes"中启用"等待共享索引"选项。
有关索引和其他减少索引时间的方法的更多信息,请参阅索引。
2、Exclude files and folders
标记排除的动态生成文件可以加快索引和整体 IDE 性能。
例如,建议您排除汇编输出文件夹。
排除的文件仍然是项目的一部分,但因代码完成、导航、索引和检查而忽略。
要排除文件,请在项目工具窗口中右键单击它,并选择覆盖文件类型|纯文本。纯文本文件标有纯文本图标。
要排除文件夹,请在项目工具窗口中右键单击它,并选择 Mark 目录作为|排除。排除的文件夹标有"排除"根图标图标。
您也可以按名称模式排除文件和文件夹。
将文件夹标记为"排除"不会影响部署。有关如何将文件排除在部署之外的信息,请参阅"排除文件"和"文件夹"以阻止上传和下载。
3、Unload modules
如果索引需要大量时间,那么您的项目很可能有两个以上的模块。
通常,您不需要同时使用所有这些功能。
如果是这样的话,您可以暂时留出(卸载)您目前不需要的模块。
当您搜索或重构代码、编译或索引项目时,IDE 会忽略已卸载的模块。
要卸载模块,请在项目工具窗口中右键单击该模块并选择"Load/Unload Modules"。
打开方式:连续按2下Shift,搜索: Load/Unload Modules,打开即可
有关更多信息,请参阅卸载模块。
希望对大家有所帮助。