Xcode最终添加了选项卡,但问题是它们的行为非常奇怪。例如,只有将选项卡打开到新选项卡时,它们才会保持打开状态。
如果仅通过单击项目树来打开文件,则Xcode将在您单击树中的另一个文件时立即关闭您的选项卡。
是否有可能使它们的行为像真实的选项卡,并阻止Xcode重用它们?怎么样?
Xcode最终添加了选项卡,但问题是它们的行为非常奇怪。例如,只有将选项卡打开到新选项卡时,它们才会保持打开状态。
如果仅通过单击项目树来打开文件,则Xcode将在您单击树中的另一个文件时立即关闭您的选项卡。
是否有可能使它们的行为像真实的选项卡,并阻止Xcode重用它们?怎么样?
Answers:
2020年更新:
最终,将近10年之后,Xcode 12 beta 3现在似乎可以解决这里描述的问题。在“导航设置”面板中有一个新的“导航样式”选项来控制此行为。
当然,这可能会在随后的beta或Xcode 12的最终版本中发生变化。
该行为有一些似乎很有意义的新奇现象/设计选择,但我仍然习惯于这种新体验。例如,除非最近已编辑该选项卡中的文件,否则该选项卡将被重新使用;否则,该选项卡将被重新使用。此类标签以斜体标题表示。
上一个答案
我认为您目前无法获得想要的行为(或我想要的行为)。选项卡的工作方式类似于Safari,但与其他流行的IDE(Visual Studio或Eclipse)中的选项卡不同。对我来说,这很烂。
通常,我希望IDE选项卡可以打开多个文件。因此,如果我在项目树中单击一个文件,我希望它会切换到我使用该文件打开的选项卡-如果我已经打开了它。相反,XCode 4将当前选项卡更改为我单击的文件-使用相同的文件制作2个选项卡。具有相同文件的2个选项卡是相当无用的。
这将迫使用户首先扫描选项卡栏,以查看文件当前是否处于打开状态。如果未打开,则可以查看项目树。但是,如果您首先单击项目树(这是我倾向于这样做),那么您会受到惩罚,因为您将杀死一个选项卡。
我使用类似于坦率的方法:
缺少的最大功能是,如果有一个文件,则交换到一个已打开的包含文件的选项卡(或保留在当前文件中)。
就解决方案而言,这实际上不是答案。我主要只是想参加这场比赛。但是,投票会让您感觉更好,并证明苹果做错了。:)
Xcode 4的选项卡实现的问题在于Apple已将它们实现为工作区选项卡。换句话说,创建一个新选项卡实际上会创建一个新的工作区,每个工作区都有其自己的子窗格及其配置等。这实际上是每个选项卡中的整个环境。这种选择存在许多问题。
这与大多数IDE /文本编辑器对文件选项卡的实现不同,后者的选项卡(通常)代表单个文件,而每个文件都有其自己的选项卡。
工作区选项卡的问题在于,我们只能受益于这么多潜在的不同工作区,以这种方式严重限制了选项卡的实际使用。除此之外,额外的工作空间将成为一种责任,引入了应用程序用户需要与他/她自己相关的更多事情:例如,导航器视图是什么,激活的编辑器模式(标准,助手,版本),是否调试控制台已打开,等等。等等。突然切换到新选项卡意味着您现在必须担心将环境恢复为所需的形式,因为很有可能其他选项卡未处于您所处的状态希望找到它。这实际上不鼓励使用选项卡,因为它在工作流程中引入了更多的工作。
文件选项卡不存在此问题(不计算拆分视图窗格等特殊情况),因为所有更改仅是您正在查看的文件,而不是整个环境。此外,如果实施得当,文件选项卡可以作为即时历史记录很好地使用,从而使人们可以毫不费力地快速切换回最近使用过的文件。在Xcode中执行此操作的唯一方法是为要使用的每个文件显式设置一个新的选项卡环境,但是您必须注意不要在该选项卡中更改文件,否则文件会突然丢失:再次,为用户增加了工作量。
工作区选项卡的重量也比文件选项卡重得多,这是因为要记住的内容还很多,并且切换工作区所涉及的不仅仅是切换文件。
事实是,(我想大多数人会同意我这一点),给开发者,文件选项卡多比工作空间标签更实用,因为它代表的Xcode仍然缺乏正确实施此功能的,很多会考虑基本需要的功能在IDE /编辑器中。
好吧,这不是一个真正的答案,而是我的个人解决方法。对我而言,真正的问题是,在xcode 4中,在选项卡中打开的文件很容易消失。再次查找文件可能很耗时,因此我希望它们位于选项卡中并停留在该位置。
我(通过某种方式)为我解决了这个问题,方法是准确地识别我所做的使标签切换到另一个文件的操作,并用等效的操作替换它们,这些操作会打开一个新的标签。
我保留了两个固定的选项卡,用于编辑与目标相关的设置并查看构建结果。我完全禁用了首选项中的所有自动制表符切换功能,因为我注意到这使我分心了很多。
我真的很想在xcode 4中得到类似xcode 3的收藏夹栏这样的东西,使用起来非常简单。
我想我的答案不会在一段时间内冒出来,但是如果您希望它像Visual Studio或Intellij(或更近)一起工作,
首选项->常规->双击导航->使用单独的选项卡
现在,双击文件将停止在新窗口中打开文件,并在新选项卡中打开文件。
Single仍然很笨,会接管您的标签。但是,如果您习惯双击(我已经这样做了),这将为您省去一些麻烦。我想。
我绝对讨厌选项卡在Xcode中的工作方式。但是,我发现唯一可行的解决方法是使用OSX选项卡快捷方式:CTRL + CMD +-> CTRL + CMD + <-
我在“首选项行为”中找到了自己的出路!
我首先讨厌Xcode 4来解决这里讨论的选项卡问题,主要是因为调试信息不断在选项卡中打开新文件并更改导航器
在“行为”中,您可以定义“调试”选项卡,并以各种方式使“运行”和“构建”跳到那里。在“调试”选项卡中,我为导航器的左侧和底部留出了更多空间
由于类似的原因,我也有一个“查找”选项卡
其他选项卡用于我正在写入的文件。我以.h开头,该文件通常足够小,因此我只需要一个视图,然后在navegator中单击一下即可打开2-3版本的.cpp文件,因此我可以将它们设置为文件中最近热点所在的位置。然后关闭这些标签中的导航器
这不会使此处其他答案中给出的关心和技巧无效,但会使它们的难度大大降低
祝您编码愉快!
我发现,在导航器中打开文件时按optionaka键alt时,您将跳至已与文件一起打开的选项卡,如果尚未打开,则会打开一个新的选项卡。
通过打开文件时,此技术也适用cmdshift-O与开放的建议option-enter在简单地代替enter...
现在,如果有某种方法可以使它成为默认值,即不再需要一直保持按下状态option,那将是一个很大的进步。
我还使用“行为”来防止我的标签在测试或构建失败后被回收。
(就像其他人一样,我完全不喜欢Xcode的选项卡行为。Apple应该看看IntelliJ ...)
Xcode 4中的选项卡的工作方式与Mac OS X上其他地方的选项卡一样,例如在Safari和Terminal中。
如果启用了选项卡栏(“查看/显示”选项卡栏),并且双击了一个文件,则该文件会显示在它自己的窗口中,并且只有一个选项卡(请确保在新(旧)(主)窗口中都启用了“选项卡栏”)。
现在,您要做的就是将新窗口从其选项卡中拖放到主窗口的选项卡栏中。
它将停靠在一个单独的选项卡上,显示该文件。
要更改在该新标签页中打开的文件,请在Project Navigator中转到Project / Reveal,这将在左侧打开项目导航器。