历史背景:
我们有一个由以下部分组成的项目:
从版本到版本,添加了一些插件,并删除了一些插件。 到目前为止,我们使用Visual Studio解决方案(* .sln)来包含Host应用程序,Scripting Engine库和插件的所有项目(* .vcxproj)(每个插件一个* .vcxproj!)。 为了共享源/项目,我们使用专有的源代码控制系统,到目前为止,一旦我们合并了服务器的更新(添加了一些插件项目并删除了一些插件项目),VS中的所有项目树都因“重新加载”功能而刷新(开发人员无需执行任何操作即可查看和构建更新的源代码树。)
问题:
现在我们的高级管理层决定切换到Eclipse CDT / MinGW对,我们遇到的问题是Eclipse Workspace与Visual Studio * .sln不同......
现在,当某个插件项目文件夹出现或某些插件项目文件夹消失时,相应的工作区项目不会相应更新。
因此,从现在开始,每个开发人员都必须使用 File> Import ...> General>“现有项目进入工作区”文件/“从文件系统打开项目”将新项目添加到自己的工作区手动将其他开发人员添加到源控件后手动完成。
还必须手动从自己的Workspace中删除那些从源代码管理中删除的插件项目...
这与我们之前使用Visual Studio的情况形成鲜明对比,其中“重新加载”功能自动更新项目/源代码树(只是因为* .sln / * .vcxproj来自所有信息。服务器)。
我们的第一个选择是将Workspace \ .metadata等东西放到源代码控制中(正如我们之前为* .sln文件所做的那样),但“这不是Eclipse Workspace的设计方式”(这甚至不是可能只是因为.metadata \ *中的路径是绝对的,而且大量的Workspace \ *东西根本不可合并)
问题:
是否有某种方法可以自动将Eclipse CDT Workspace与从源代码管理中获取的项目集同步。就像按下一些(隐藏?)魔术“刷新”按钮(在特殊插件中安装或类似的东西),所有新项目将自动添加到工作区中的源树并删除项目也将自动消失 ,不需要使用所有那些“导入”向导,并且需要手动删除已删除的项目?
可能是Eclipse中有一个特殊的“容器”项目类型与* .sln在Visual Studio中扮演的角色相同或类似吗?
可能还有其他可用选项吗?... 总体意图不是用一些Eclipse等价替换* .sln,而是为了支持类似的工作流程,当一堆插件项目作为一个整体进行管理时项目设置“刷新”为简单操作,不需要团队中的每个人手动跟踪该组中出现/消失的项目。
答案 0 :(得分:1)
您是否考虑过使用CMake生成Eclipse项目文件?然后,您可以将它们导入Eclipse工作区。
它不是自动的,但是如果你为每个部分创建单独的CMakeLists.txt文件,那么你可以轻松地在主CMakeLists.txt文件中注释该部分的包含,并在你只想加载子集时重新生成项目文件该项目。
https://cmake.org/Wiki/Eclipse_CDT4_Generator
如果您想要更改回VS或另一个IDE,CMake也可以为此生成项目文件。
我个人只使用CMake生成VS解决方案和Unix制作文件,因此我无法保证其工作效果。
HTH。
另外,为什么管理决定使用Eclipse而不是Visual Studio?在作出决定之前,没有事实依据或影响研究,这听起来似乎是一个糟糕的决定。
是因为Eclipse是免费的吗?他们是否考虑降低开发人员生产力成本的因素?