我是XCode的新手,我发现文件管理是一个巨大的痛苦。在大多数IDE中,您可以简单地让项目源代码树引用磁盘上的目录结构。这使得向项目中添加新文件变得很容易-您只需将它们放在磁盘上,它们就会自动编译。
使用XCode,似乎我必须创建文件并将其单独添加到项目中(或者被迫通过UI操作文件系统)。但这意味着通过源代码控制共享.xcodeproj充满了问题-通常,我们会在xcodeproj文件上遇到合并冲突-当我们不这样做时,我们经常会遇到链接器错误,因为在合并过程中,项目中列出的一些文件会被删除。所以我必须重新将它们添加到项目文件中,直到我可以编译它,然后重新检入项目文件。
我肯定是漏掉了什么。我试着使用“参考文件夹”,但其中的代码似乎无法编译。构建一个IDE,强制每个人在向项目添加或删除文件时修改单个共享文件,这似乎是疯狂的。
3条答案
按热度按时间ni65a41a1#
尽管有其他答案,但这绝对是对其他IDE的背离,并且是一个主要的麻烦。据我所知没有好的解决办法。
我经常使用的一个技巧使它变得更容易忍受-特别是其中有很多文件的资源目录-是:
这样做会让任何手动的文件重新排序都失败,但是它至少使同步操作的时间复杂度为O(1),而不是O(n)。
dgtucam12#
我很好奇您使用的IDE会自动编译目录中的所有内容,因为我使用过的IDE都没有这样做(至少对于C++)。我认为有一个包含所有文件列表的项目文件是非常标准的。通常,您可能希望只包含用于不同目标的某些文件,具有每个文件的编译器设置等。
无论如何,考虑到它是如何工作的,你真的不应该有太多的合并冲突问题。最好的建议是尽早提交,这样你就不会跟不上别人的变化。仅仅将文件添加到项目中不应该导致冲突,除非它们恰好被添加到项目树中的同一点。我们在团队中使用Xcode已经很多年了,我们很少遇到冲突:除非有人重组了项目
幸运的是,因为Xcode文件格式是文本,所以当发生冲突时通常很容易解决,不像Codewarrior的二进制格式那样糟糕。
mwngjboj3#
我使用的一种解决方法是通过Ctrl+单击目录或项目并选择“将文件添加到...”来手动将文件添加到项目。名称然后我手动选择没有出现的文件。此外,如果需要,我会在选择屏幕显示中添加复制文件。希望这能帮上忙。