将Xcode组创build为文件系统文件夹的工作stream程

我喜欢在Xcode 4项目导航器窗格中将我的类组织成组。 我也通过terminal使用GIT版本控制,这对我来说比Xcode 4集成更好。 对我来说,当我在Xcode中创build的组对应于我的文件系统上的实际文件夹时,这是最有意义的。

但是,Xcode似乎并不关心文件系统(例如Objective-C .h / .m文件)在文件系统上的位置,每次添加一个组( Option+Command+N )时,它都是纯粹的装饰,对于任何文件放在那里将在硬盘驱动器上共享相同的位置。

奇怪的是,如果你首先在你的硬盘上创build一个文件夹,然后把它拖到Xcode,你已经创build了一个在你的文件系统上有自己的位置的组。 您在那里创build的每个文件都将在磁盘上的文件夹中创build。 我喜欢这个,但是如果Xcode会在Option+Command+N中为我做这个,我会更喜欢它。 为您想要创build的每个组切换到Finder,然后将其拖回项目导航器的正确位置的工作stream程简直是愚蠢的。

感觉像一个设置可以解决,但我找不到它! 有没有更好的办法?

更新:当把一个文件夹拖到Xcode时,你会看到一个对话窗口,你可以select“文件夹引用”。 这看起来很有希望,但是我的Xcode 4不接受那里的文件作为类,并一直告诉我,它找不到任何文件。 也许答案在某处,但我仍然找不到。

另一个更新:我已经将我的主编辑器环境从Xcode更改为AppCode。 后者支持实际创build文件夹来备份项目组,同时保持与Xcode的100%兼容性。 这些AppCode人确定知道他们在做什么。

UPDATE

从Xcode 9开始,“新build组”命令为该组创build一个文件系统文件夹。 如果您重命名组,并且该组具有相同名称的相应文件夹,则Xcode 9也会重命名该文件夹。

Xcode 9有一个单独的“新build组无文件夹”命令,创build一个组而不创build相应的文件夹,这是旧的行为。

在Xcode 9中,如果将文件从一个组拖到另一个组,并且这些组具有不同的文件夹,则无论新组的文件夹是否与该组具有相同的名称,Xcode 9都会将该文件移至新组的文件夹。

如果您希望在Xcode 9中出现这种情况,您可以从命令行设置一个未公开的设置:

 defaults write com.apple.dt.Xcode IDEDisableStructureEditingCoordinator -bool YES 

原版的

可以直接在Xcode中创build一个新的组,并使用它自己的文件夹,但这并不明显。

而不是select“新build组”,select“添加文件到”<Project>“”。 然后,在文件选取器对话框中,单击“新build文件夹”button或按下Command-Shift-N并键入新文件夹/组的名称。 然后,确保select“为所有添加的文件夹创build组”,然后单击添加或按回车键。

用自己的文件夹添加一个组

如果您需要将现有的文件移动到新的组中,这并不会节省很多,因为Xcode仍然不会这样做。

但是,如果您正在创build一个新组来保存新文件,它会节省几个步骤。

对于那些懒得同步文件夹的人来说, GitHub上有一个很好的工具。

Synx是一个命令行工具,用于重新组织Xcode项目文件夹以匹配您的Xcode组。

在这里输入图像说明

希望这有助于某人

看看andyvn22的答案在这里

解释:

  • Xcode 3 :无论何时在Xcode中创build一个组,立即获取它的信息,并注意其名称下方的“Path:”设置。 点击“select…”并将其设置为具有相同名称的新文件夹。
  • Xcode 4 :无论何时在Xcode中创build一个组,立即select它并打开右侧边栏。 注意它的名字下方的“path:”设置。 点击“无”(什么是窗口中的文件?)旁边的图标,并将其设置为具有相同名称的新文件夹。

然后,您需要将磁盘上的任何现有文件手动移动到新文件夹。

刚刚在我的Xcode4项目中尝试了这个,就像一个魅力。