如何“解除”Eclipse 的索引器
我现在在 Linux 上专业使用 Eclipse(用于代码editing只是,不构建——我在命令行中这样做)四年了,massivemono-repos 代码大小高达 200 GiB。我的索引器已经被卡住了数百次,而这两种解决方案似乎非常一致地可以“解除”索引器的卡住。
1.增加Eclipse可用的堆(RAM)
将 Eclipse 可用的最大 RAM 从 8 GiB 加倍到 16 GiB 解决了这个问题。它被困了几个小时4841/7617 sources, 27463 headers
,永远解析同一个文件,RAM 最大为 8 GiB。当我将 Eclipse 可用的 RAM(堆)从 8 GiB 更新到 16 GiB 后,我让索引器过夜运行 10 小时,到早上就完成了。
注意:如果尝试对 Boost 库进行索引,一些初始测试让我怀疑它会将 Eclipse 带到一个巨大的位置。64 GiB~128 GiB RAM(堆)索引它们,所以我通常只是将所有或大部分 Boost 库排除在索引之外作为一般规则。
要将 Eclipse 可用的 RAM 加倍,请打开(在 Linux 上):/home/username/eclipse/embedcpp-2021-06/eclipse/eclipse.ini
,或您的等效路径,然后修改-Xmx
价值。例如:我增加了我的-Xmx8196m
(8196 MiB 或 8 GiB)到-Xmx16384m
(16384 MiB 或 16 GiB)。关闭并重新打开 Eclipse 以使此更改生效。
另外,打开在 Eclipse 窗口底部显示堆状态(如果默认情况下尚未打开):
窗口→首选项→常规→选中“显示堆状态”框→单击“应用并关闭”。这是 Eclipse 窗口底部现在的样子!
Source:
-
上面是我的 Google 文档, p12.
- 也可以看看:如何在eclipse中查看内存使用情况(入门)
您可能需要为您的 PC 提供更多虚拟内存以支持上述 RAM 增加
如果你没有足够的物理内存来处理这种增加,但您有高速 SSD,您可以将 SSD 用作虚拟内存弥补不足物理内存。这可以在 Windows 和 Linux 上完成,也许 Mac 上也可以完成。如果在 Linux 上,按照我的说明来增加您的虚拟内存交换文件到更可用的东西:例如:将其增加到 32 GiB。现在,您可以设置 Eclipse 使用的最大堆大小将等于物理内存(真实RAM) + 虚拟内存交换文件(在固态驱动器上模拟的假“RAM”)。不过,请为其他程序留出一些 GiB——不要给它all到日食。
2. 排除所有不需要索引的构建文件夹和第 3 方库(尤其是 Boost!)
请参阅我关于如何使用 1) 资源过滤器和 2) 手动符号链接生成器脚本(我的首选)执行此操作的非常详细的答案:如何在 Eclipse 中排除文件夹的所有部分,除了其中的一些特定子文件夹
更进一步
我在我的 Eclipse 设置文档中写了有关此内容以及大量其他设置和您可能会发现有用的内容,您可以在这里找到:
-
https://github.com/ElectricRCAaircraftGuy/eRCaGuy_dotfiles/tree/master/eclipse.
- 直接链接到 Google 文档
也可以看看:对于大型 C++ 项目,推荐的 Eclipse CDT 配置是什么(索引器需要很长时间)