如何使选项卡在Xcode 4上正常工作?


86

Xcode最终添加了选项卡,但问题是它们的行为非常奇怪。例如,只有将选项卡打开到新选项卡时,它们才会保持打开状态。

如果仅通过单击项目树来打开文件,则Xcode将在您单击树中的另一个文件时立即关闭您的选项卡。

是否有可能使它们的行为像真实的选项卡,并阻止Xcode重用它们?怎么样?


17
我也认为XCode的导航很怪异。标签,而且每个标签都有一个历史记录,但历史记录不仅是文件,还包括文件中的斑点...使用键盘四处走走是很方便的。“像Safari一样工作”并不能很好...
david van brink

1
@davidvanbrink我不明白,XCode的界面与电影完全 一样吗?
bobobobo

1
我相信j03m有正确答案你的问题
Błażej

Answers:


69

2020年更新:

最终,将近10年之后,Xcode 12 beta 3现在似乎可以解决这里描述的问题。在“导航设置”面板中有一个新的“导航样式”选项来控制此行为。

当然,这可能会在随后的beta或Xcode 12的最终版本中发生变化。

该行为有一些似乎很有意义的新奇现象/设计选择,但我仍然习惯于这种新体验。例如,除非最近已编辑该选项卡中的文件,否则该选项卡将被重新使用;否则,该选项卡将被重新使用。此类标签以斜体标题表示


上一个答案

我认为您目前无法获得想要的行为(或我想要的行为)。选项卡的工作方式类似于Safari,但与其他流行的IDE(Visual Studio或Eclipse)中的选项卡不同。对我来说,这很烂。

通常,我希望IDE选项卡可以打开多个文件。因此,如果我在项目树中单击一个文件,我希望它会切换到我使用该文件打开的选项卡-如果我已经打开了它。相反,XCode 4将当前选项卡更改为我单击的文件-使用相同的文件制作2个选项卡。具有相同文件的2个选项卡是相当无用的。

这将迫使用户首先扫描选项卡栏,以查看文件当前是否处于打开状态。如果未打开,则可以查看项目树。但是,如果您首先单击项目树(这是我倾向于这样做),那么您会受到惩罚,因为您将杀死一个选项卡。


1
提交错误报告!选项卡名称应等于该选项卡中的当前文件(!)
mda 2012年

13
XCode 6仍无法按预期处理选项卡:(
Ivan Marinov

1
似乎已在XCode 7中修复!我已经设置好了,所以双击会在一个新选项卡中打开,如果文件已经打开,它将带您到该选项卡,而不是一个新的选项卡。
chiliNUT

1
chiliNUT。如何设置此行为的设置?双击时,即使已经在现有选项卡中打开了文件,它也会在新选项卡中打开文件。
andynil '16

XCode 10仍无法按预期处理选项卡:(
pingu

90

我使用类似于坦率的方法:

  • “偏好设置”>“导航”(或XCode 5之前的版本中的“偏好设置”>“常规”)中,可以将“可选导航”设置为“使用单独的标签”
  • 现在,选择-在文件导航器中单击一个文件,将在新标签页中将其打开
  • 更好的是,在代码中使用opt -click链接可在新选项卡中打开目标文件

缺少的最大功能是,如果有一个文件,则交换到一个已打开的包含文件的选项卡(或保留在当前文件中)。


真棒,这个答案救了我,你还可以设置双击打开一个新标签
melanke

8
它位于“首选项”的“导航”选项卡中(可能是Xcode 5中的更改)。偏好设置->导航->可选导航->使用单独选项卡
Priebe

这正是我想要的!我一直使用诸如VS或PHPStorm这样的IDE,这些IDE使用了选项卡,这确实救了我
硬性设置

3
缺少的最大功能是,如果有一个文件,则交换到一个已打开的包含文件的选项卡(或保留在当前文件中)。我希望增加它
MistyD

3
仍然我不喜欢在打开sime文件的情况下可以得到两个标签的事实。我完全不喜欢Xcode中的工作区标签系统...
NunoGonçalves16年

24

就解决方案而言,这实际上不是答案。我主要只是想参加这场比赛。但是,投票会让您感觉更好,并证明苹果做错了。:)

Xcode 4的选项卡实现的问题在于Apple已将它们实现为工作区选项卡。换句话说,创建一个新选项卡实际上会创建一个新的工作区,每个工作区都有其自己的子窗格及其配置等。这实际上是每个选项卡中的整个环境。这种选择存在许多问题。

这与大多数IDE /文本编辑器对文件选项卡的实现不同,后者的选项卡(通常)代表单个文件,而每个文件都有其自己的选项卡。

工作区选项卡的问题在于,我们只能受益于这么多潜在的不同工作区,以这种方式严重限制了选项卡的实际使用。除此之外,额外的工作空间将成为一种责任,引入了应用程序用户需要与他/她自己相关的更多事情:例如,导航器视图是什么,激活的编辑器模式(标准,助手,版本),是否调试控制台已打开,等等。等等。突然切换到新选项卡意味着您现在必须担心将环境恢复为所需的形式,因为很有可能其他选项卡未处于您所处的状态希望找到它。这实际上不鼓励使用选项卡,因为它在工作流程中引入了更多的工作。

文件选项卡不存在此问题(不计算拆分视图窗格等特殊情况),因为所有更改仅是您正在查看的文件,而不是整个环境。此外,如果实施得当,文件选项卡可以作为即时历史记录很好地使用,从而使人们可以毫不费力地快速切换回最近使用过的文件。在Xcode中执行此操作的唯一方法是为要使用的每个文件显式设置一个新的选项卡环境,但是您必须注意不要在该选项卡中更改文件,否则文件会突然丢失:再次,为用户增加了工作量。

工作区选项卡的重量也比文件选项卡重得多,这是因为要记住的内容还很多,并且切换工作区所涉及的不仅仅是切换文件。

事实是,(我想大多数人会同意我这一点),给开发者,文件选项卡比工作空间标签更实用,因为它代表的Xcode仍然缺乏正确实施此功能的,很多会考虑基本需要的功能在IDE /编辑器中。


18

Xcode->Preferences->General->Double Click Navigation然后从列表中选择Uses Separate Tab


4
在XCode 5中,您将转到Preferences->Navigation->Double Click Navigation
Gerard,

17

好吧,这不是一个真正的答案,而是我的个人解决方法。对我而言,真正的问题是,在xcode 4中,在选项卡中打开的文件很容易消失。再次查找文件可能很耗时,因此我希望它们位于选项卡中并停留在该位置。

我(通过某种方式)为我解决了这个问题,方法是准确地识别我所做的使标签切换到另一个文件的操作,并用等效的操作替换它们,这些操作会打开一个新的标签。

  • 我总是双击设置为打开新选项卡的文件,而不是在导航器中单击文件。
  • 大多数情况下,我不使用导航器,因为每个选项卡中的打开和关闭文件夹状态不同。对我没用 所以我改用 Option ⌥ Command ⌘ O。从该列表打开文件时,我一直ShiftOption ⌥按下。在出现的小窗口中,我选择“新标签”。
  • 单击代码中的链接时,我也按ShiftOption ⌥ Command ⌘,然后在新选项卡中打开。

我保留了两个固定的选项卡,用于编辑与目标相关的设置并查看构建结果。我完全禁用了首选项中的所有自动制表符切换功能,因为我注意到这使我分心了很多。

我真的很想在xcode 4中得到类似xcode 3的收藏夹栏这样的东西,使用起来非常简单。


2
尽管这不是一个“解决方案”(据我所知没有一个解决方案),但我确实很高兴学习如何通过“快速打开”打开选项卡并单击代码中的链接。乏味但非常有用。谢谢。
ajmccall 2012年

8

我想我的答案不会在一段时间内冒出来,但是如果您希望它像Visual Studio或Intellij(或更近)一起工作,

首选项->常规->双击导航->使用单独的选项卡

现在,双击文件将停止在新窗口中打开文件,并在新选项卡中打开文件。

Single仍然很笨,会接管您的标签。但是,如果您习惯双击(我已经这样做了),这将为您省去一些麻烦。我想。



4

我绝对讨厌选项卡在Xcode中的工作方式。但是,我发现唯一可行的解​​决方法是使用OSX选项卡快捷方式:CTRL + CMD +-> CTRL + CMD + <-


3

我在“首选项行为”中找到了自己的出路!

我首先讨厌Xcode 4来解决这里讨论的选项卡问题,主要是因为调试信息不​​断在选项卡中打开新文件并更改导航器

在“行为”中,您可以定义“调试”选项卡,并以各种方式使“运行”和“构建”跳到那里。在“调试”选项卡中,我为导航器的左侧和底部留出了更多空间

由于类似的原因,我也有一个“查找”选项卡

其他选项卡用于我正在写入的文件。我以.h开头,该文件通常足够小,因此我只需要一个视图,然后在navegator中单击一下即可打开2-3版本的.cpp文件,因此我可以将它们设置为文件中最近热点所在的位置。然后关闭这些标签中的导航器

这不会使此处其他答案中给出的关心和技巧无效,但会使它们的难度大大降低

祝您编码愉快!


3

我发现,在导航器中打开文件时按optionaka键alt时,您将跳至已与文件一起打开的选项卡,如果尚未打开,则会打开一个新的选项卡。

通过打开文件时,此技术也适用cmdshift-O与开放的建议option-enter在简单地代替enter...

现在,如果有某种方法可以使它成为默认值,即不再需要一直保持按下状态option,那将是一个很大的进步。

我还使用“行为”来防止我的标签在测试或构建失败后被回收。

(就像其他人一样,我完全不喜欢Xcode的选项卡行为。Apple应该看看IntelliJ ...)


1
对于重用现有选项卡,这是更有用的建议之一。远非完美的解决方案(显然没有解决方案),但这很有帮助!
梅森·李

1

xcode标签栏是如此的烂,我认为苹果应该增强标签导航的功能,避免跟进3点。1.双击文件将使xcode打开另一个标签(如果已存在)。2.对于更多选项卡,选项卡将变小,因此我不知道哪个选项卡中的哪个文件,我希望选项卡显示全名。3.对于更多选项卡,将隐藏新的选项卡,而不是两行选项卡。我想显示两行标签栏。


0

Xcode 4中的选项卡的工作方式与Mac OS X上其他地方的选项卡一样,例如在Safari和Terminal中。


首先,我在这里谈论选项卡打开标准,将其与非面向项目的应用程序进行比较是没有意义的。问题在于,单击项目树会触发有关选项卡打开的尴尬行为。
索林2011年

2
Xcode 4中的选项卡的行为类似于“真实选项卡”,因为它们遵循为操作系统其余部分中的选项卡建立的约定。他们这样做是设计使然。您可以选择在常规首选项中单击选项卡或双击打开在新选项卡(或窗口)中单击的内容。您不能选择单击打开新选项卡。
克里斯·汉森

更具体地说,如果您在项目导航器中单击一个文件,则在项目导航器中单击另一个文件时,Xcode不会“打开选项卡”,然后“关闭该选项卡”。Xcode显示您在当前选项卡的主编辑器中单击的文件。
克里斯·汉森

1
如何在选项卡之间旋转键盘快捷键?
铭耀2011年

26
我幼稚地想投票,因为我讨厌标签的工作方式!让我所有的Grrrr。:-)
David van brink

0

如果启用了选项卡栏(“查看/显示”选项卡栏),并且双击了一个文件,则该文件会显示在它自己的窗口中,并且只有一个选项卡(请确保在新(旧)(主)窗口中启用了“选项卡栏”)。

现在,您要做的就是将新窗口从其选项卡中拖放到主窗口的选项卡栏中。

在此处输入图片说明

它将停靠在一个单独的选项卡上,显示该文件。

要更改在该新标签页中打开的文件,请在Project Navigator中转到Project / Reveal,这将在左侧打开项目导航器。


3
每次都是“您所要做的”吗?;)您可以定义(在“首选项”->“行为”中),双击应该在一个新选项卡中打开,而不是在一个新窗口中打开,但是从一开始,这仍然不能改善选项卡的出色实现。
devios1 2013年

您评论忽略了@Daniel的答案,但是您的答案并未解决以下事实:单击文件时,它会更改在当前选项卡上打开的文件。这与大多数其他IDE不同,并且没有任何意义。
0x6A75616E 2013年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.