yang3wei的专栏

Enjoy my life!

沉溺于 Mac,沉溺于 XCode

| Comments

2012 年的最后一天,唠几句闲话先~

从 2011 年 6月份开始踏入 iOS 开发行列,如今已经一个半年头了。遇到的第一个问题便是对 objective-c 一点都不懂,作为 c 的扩展,oc 和 cpp 可谓是一对亲兄弟。现在看来,只是 oc 那种的中缀式语法让我感到比较奇葩,让当时作为菜鸟的我难以理解。我在大学的专业学的是软件开发与项目管理,c、数据结构、离散数学什么的都开过课程,但作为逃课王的我,每每挂科后于补考时咸鱼翻身总是那么地稀松平常。没有细数自己挂过多少门科,但很庆幸的是,没有一门是在补考时没有扳回来的。记得逃课最长的一次记录是连续 20 多天没有去上主修专业的课程,我的专业老师托与我同寝的兄弟给我传话,再不去就要叫家长了。当然,我后来还是妥协了,谁也不愿意让老爸老妈来大老远地跑过来视察自己糜烂的大学生活~

总的来说吧,虽然我还是挺放任、挺邪恶的,但我还是有一颗向上的心。依然能够想起当年我在长沙的寒冬,于小树林里学习《计算机网络》的情形,难得我也有认真的时候。除此之外,java 的学习我也挺用功的,还写了不少小玩意儿来自娱自乐。当初学习 c 语言的时候我就没正儿八经的听过几节课,教 c 语言的老师后来也是果断地就把我给做掉了。说来我对自己的专业还是感觉挺恶心的,专业老师教导我,软件开发与项目管理 == java | c# web项目。这和我认识里的软件、项目可差得远了。不过我承认,这确实是我自己有点儿想地太美了。

PS:
我之前以为软件开发与项目管理是一个很宽的范畴,其中就包括了游戏的开发。也就是说,在前面打好了基础之后,后面自己能够根据爱好自由地选择出口。但是我错了,大专里面的专于一点让这成为梦幻的泡沫。

2011 年 6 月份我从学院里面毕业了,我始终是不太愿意去找一份 web 相关的工作。后来,我有在深圳工作的朋友邀我一起做 iOS 开发,于是我便打扮地像蜗牛一样背着重重的壳朝着深圳出发了。之后也发生了很多事情,到这里有点儿犯懒了,下次再补上吧。

接下来进入重点,下面是一些有助于开发的知识:

关键字:Mac OS X Lion 10.7.2XCode 4.2hotkey
备注:随着了解的不断深入,我越来越沉溺于 mac 和 xcode 无法自拔,太优秀了!

mac 系统通用快捷键(mac 下的应用多数会往这些标准看齐)

command + w: 关闭当前窗口
command + q: 退出程序
(Google Chrome 有点奇葩,按下之后还需要hold 那么一小会儿才能退出)

command + m: 最小化当前窗口
(怎么不用鼠标将最小化于dock 上的窗口还原?spotlight 或 control + f2->window 菜单项都行)

command + h: 隐藏当前应用的所有窗口
command + c: 复制
command + v: 粘贴
control + F2:激活菜单栏
(这个关机的时候比较好用,手不用脱离键盘了)

command + f: 寻找
command + space: 切换输入法
command + tab:切换程序
(这里又要注意的地方,切换过程中最好不要移动鼠标,否则容易出现混乱切换的情况)

control + space:spotlight

spotlight 这东西设计的很精妙,一些人说这没什么用要禁掉乃是因为没有找到正确的使用方法。从设计上来看,spotlight 位于屏幕的最右上角,就一个放大镜的小图标,可以通过 control + space 快捷键轻松调出,然后就会将焦点转移到搜索框里面,在这里可以很便捷地搜索自己想要找的东西,包括各种可用的 Applications,这也是我推崇 spotlight 一个很重要的原因,因为有了这个东西,手指完全不用脱离键盘你就可以启动任何为你所需要的应用程序。不知道一般家庭用的 mac 用户对这点是否有如此严苛的需求,但作为开发人员而言,穿梭于各种应用的功能之间,是在平凡不过的事情,这一点给我带来了很大的便利性。举例说明:在要启动 XCode 开始一天工作的时候,按下 control + space 调出 spotlight 搜索框,键入 XCode 后,搜索框下面会列出各种各样的候选条目,可以发现 XCode.app 是放在很前列的,只需要配合上下键、回车键,就达到了快捷启动 XCode 的目的。

现在我已经越来越意识到快捷键所带来的便利,这是也是有根源的。传说中的代码编辑神器 vi、vim、emacs,无一不在快捷键上独树一帜。它们的理念就是在编码过程中抛弃对鼠标的操作,甚至抛弃对上下左下键的操作,以达到最神速、迅捷的编辑目的。有些特色所带来的便利性没有体会过是很难以理解的,这就是导致一些很优秀的东西口碑褒贬不一的重要原因之一。

最后要说的就是 Dock,你可以通过 command + alt + d 隐藏或者呈现 dock,也可以选在把 dock 放在左、下、右任一个方位,你可以把 Applications 文件夹的应用程序拖拽到 Dock上面,方便你的使用,也可以在不需要的时候把dock 上面的条目拽出 Dock 从而移除它。对比 windows 来看,Dock 还是一个非常舒服的东西,特别是 mac 界面本身就非常精美,一个个的应用图标排布在 Dock 上面,再配合 Magnification 的放缩效果,可谓是琳琅满目。反观windows xp,底部一个系统的任务栏,应用程序的的菜单本本分分的布置在自己窗口的顶部。孰好孰坏就不多做评论了,唯一确定的一点是我是更倾向于 mac 的设计风格的(难道是因为我用 windows 那么多年已经厌倦的原因?)Dock 上面的两个重量级功能:Mission Control 和 Launchpad。Mission Control 让我在单屏显示器上面获得了多屏显示的感受,而 LaunchPad 则让启动想要的程序变地无比简单。对比 Windows,LaunchPad 这种模仿 iOS 风格的以面、网格呈现可用条目的方式,无疑比那层层弹出的列表方式更为高效、优秀。

1。Finder 的最常用快捷键:
space:预览文件
command + down:打开文件
command + backspace:移到废纸篓
command + ctrl + 0 ~ 7:按各种方式规整地排列子文件
command + shift + g:前往某个路径
command + 1 ~ 4:更换呈现方式
command + shift + f:All my Files
command + shift + o: 打开文档目录
command + shift + d: 打开桌面目录
command + alt + L: 打开下载目录
command + shift + h: 打开home 目录
command + shift + C: 打开我的电脑
command + shift + A: 打开应用程序目录
command + shift + U: 打开工具目录

2。编码神器 XCode 最有价值的快捷键
command + e: 将所选中的文本传递到搜索框(但搜索框不会呈现出来)
command + f: 寻找
command + g: 寻找下一个
command + L: 定位到当前所编辑的代码文件的第多少行
上面这些快捷键能够很轻松的完成编辑点定位的功能,再次我们心爱的让鼠标被冷落在一旁。使用说明:有时候报错会报出错误出现在哪一行,诸如opengl es2 check_gl_error,这里 command + L 能发挥出很好的行定位作用。再个就是 command + f 与 command + g,command +f 键入自己想要定位到的点前面的几个符号进行搜索,配合 command + g 寻找下一个,定位到目标点位以后,按下 esc 关闭搜索功能,就完成了编辑点的精确定位。

控制台相关快捷键:
command + shift + c: 打开控制台视图
command + shift + y: 关闭控制台视图(这里我觉得不是很好,完全可以和打开使用一组相同的快捷键,易记)
command + k: 清除控制台输出
不得不说一下,mac 的界面优化做的实在是太到位了,简单说来就是你想要的功能都还在那儿,但是他们所占据的屏幕面积却是非常非常的少,一旦你要用到他们的时候,用起来也不会觉得很难找、很难用,这就是 mac 界面的精髓所在了(当然这要建立在对 mac 足够了解的基础之上)。

产品相关的快捷键:
我相信这是最最常用、最最贴身,人人都要牢记的一块了~
command + b: 编译、生成
command + r : 运行
command + i: profile
(找不到一个好的翻译词,用 Instruments 做内存占用的分析是必须走的流程)

command + shift + b: 分析
(这种特殊的编译有助于找到比较明显的泄露的代码)

command + shift + k: 清理
(这也是很常用的功能,不少问题都是通过清理后重新编译的方法来解决的)

command + q: 退出
(之所以放在这里是因为,有时候你的 xcode 出现怪异行为的时候,退出重启无疑是最佳方案)
举例而言,xcode 4.2 里面编辑签名配置的时候,有时候会出现改不动的情况,这里退出重启就很有用了。顺带说一下xcode 界面左上角圆形stop 按钮右侧的矩形条,这个东西用来控制以 debug 还是 release 的模式编译产品。debug 模式下会打印出各种各样的 log,这样有助于我们解决遇到的bug,但是执行效率会被降低。release 模式下 debug 打印则被禁止掉,如果是真机测试的话,所得到的效果是最接近用户使用的效果的。发布产品也必须发布 release 模式下生成的产品。

特别把 xcode 工程浏览视图中的 show in finder 功能拿出来说一下,在 xcode 中这个简单实用的功能,你要在 eclipse 里面办到,那可就不容易了。在使用 xcode 之前,eclipse 一直是我最忠实、心爱的伙伴,但就这点来说,eclipse 还是让我很失望的。

还要说一说 XCode 的视图控制设计,是我见过的最优秀的了。我一般是把右侧的属性栏视图关掉,仅留下工程结构视图和 代码编辑视图(做游戏对属性栏的需求不是很多)。在代码编辑区按下 command + shift + j 在工程目录视图中可以定位到当前编辑文件的所在的位置。command + 0~ 9 的数字可以在与工程目录视图并列的其他数个视图中快捷切换,特别是 command + 0,能够将 XCode 左侧栏完全的隐藏、打开,另外,整个过程的过度效果也是非常舒服的,比 eclipse 的最大化编辑器、还原到正常尺寸更优秀,隐藏左侧栏在做代码文件的版本对比的时候是非常实用的,还有就是做代码移植的时候,让代码编辑区域贴紧窗口左壁能够得到更合适的视角。暂时就说这么多,伴随这一年多的使用,积累下来的经验、技巧肯定还有遗漏的地方,后面想到了会更新上来,自恋一下,务必让这篇文章成为 mac、iOS 开发者心所向往的神奇篇章~

Comments