我正在编写一些使用"vi“和"emacs”编写的遗留C++代码,并试图构建eclipse设置来维护它(在linux上)。我一直面临的两个主要问题是索引需要很长时间(超过4小时),而且即使完成了,eclipse也几乎没有响应。
代码库是以"3-4层深度“的方式构造的:
/system/${category}/${library}/
/server/${serverName}/${component}/示例:
/system/CORE/CommandLine/*.cpp
/system/CORE/Connection/*.cpp
...
/server/Authentication/DB/Objects/*.cpp
/server/Authentication/Main/*.cpp在/system/*下大约有200个“模块”,/server/Authentication/*下大约有50个模块。还有一个令人惊讶的复杂的制作系统,由那些想炫耀自己的制作能力的人编写了20年的制作代码:-)
到目前为止我已经尝试过两种方法
1)两个eclipse项目,即/system和/Authentication
2)每个“模块”有一个eclipse项目,最终得到+200个模块。我甚至计算了模块之间的依赖关系。
在这两种方法中,索引都需要很长时间。在方法1)中,我遇到了一些与未解决的依赖有关的问题。使用方法2) eclipse几乎没有响应,当我ctrl+click一个函数时,我可以去喝杯咖啡,然后在它响应之前回来.
有谁曾参与过像这样的大型项目?你有什么建议?
发布于 2012-03-09 12:08:37
这里的一般建议是为Eclipse提供更多的RAM。首先,您需要调整您的eclipse.ini配置文件,因为默认的配置文件不适合大型项目。这是我的eclipse.ini文件:
-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502
-product
org.eclipse.epp.package.cpp.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms512M
-Xmx4096M
-XX:PermSize=256M
-XX:MaxPermSize=512M在这里,我使用-Xmx4096M来提供4Gb内存。
要提高响应能力,还需要配置索引器缓存限制。根据项目规模,我建议将所有参数增加2-3倍。
发布于 2014-05-05 14:59:27
使用项目资源筛选器对我帮助很大。我从项目树文件夹中删除了这些文件夹,我不想修改这些文件夹,也不希望提交索引。
要创建一个新的过滤器,只需右键单击项目,然后打开Properties面板,然后到达Resource -> Resource
http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.platform.doc.user/concepts/resourcefilters.htm
有时,如果您的项目源太大(例如:大约5GB ),您需要使用过滤器,否则索引过程永远不会正确结束。
发布于 2017-03-09 06:35:09
在霓虹灯上也需要-Xss8g on eclipse.ini,以防止堆栈溢出。
还可以考虑ulimit -Sv unlimited。
在Ubuntu 14.04上测试。
https://stackoverflow.com/questions/9565125
复制相似问题