ST意法半导体
直播中

李鑫

7年用户 1319经验值
私信 关注
[问答]

使用项目复制工作区的最佳方式是什么?

假设我有一个包含多个产品项目(例如应用程序项目、引导加载程序项目等)的工作区。假设此工作区位于C:ProductA。现在我想复制此工作区以将其用于另一个产品,比方说 ProductB,它将位于C:ProductB,但当然我还想保留 ProductA。在谷歌上搜索了很多有关在 Eclipse 中执行此操作的信息后,我现在找到了两种实现此目的的方法:
选项 1:从头开始创建一个全新的工作区C:ProductB ,然后通过勾选“将项目复制到工作区”选项将项目从C:ProductA导入该工作区。这种方法的问题是所有工作区设置都需要从旧工作区中单独导入,我不能 100% 确定 CubeIDE 实际上会从旧文件夹中复制所有其他文件和文件夹。
选项 2:将C:ProductA的文件系统副本复制到C:ProductB并STM32CubeIDE 中打开C:ProductB 。这里令人讨厌的问题是,所有项目链接仍然指向旧的C:ProductA文件夹,因为 Eclipse 使用绝对路径!因此,建议的快速解决方案是简单地从该工作区中删除项目(而不是从磁盘中删除它们),然后重新导入它们(不必将它们复制到新的工作区中,因为它们已经存在)。这样做之后,所有项目链接似乎都指向C:ProductB,并且所有工作区设置似乎仍然存在。
不知何故,我更喜欢第二种方法,因为我手动将C:ProductA中包含的所有文件完整复制C:ProductB,如果还有一些其他文件或文件夹,它们也会被复制,但我不会必须导出/导入工作区设置。大师们对此有何看法?我可能忽略的第二种方法是否有一些可能的缺点?






回帖(1)

周宇

2023-1-4 12:12:19
我担心没有好的解决方案(或者至少没有点击按钮),因为 Eclipse 在这里已经不是那么聪明了(尤其是考虑链接资源)。在 STM32Cube 之上增加了它自己的复杂性,最终阻止了获得任何明显的解决方案。
如此说一切皆可保重。
如果您的工作区已经很好,您就不会考虑获得一个非常不同的文件位置。从 /Product A移动到 /Product B已经有所帮助。如果您正在考虑重新访问 深度,我想这几乎是不可能的(因为链接资源)。
从我的角度来看,最好的是原始工作区的副本(文件系统副本)。然后查找“ProductA”到“ProductB”的替换扫描新工作区内的所有文件。所有文件意味着所有......不仅是来源,还有工具元数据。感谢这样的论坛交流,我们已经知道一些 .mxproject 文件(如果某些文件是敏感元数据)。
做这样的声音对我来说你可能会取得一些成功。
PS:以防万一对您的原始工作区进行存档(.zip 或...)。如果在一些 metadat hacks 中失败,我们已经通过这样的论坛评论看到了一些魔法,尽管在你的新工作区上工作会破坏你原来的工作区(回到 .mxproject 东西......)
举报

更多回帖

发帖
×
20
完善资料,
赚取积分