用Xcode的快捷方式快速打开你的文件git
在开始使用Xcode以前就应该强制记忆其快速打开(Open Quickly)的快捷方式。Mac OS X有一个功能叫作Spotlight搜索(空格),能够帮你找到文件和应用程序(包括别的文件)。快速打开就是Xcode的Spotlight搜索。我常用快速打开这个快捷方式,由于这是打开一个文件最简单的方法,只要你知道文件的名字或文件中一个方法/公共变量的名称。快速打开的优势是它使用模糊匹配的逻辑。例如,若是我知道该文件的一些概要,我能够键入“概要”,它会给出任何包含“概要”这个词汇名称的文件。github
技巧:用快速打开搜索一个方法或属性可能会很慢,由于它须要对整个项目进行索引和搜索。你的工程越大这会变得越糟,因此搜索一个方法或者属性时,试一下这么搜:编程
一、使用 command+shift+O 搜索文件并打开。xcode
二、使用 control+6 快捷方式打开跳转菜单。缓存
三、开始键入名称,发现它时点击进入。安全
这会快得多,由于它只索引单个文件的公共符号而不是在整个工程中。编辑器
快捷方式:command+shift+O工具
用快捷键和代码片断快速编码布局
咱们用了一种不太科学的方式进行测试,用iPhone的秒表测试用鼠标作五个常见的Xcode的事务所花费的时间,个人编码时间中大约有5%花在了Xcode的导航上。根据运行状况,这个测试代表键盘的快捷键要快1.5到3倍。在这个基础上保守估计,在10000小时的职场生涯中,使用Xcode快捷键能够为你节省大约250小时的时间。性能
此外,还有一个学习快捷键的决定性价值。你学习的快捷键越多,你手指放在键盘上的时间越多,更有助于你专一于思路。如今就试一试!开始专一键入一段代码,用鼠标选择和删除一个词汇,而后继续打字。关注思路是如何被打断的?当你在脑海中平衡一个复杂的编程问题时,轻微的打扰就会中断你的思路。点击这里得到完整版的Xcode键盘快捷键列表。
对于哪些想要Xcode更详细UI导航快捷键列表的开发者,可参考如下Xcode界面截图。这些快捷键涉及到Xcode窗口的不一样部分。我标记的屏幕区域以下:导航(蓝色),编辑器(红色)、调试(绿色)、实用工具(黄色),工具栏(紫色)。
command+0: 展现/隐藏导航区域
command+1 到command+n:选择不一样的导航器
command+option+J: 过滤导航结果
command+shift+Y: 显示/隐藏调试区
command+option+0: :显示/隐藏实用工具区
command+option+1 到command+option+n: 切换实用工具区选项卡
control+6:方法的跳转菜单
control+1: 魔法菜单(打开试试)
control+command+Up 和 control+command+Down: 对应文件导航
control+command+E: 范围内重命名符号(注意:不支持属性)
control+command+Left 和 control+command+Right: 查看历史文件
control+command+J: 查看符号来源
option+Selection: 垂直选择
option修饰符: 在辅助编辑器执行快捷键
command+shift+] 和command+shift[: 移动到下一个/上一个的标签
command+option+] 和command+option+[: 将某行代码向上和向下移动
command+R: 运行应用程序
command+B: 构建应用程序
control+.: 中止运行中的应用程序
control+i: 格式化代码(高亮代码)
Xcode的代码片断是另一种加快编程的途径。我反复用代码片断为一小块代码分配一个代号。输入(很是短)代码的名称,我能够把相应的代码块添加到项目中。根据工做类型的代码,Xcode代码片断能够有效提升工做效率。
看看这些GitHub连接,开始你本身的代码片断收集:
使用Xcode的辅助编辑器
辅助编辑器是Xcode中最有用的工具。最初几个月我都没有发现它,直到用这个神奇的按钮打开了我即将编辑的文件。它不是100%的准确,可是菜单系统的设计是超级直观的,因此你基本上总能找到相关的文件。
辅助编辑器将文本编辑器分为两个窗格,并根据你在第一个窗格中正在编辑的文件明智地在第二个窗格中展现有用的功能。例如若是你在storyboard中,它将会展现与当前正在编辑的视图相关的视图控制器代码;若是你处于一个Objective-C实现文件中,辅助编辑器将会展现文件的头文件。你也能够调整辅助编辑器来展现基于普经过滤器的文件或者手动导航到某个文件。
话说我看到一个类,并试图查看如何使用它。这是辅助编辑器很擅长的任务。辅助编辑默认选择实现文件,由于咱们正处于头文件中,因此我调整过滤器以展现包括左侧文件在内的文件。我很快找到了该类的用法并思考如何使用它。过去我一般是在整个项目中进行搜索,可是辅助编辑器在这方面速度更快,并能够同时在一个屏幕中显示两个环境。点击这里查看操做。
技巧:在Xcode中处理UI文件的一项常见操做是设置IBOutlets。你能够用不少方法来作到这一点,可是我最喜欢用辅助编辑器将视图向右拖拽到代码文件中。点击查看如何实现。
快捷键:
和
:显示/隐藏标准编辑器和辅助编辑器
as modifier.例如使用模糊的文件搜索
,而后按下
,选择一个文件将在辅助编辑器中打开它,而不是主编辑器。
使用、编辑断点以及为其添加不一样的Action
Xcode的断点对有经验的使用者来讲是个强大的功能。在开发者的职场生涯中,调试工做是困难的,而且花费的时间要比写代码更多。对于使用其余IDE的开发者来讲,Xcode提供了一些可能被人忽略的强大的调试的工具。
首先,打开异常/错误断点。每当抛出错误或异常时,调试器都要打一个断点。不少时候应用程序遇到错误或异常会致使程序的崩溃,而且咱们会被使人厌恶的代码所纠缠。开启断点的时调试器将会在应用程序的逻辑栈上暂停,这对于诊断问题很是有用。点击这里查看添加断点操做。
而后,你能够经过编辑断点来更高级地使用它。我作过大量的结对编程,发现编辑断点能够激发开发者的思惟。许多人都知道他的功能但不实用,我很幸运在个人Xcode生涯早期有一个聪明的开发者教我关于编辑断点的使用。
技巧:编辑断点添加一个操做。这些action能够是Debugger Command,也能够是Log Message。好比说,我想知道在应用程序的生命周期中什么时候加载这个视图。我能够在Xcode击中断点时播放声音且调试器不会中断应用程序(经过“Automatically continue after evaluating actions”复选框),而不是添加一个会扰乱我工做流程的传统断点。如今我能够继续愉快地测试,并在加载视图控制器时听到欢快的哔哔声。这是一个快速给你展现如何设置它的示例。
使用Version Editor和Show Related Items更好地审查代码
遇到不合适的或者难易理解的代码时,我一般会先使用Blame模式。Blame模式能够查出原做者以及编写该代码的缘由(若是做者写的话)。若是做者没有写明编写该代码的缘由,我会跟他们联系并亲自问明缘由。
一样的,Compare模式(对比模式)能够精准指出此前上传的代码哪些地方发生了变化。对比模式能够提示我是否遗留了一些测试代码或者空的注释,而后修正和审核代码。对比模式在追踪bug方面也很是有用。
如何才能准确地使用版本编辑器的Blame和Compare模式呢?好比我正在跟踪某个问题的缘由,我发现不知何故将临时证书添加到了代码中,因此我使用Blame模式查找临时证书添加的时间添加的缘由,结果告诉我去年为了修复某个崩溃问题添加了临时证书。如今我知道去年添加了临时证书,不过我认为这可能不是致使问题的缘由。那么还有其余什么发生了改变吗?为了找到答案,我使用Compare模式找到了问题的源头,能够经过一个方案来解决该问题。
另外一个能够充分使用的功能是审核代码时使用的Xcode的Show Related Items功能,我称之为“魔法菜单”,虽然它很是有用,但在使用Xcode的第一年,我几乎没有发现它的存在。这个按钮隐藏的很是深,而且看起来也不是可点击的,可是它包含了Callers和Callees这样强大的功能,展现代码在什么地方以及被谁调用过。这个功能可帮助我弄清楚哪里会被改变以及如何改变一大块代码,而又不破坏别的地方。
经过扩展为Xcode添加功能
扩展能够为Xcode添加新的或者其自己缺失的功能。不过扩展系统不像其余IDE那样健壮,也不为大多人所知。虽然扩展有不少很酷的地方,但也依然存在问题。大部分IDE都有内置的扩展库,但Xcode甚至没有文档说明他们的扩展API。你能够经过如下比较有用的插件为Xcode添加新功能。
Alcatraz:一个开源的Xcode包管理器,可让你更便捷地发现、安装以及管理插件、模板和配色方案。只须要简单地点击或者勾选,不须要手工复制和粘贴。
FuzzyAutocompletePlugin:一个适用于Xcode 5以上版本的插件,经过添加模糊匹配来提升Xcode代码自动补全功能。虽然你能够经过Xcode的command+shift+O快捷键进行文件和符号名称的模糊搜索,但Xcode默认从首字母进行模糊匹配。而使用FuzzyAutocompletePlugin,开发者无需遵循从头匹配的原则,只要记得方法里某个关键字便可进行匹配,很好地提升了工做效率。
VVDocumenter:不少时候,为了快速开发,不少的技术文档都是能省则省,这个时候注释就变得异常重要,再配合Doxygen这种注释自动生成文档的,就完美了。可是每次都要手动输入规范化的注释,着实也麻烦,但有了VVDocumenter,只须要在要写文档的代码上面连打三个斜杠,就能自动提取参数等生成规范的Javadoc格式文档注释。
Uncrustify:容许你指定一个编码风格,而后格式化保存代码,无需为了匹配你的代码风格而不断调整代码。你能够检查保存的格式配置和任何扩展它们的代码。(如今只适用于Objective-C)
Color Themes: Xcode自带一些默认的配色主题,但若是不够,可经过Alcatraz安装其余主题。
AdjustFontSize:增大或减少Xcode编辑器的字体。
DerivedData Exterminator:为Xcode增长一个清除所有缓存的按钮。这在调试工程时是颇有用的。
ObjectGraph-Xcode:根据项目中类之间的依赖关系生成有向图。
OMColorSense:展现文本编辑器中UIColor或NSColor的预览效果。经过它能够建立或编辑可视化的颜色。
OMQuickHelp:不用Xcode的文档查看器,而是用Dash应用检阅文档。
SCXCodeSwitchExpander:当在Objective-C中使用switch语句时,很容易忘记检查全部用例而产生bug。这个插件能够自动生成switch语句代码,并安全处理全部用例。功能包括:插入全部可能的switch cases;保留已经使用的条件,仅插入缺失的条件;当使用内置的Xcode片断时仅保留默认条件;适用于变量、属性以及方法参数等;适用于嵌套switch语句;快速稳定,且不会明显影响Xcode的性能。
经过Interface Builder大幅度提升你的效率
Xcode有一个叫作Interface Builder的用于搭建用户界面的可视化工具。它不要求使用Interface Builder来建立UI,但可使调整UI这项的乏味任务变得更简单。Interface Builder的大部分操做都在Xcode的实用工具区,因此知道如何以及什么时候使用相关部件是颇有用的,可以使用快捷键command+option+0()来打开实用工具区,就能看到6个非标签性质的按钮,每个都有不一样的重要性,对于Xcode初学者来讲找到本身须要的按钮会有点困惑。按照从左到右的顺序,这6个按钮分别是:文件检查器(File Inspector)、快速帮助(Quick Help)、识别检查器(Identity Inspector)、属性检查器(Attributes Inspector)、规格检查器(Size Inspector)和链接检查器(Connections Inspector)。
文件检查器(File Inspector):这个特性很是不多使用。看我的爱好,你能够点击打开或关闭自动布局和配置本地化。
快速帮助(Quick Help):这个特性不多使用,可连接到你所选中项目的相关文档。
识别检查器(Identity Inspector):一个颇有用的功能,身份检查器用于访问和设置自定义视图类。
属性检查器(Attributes Inspector):我使用它最多。能够配置所选项目的属性,例如标签文本、背景颜色以及alpha值等。
尺寸检查器(Size Inspector):另外一个有用的功能,可协助你查看和编辑自动布局约束。
链接检查器(Connections Inspector):此功能的使用频率取决于你IBOutlet的工做流程,可用来链接和查看IBOutlets。
总结
你无需使用以上列出的全部技能才能成为Xcode行家。每一个人都有本身独特的Xcode使用技巧,也没有两我的所列的技巧彻底一致,关键要弄清楚哪一个快捷键和技巧最适合你的开发工做,但愿以上内容能够帮你回顾下本身的Xcode使用经验,并找出其余方法让本身成为更有效率、更熟练的开发人员。
推荐阅读:CocoaChina专题:iOS进阶开发,从Xcode开始
更多译者翻译文章,请查看:http://www.cocoachina.com/special/translation/
本文仅用于学习和交流目的,转载请注明文章译者、出处和本文连接。
感谢博文视点对本期活动的支持