随着Xcode的大量新手涌入,我相信有很多Xcode技巧和窍门可以共享。

您是什么人?

#1 楼

切换到标题/源文件



选项⌥命令⌘向上箭头↑



查看>切换到标题/源文件



.m.h文件之间切换。


在Xcode 4中,这是ctrl命令⌘向上箭头↑




评论


这绝对也是我的最爱。我经常使用它。当我们谈论cpp和h时,它也适用。不只是米! :)

– Pestophagous
08年9月30日在21:20

在Mac上称为“选项”,而不是“ alt”。如果您想使用精美的符号,可以将其写成⌥⌘↑

–布赖恩·坎贝尔
2009年3月31日15:33

更好的是,打开标题,,在同一窗口中打开.m,然后按⌘⌥⇠/⇢在它们之间切换。

– Peter Hosey
09年5月8日在19:56

请注意,在Xcode 3.2中,必须更改键绑定才能将⌘⌥⇠/⇢恢复到切换文件。他们将默认值更改为在同一文件中的位置之间移动。

– Peter Hosey
09年9月14日在12:34

用三根手指在触摸板上向上滑动是同一操作的另一个快捷方式。

–内森(Nathan)
09年12月30日在2:07

#2 楼

⌘命令+ Double-Click on a symbol:跳转到符号的定义。

⌥选项+ Double-Click on a symbol:在符号文档中查找文本。 (仅当您安装了符号的Doc Set时才起作用。)

收藏夹栏:

收藏夹栏就像在Safari中用于存储-很好-收藏夹一样。我经常将它用作存储快捷方式(您可以通过拖放操作将其存储到当前正在使用的文件中)的地方。通常,当我处理大型或不熟悉的项目时,这会更有用。

要显示“收藏夹”栏,请选择以下菜单选项:



View> Layout> Show Favorites Bar



评论


喘气!显示收藏夹栏,您一生都在哪里!

– willc2
09年6月28日在5:14

@ Mr.Gando-您可以在“收藏夹”栏上拖放文件。

–詹姆士·孙(James Sun)
2010-11-17 14:33

收藏夹栏已在Xcode 4中使用永久标签“替换”。

–上升
2011年8月5日,下午5:35

#3 楼

自动完成键盘快捷键

选项卡⇥OR Control ⌃ /:选择下一个自动完成参数。

Shift⇧Tab⇥或Shift⇧Control ⌃ /:选择上一个自动完成参数。

转义⎋:显示自动完成弹出列表。

评论


感谢您的Control- /,我一直想知道如何跳转到下一个arg

–丹·麦克莱恩
09年1月23日在19:53

天哪,我也是。到目前为止,这是Xcode最令人讨厌的“功能”。谢谢!

–pix0r
09年3月23日在16:52

是的,感谢您指出这一点...不知道ctrl- /杀死了我

–安迪·怀特(Andy White)
09年4月19日在0:04

Shift-Ctrl- /前进到上一个参数。

–克林顿·布莱克莫尔
09年6月23日在2:50

请注意,新的XCode使用Tab在补全中的参数之间移动。更流畅。

–刺戳
09年8月17日在17:48

#4 楼

关闭“撤消过去的点”警告

保存后尝试撤消时,将出现以下提示:


“您将要撤消过去的最后一个
点,此文件已保存。您
要这样做吗?”


要消除此警告,请在终端窗口:

defaults write com.apple.Xcode XCShowUndoPastSaveWarning NO



在模板文件中更改公司名称

将其粘贴到终端应用程序中:

defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{"ORGANIZATIONNAME" = "Microsoft";}'



在所有模板中更改“ com.yourcompanyname”:


查找目录:/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/Application

使用您喜欢的多文件搜索和替换工具将com.yourcompany更改为通常用于设备构建的任何值。打开整个目录后,我使用了BBEdit的多重查找和替换功能。您应该替换所有info.plist文件中的值。我发现有8个文件需要更改。
由于我忘记更改此字符串而导致构建失败的次数很荒谬。


在“组和文件”窗格中快速跳转到一个组




控制⌃选项⌥Shift⇧+ <组名的首字母>



如果按住上面的三个键,您可以通过按组名称的第一个字母快速跳至左侧(“组和文件”)页面中的组。例如,控制⌃选项⌥Shift⇧T可将您带到目标,而控制⌃选项⌥Shift⇧S可将其带到源。再按一次,它会跳到SCM。有时需要几次尝试才能使它起作用(我不知道为什么)。


在自动完成选项之间循环




Control ⌃。
Shift⇧Control ⌃。:在自动完成选择之间向后循环。



控制⌃。单词后的(Control-Period)会自动接受自动完成菜单中的第一项选择。尝试输入log,然后输入Control ⌃。您会得到一个不错的NSLog语句。再按一次可循环选择所有选项。要查看所有可变选项,请键入NSMu,然后输入Control ⌃ ..


快速帮助



Control ⌃ Command⌘? (当光标位于要查找的符号中时)
选项⌥+ <双击符号>
帮助>快速帮助



要从“快速帮助”窗口获取文档,请单击右上角的书籍图标。


请参阅文档中的符号




命令⌘选项⌥+ <双击符号>



直接进入完整的文档。


选择不相邻的文本




命令⌘Control ⌃ + <在编辑器中双击>



使用以上快捷方式可以选择多个单词,这很奇怪。您可以在完全不同的位置选择单词,然后一次删除或复制它们。不知道这是否有用。据我所知,它只是Xcode。


使用Emacs键绑定浏览您的代码

此技巧适用于Mac上的所有Cocoa应用程序( TextEdit,Mail等),并且可能是最有用的知识之一。




命令⌘左箭头或命令⌘右箭头带您到一行的开头和结尾。

Control ^ a和Control ^ e做相同的事情

Control ^ n和Control ^ p上下移动光标

Control ^ f和Control ^ b向后或向前移动光标一个空格




按住Shift⇧并选择其中任意一个,即可在移动点之间选择文本。将光标放在一行的中间,然后按Shift⇧Control ^ e,您可以选择到该行的末尾。

按Option⌥将使您可以使用键盘导航单词。选项⌥控制^ f跳至当前单词的末尾。选项⌥控制^ b跳到当前单词的开头。您也可以使用Option⌥和左右箭头键一次移动一个单词。



Control ^向左箭头和Control ^向右箭头将光标移动到单词的驼峰大小写部分之间。

NSMutableArray尝试一下。通过将光标置于NSArray后面,然后按Shift⇧Control ^向右箭头,然后按Delete键,可以将其快速更改为NS

评论


谢谢,我讨厌“您确定...”消息。为什么它甚至一开始就在那里?

–ruipacheco
09-10-22在21:49

只需按下Control-Command双击即可,因为Xcode将Command双击用于不连续单词选择以外的其他操作。在大多数Cocoa应用中,您可以仅使用Command修饰符进行不连续选择。

–尼古拉斯·莱利(Nicholas Riley)
09年11月1日在1:26

关于模板公司名称:XCode将其从AddressBook的地址卡中删除,因此,如果在此处进行更改,XCode将使用它。

– dertoni
2010-12-22 9:32

您也可以通过在通讯录卡上为自己设置一个公司名称来更改公司名称。

– macserv
2012年2月3日在22:54

#5 楼

快速打开...



命令⌘Shift⇧D


文件>快速打开...



我非常喜欢Open Quickly功能,该功能在Xcode 3.1和更高版本中特别有用。当您要打开项目或框架中的文件或符号定义时,只需按键盘快捷键,输入文件或符号的名称,然后使用向上箭头↑和向下箭头↓选择正确的结果(如果需要),然后按Return键以打开文件或导航到符号定义。
在Xcode 4上:




命令⌘Shift⇧ o




打开快速使用当前单词作为搜索词
此外,直到两分钟前我才对Xcode有所了解(当schwa在注释中指出时)是,如果在调用“打开快速”时编辑器的文本插入符号位于单词中,则该单词将用作“打开快速”搜索词。

评论


是的,Open Quickly现在非常有效。您也可以将文本插入符号放在#include /#import行的文件上,然后快速打开该文件。

– schwa
08-09-28在20:31

你们在说什么“文本插入符”?

–ivanTheTerrible
09年3月16日在20:52

在Mac上,“光标”指示您的鼠标位置。闪烁的竖线是“插入点”。

–尼古拉斯·莱利(Nicholas Riley)
09年11月1日在1:22

@Nicholas Riley:插入符号是正确的词,AFAIK-当我在软件公司工作时,我们的Mac开发人员总是将其称为

–波尔森比
2010年5月9日19:17

@Flubba:插入符号肯定是用于此目的的,我一点也不怀疑。它不是Mac上常见的以用户或开发人员为中心的术语。如果您使用Google的“插入站点:developer.apple.com”,您会在TrueType文档和一个最新撰写的iPad文档中找到匹配。

–尼古拉斯·莱利(Nicholas Riley)
2010年5月9日在21:32



#6 楼

使用#pragma进行组织

您可以使用:

#pragma mark Foo


...作为在源文件中组织方法的一种方式。通过弹出菜单浏览符号时,在Foo中放置的任何内容都会在列表中显示为粗体。

要显示分隔符(即水平线),请使用:

#pragma mark -


这非常有用,特别是对于将委托方法或其他方法组组合在一起的时候。

评论


键入#p通常会触发代码完成'#pragma mark

#7 楼

1.“ objc_exception_throw”上的断点

您应该始终在objc_exception_throw上有一个断点。

2。使用“僵尸”变量调试保留/释放问题

使用以下代码:

NSZombieEnabled = YES;
NSDeallocateZombies = NO;


...调试保留和释放问题。有关更多信息,请参见Apple的“调试应用程序”文档的“查找内存泄漏”一节。

3。从Interface Builder的Xcode中的类跳转到

Command⌘+ Double-click,然后从Interface Builder的Document Window中的对象上跳转到Xcode中的该类。这对于File的所有者非常方便。

4。在Interface Builder中重用自定义对象

将自定义对象拖回到Interface Builder的库中以供以后重用。

5。在Interface Builder中的对象上选择重叠项

Control Control Shift⇧+ Click,以查看鼠标下所有对象的菜单。

6。 Interface Builder手势指南

Interface Builder手势指南。

评论


好答案!我会为(3)和(4)提供两个我以前不知道的投票。

– Nikolai Ruhe
09年9月22日在7:58

#8 楼

Ctrl + 2:访问当前文件中方法和符号的弹出列表。

这非常有用,因为使用此快捷方式,您可以使用键盘完全浏览文件。当您进入列表时,开始输入字符,列表将按类型选择您要查找的符号。

评论


我使用空格键(CTRL-2转到空格键2),所以我重新映射了键绑定。可以在“ Pop Symbols PopUp”项中的“ Text Key Bindings”下找到它。

–棕
09年4月10日在21:16

不错的提示。让我发现Control-1将显示文件历史记录列表。

– tmadsen
2010-2-8在7:28

我相信在XCode5中是CTRL + 6

–冉
2011年4月5日下午5:59

XCode 4中是否对此具有键绑定?我正在使用Spaces,所以我想重新绑定它,但找不到。

–杰弗里·怀斯曼(Geoffrey Wiseman)
2011年4月8日在1:41

在XCode4中为^ 6。称为显示文档项目。

–WBlasko
2011年7月5日在2:02



#9 楼

在窗口中缩放编辑器如果您的窗口同时显示详细信息和编辑器视图,则可以放大编辑器以将编辑器视图扩展到窗口的整个高度。 (这很容易找到,但是很多人似乎忽略了它。)
您可以使用以下方法之一执行此操作:




命令⌘Shift ⇧E


“视图”>“缩放”编辑器,在


中拖动拆分器(在编辑器
窗口与其上方的文件列表之间)
向上。




评论


我花了AGES来找出如何隐藏树-Command-Option-Shift-E。啊,甜蜜的救济。我永远感谢MacMacDev Glasgow小组让我知道这一点。

–约翰·加拉格尔(John Gallagher)
09年10月12日在9:01

#10 楼

获取Colin Wheeler的完整Xcode键盘快捷方式列表(以PDF或PNG形式提供)。打印它并将其保持在可见的位置(我将其放在屏幕旁边的墙上)。

编辑:
Xcode 3.2的更新版本

编辑2:
Xcode 4的更新版本

#11 楼

没有太多键盘快捷键,但是源代码中的TODO注释显示在编辑器顶部的method / function下拉菜单中。例如,

// TODO: Some task that needs to be done.


出现在方法和函数的下拉列表中,因此您可以直接跳转到它。

大多数Java IDE在滚动条中显示这些任务标签的标记,即更好,但这也可以。

评论


我刚刚尝试过// MARK:它具有与#pragma标记完全相同的效果。您甚至可以在带有破折号的// MARK:中使用分隔符。

–罗斯·佩隆
2010年9月2日,下午4:12

我希望您可以将标记添加到它捕获的事物列表中。我使用的代码库有很多#XXX,但看不到那些。

– asmeurer
2010-12-28 6:23

@Gonzalo Larralde什么?我不是要写// TODO,而是要在下拉栏中看到所有TODO注释。 #failatfailing

– ingh.am
2011年6月22日12:04

在Xcode 3中,TODO注释可以放在代码中的任何位置,它们将出现在函数弹出窗口中。由于Xcode 4中的某些原因,TODO注释必须在任何函数/方法主体之外才能显示。这是一个错误。

– SteveCaine
2011-09-27 20:31



@SteveCaine几个月后,它仍然是错误,还是现在只是现实?

–丹·罗森斯塔克(Dan Rosenstark)
2012年2月12日在23:04

#12 楼

-[和⌘-]用于缩进和缩进所选文本。使清理源代码更加容易。

评论


如果剪切文本并将其粘贴回去,它将神奇地正确缩进。 :)

– Neo42
09年9月17日在16:30

或只是选择它并按Control-I(类似于选项卡,但实际上不是)。

–尼古拉斯·莱利(Nicholas Riley)
09年11月1日在1:35

那是控制权吗?还是控件l(l代表小写字母)?

– VxJasonxV
2011年2月9日下午0:30

#13 楼

在拆分窗口时按住Option键可以垂直拆分而不是水平拆分。

评论


在30英寸显示器上非常好。谢谢!

–Rob
2009年9月14日下午2:55

#14 楼

双击方括号或括号以获得匹配的括号。

#15 楼

从命令行控制Xcode的文本编辑器:xed

> xed -x                # open a new untitled document
> xed -xc foo.txt       # create foo.txt and open it
> xed -l 2000 foo.txt   # open foo.txt and go to line 2000

# set Xcode to be your EDITOR for command line tools
# e.g. for subversion commit
> echo 'export EDITOR="xed -wcx"' >> ~/.profile

> man xed               # there's a man page, too


评论


这特定于某些Xcode版本吗?我似乎不存在xed(SnowLeopard,最新的Xcode / iOS SDK)

– IPMCC
2011-11-28 13:46

从手册页:xed在Mac OS X 10.5和Xcode 3.0中引入。

–史蒂芬·费舍尔
2012年2月6日在20:50

#16 楼

“ Ctrl +向左/向右箭头”可进行单词内文本导航。我使用此功能将光标从变量中的一个“驼峰”跳转到下一个。

评论


只要禁用了空格,那就太好了:\

– jbrennan
09年8月17日在17:58

也可以尝试Option-f,Option-b,Option-d等。这些都是emacs样式的键绑定。

–ustun
09-10-14在18:33

@jbrennan我已将空间分配给⌃ +⌥+⇧+ s编辑:要将空间设置为⌃ +⌥+⇧+⌘,请选择“在空格之间切换:”和“直接切换到空格:”弹出窗口,按住Control,Option,Shift和Command键。

– jrtc27
2010年7月12日在9:51



寻找了一段时间。感谢Matt,也感谢jtc27提供的Spaces提示!

–里德·奥尔森(Reed Olsen)
2010年11月11日在22:19

@ustun:对我来说,选项-f输入ƒ。

– asmeurer
2010-12-28 6:25

#17 楼

Xcode支持可通过“编辑”菜单末尾的“插入文本宏”菜单调用的文本宏。也可以使用Xcode的代码完成技术Code Sense来调用它们。

例如,键入键序列p i m control-period会将#import "file"插入代码中,而file作为可编辑令牌与代码完成一样。

#18 楼

右键单击函数中的变量,然后单击范围内的全部编辑。自从我发现这一点以来就一直在使用它。

ctrl⌘T

评论


非常有用,不知道它在那里。该上下文菜单绝对值得探索。

–ruipacheco
09-10-22在21:58

当您要编辑的单词上方时,可以使用Ctrl-Command-T进行访问。比讨厌的菜单快得多!

–约翰·加拉格尔(John Gallagher)
09年11月27日在17:23

在Mac上称为Ctrl +单击。

–user142019
2011年2月6日在2:18

默认快捷方式在Xcode 4中更改为Ctrl + Command + E,并且可以在按键绑定首选项中进行更改。

–Dov
11年4月13日在19:28

#19 楼

您可以让Xcode在您的Info.plist文件上运行预处理器:

        <key>CFBundleShortVersionString</key>
    #ifdef DEBUG
        <string>1.0 (debug)</string>
    #else
        <string>1.0</string>
    #endif


有关信息,请参见http://developer.apple.com/technotes/tn2007/tn2175.html。详细信息。

评论


请注意,如果执行此操作,则始终必须将Info.plist编辑为文本。您将无法在漂亮的“属性列表编辑器”中对其进行编辑,该编辑器无法使用正确的键和值类型进行编辑。

–克里斯·汉森(Chris Hanson)
08年10月1日在7:46

#20 楼

调试-如何使用GDB

还是新手,我发现捕获和识别故障是一项相当艰巨的工作。尽管控制台是一个功能强大的工具,但通常不会产生非常直观的结果,并且要理解调试器中的内容也同样很困难
。在Stack Overflow上的某些人的帮助下
以及在
Cocoa With Love上可以找到的关于
调试的好文章,它变得更加友好了。

#21 楼

来回浏览打开的文件:
⌥⌘←<< />⌥⌘→

评论


关键是在Mac上是“选项”(⌥),而不是“ alt”。

–克里斯·汉森(Chris Hanson)
08年10月4日在19:14

白色Apple键盘的确在选项键上写有alt。

–克里斯·伦迪(Chris Lundie)
08-10-19在2:35

克里斯(Chris),“ alt”标签适用于切换台。 Mac上的老派Mac知道它是Option。就像上帝的意图。

– willc2
09年6月28日在5:18

如果您是触控板手势的支持者,则还可以使用三指向左和向右滑动来获得相同的效果。

–里德·奥尔森(Reed Olsen)
2010年8月27日在17:46

#22 楼

从技术上讲,这是Interface Builder的技巧,但它们是一对匹配的书,因此,我认为这不是题外话...


#23 楼

使用触控板:


向上滑动三指-在标头和源文件之间切换,这比Cmd + Opt + Up更容易;
向下滑动三根手指-在选择类或方法时在声明和定义之间切换,目前发现这两种;
向左滑动三个手指-返回(按Cmd + Opt +左键);
向右滑动三个手指-前进(按Cmd + Opt +右);

使用Xcode 3.2.5进行了测试。

#24 楼

Xcode中的类浏览器!通过按Shift +⌘+ c达到。您可以缩小范围以仅显示活动项目。只要您只想浏览类的层次结构,它就可以使您的视图更简洁。

评论


哇!不知道这个……这可能成为我的主要“工作”窗口。几乎感觉像是VisualAge(很好的部分):D

–rcw3
2010-1-19在21:48

AAARRGGHH作为ObjectMaster的老用户,直到我意识到XCode4中已将其删除之前,我一直很高兴地阅读此书,不敢相信此IDE向后退了一大步。我敢打赌,苹果内部仍然有很多人仍在使用Xcode 3。

–安迪·邓特(Andy Dent)
2012年1月24日14:04

#25 楼

使用]自动将[插入正确的位置

我来自.NET背景,所以我习惯于键入符号,然后键入其方法名称之一。因此,我总是忘记在开始输入对象名称之前先包括[。通常,这意味着我需要转到该行的开头并手动添加[。我不知道可以在当前光标位置按],它会自动添加。

有多种方法可以使用此方法:在输入函数名之后,或者在输入函数名之前函数名称。

方法1:在函数名称后

myObject testMethod]

...变为:

[myObject testMethod]


...,插入符号位于]之后。

方法2:函数名称之前

myObject]

...变为:

[myObject ]


...插入号位于]的正前方。

后者的优点( 2)是代码完成将过滤您对象的方法。而对于前者(1),如果您尝试在myObject之后立即调用代码完成功能,则不会对其进行过滤。 (2)的另一个优点是它的行为更类似于使用点表示法的其他编程语言。您键入对象的名称,然后简单地用]代替。访问方法。

#26 楼

选择一个文本块,然后键入cmd- /以将其注释掉。再次执行以删除注释字符。

当通过双击平衡字符(括号,括号,方括号)与括号匹配结合使用时,此功能特别有用。

评论


上次我检查Xcode时,注释/取消注释被彻底破坏了。这是一个耻辱。

–乔
2011-10-20 13:58

#27 楼

能够快速查看可以从超类重写的所有方法。例如,当扩展UITableViewController时,我只键入实现:

- ta


,然后我按ESC键以查看超类中所有以“ ta”开头的方法,例如

- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath


在采用协议时也可以使用。

#28 楼

命令alt alt⌥shift T:在项目树中显示当前编辑的文件。

评论


很棒的提示,谢谢。这在处理别人的代码时非常有用,例如在开发了一段时间后调用您进行项目工作时。

–阿兰·穆赫兰(Aran Mulholland)
2010-10-7 23:28

#29 楼

ctrl + alt + r + r清除日志

评论


有趣的是,我认为Apple对需要双手执行的快捷方式不满意吗?

– Tejaswi Yerukalapudi
11年4月4日在15:03

#30 楼

使用类浏览器显示继承的方法

Apple的API参考文档不显示从超类继承的方法。不过有时候。能够查看某个类的全部功能,包括自己的自定义类,这很有用。您可以使用类浏览器(从“项目”菜单中)来显示与当前项目相关的所有类的平面或层次列表。浏览器窗口右侧的上部窗格显示了与在浏览器中选择的对象相关的方法列表。您可以使用“配置选项”表选择“显示继承的成员”以显示继承的方法以及由选定类本身定义的方法。单击小书本符号可转到相应的文档。