您的位置:首页 > 移动开发 > IOS开发

配置优雅的iOS开发环境

2014-04-27 01:57 211 查看
几个月前因为工作的关系,将主力开发方向由Android转到iOS,因为体会过Eclipse和0.x时代的Android Studio是如何的笨拙不稳定,如何的臃肿不便,以致初次打开Xcode,竟似牧羊少年初识大都会,随之泛起的是浓浓的幸福和新鲜感。足够优雅的ui,华丽的交互,与触摸板深度结合的便利操作,这一切的一切都直令眼角湿润。

感慨了不少,不过是想说明Xcode在Mac下的体验称的上是出类拔萃,能够将它作为最常使用的生产平台可以说是幸运的。但是原生的Xcode尚有很多不如人意的地方,所以将它打造的更加完美便是第一步。

Theme

github上有非常多的可选主题,xcode-themes是其中比较全面的主题集合。

我使用的是Solarized,一款多平台下的通用主题,它提供Dark和Light两种不同样式。




第一次见到,就已经无可救药的爱上她了

Font

系统字体
Monaco
,我的唯一选择。之前在Linux/Windows下一直使用
YaHei Consolas Hybrid
,Consolas + 微软雅黑的搭配曾经一度征服我的感官,但是Mac下的显示效果并不尽如人意。


顺滑的圆角,已然怦然心动

Snippets

Xcode从Version4开始引入Code Snippets,在整个界面的右下角,可以通过快捷键:cmd + ctrl + opt + 2 调出来。Code Snippets是一些代码的模版,对于一些常见的编程模式,Xcode都将这些代码抽象成模版放到Code Snippet中,使用的时候,只需要键入快捷键,就可以把模版的内容填到代码中。

输入
<#
xxx
#>
可以使圈中区域'xxx'变为待填充状态,在Snippets的填写中十分有用,这种用法在Xcode中到处可见。

推荐mattt大神的Xcode-Snippets项目, 包含了常用开发中绝大部分代码片段。

这比用Github的Gist或者Dash自带的代码片段收集工具要方便很大,因为其与Xcode的深度绑定,可以设置快捷键进行快速补全,无比畅快。

Plugins

猫神onevcat的[VVDocumenter-Xcode](<https://github.com/onevcat/VVDocumenter-Xcode),star数直逼2000+,可以自动生成方法头部文档说明的格式范本,触发方式为
///


ColorSense-for-Xcode,将颜色配置可视化

HOStringSense-for-Xcode,常规模式下辅助显示字符串长度,并可以自动对特殊字符进行自动转义

SCXodeMiniMap,可以加入类似SublimeText的minimap,非常Cool

Lin-Xcode5,可以直接索引和编辑本地化操作

KSImageNamed-Xcode,可以自动索引并预览归档在
Images.xcassets
下地图片文件,非常实用

AutoresizeMask-for-Xcode,将
autoresizeMask
配置可视化

XVim,将vim mode完美移植,并加入
:build
,
:run
来满足命令控的需求,但个人更喜欢使用mac下完全通用的emacs文本编辑模式,再加上键位合理的快捷键,足以让开发变得异常便捷。

插件安装路径位于
~/Library/Application Support/Developer/Shared/Xcode/Plug-ins
,各位看官可以根据个人喜欢自由增删。

Debugger

chisel是Facebook的开源工具,对Xcode的调试器LLDB进行增强。

安装

[code]$ ~/.lldbinit
...
command script import /path/to/fblldb.py


建议把所有配置文件都放在云盘里,在用户根目录下建立软连接,这样就算重新装机也不会丢失配置文件,省去麻烦。

添加的自定义命令

命令描述
pviews递归打印keyWindow包含的View的描述信息
pvc递归打印keyWindow包含的ViewControoler的描述信息
visualize使用Mac上的Preview.app查看UIImage,UIView或者CALayer
fv在View层级表中查找类名符合正则表达式的视图
fvc在ViewController层级表中查找类d名符合正则表达式的视图
show/hide显示后隐藏给出的View或Layer。甚至不需要继续处理就能查看变化
mask/unmask使用透明矩形标示出View或者Layer
border/unborder使用可见矩形标示出View或者Layer
caflush刷新渲染器(如果没有动画实际效果等于“repaint”)
bmessage在类方法或实例方法上放置象征断点,不用担心类的继承
wivar在实例对象上设置观察点
presponder打印出给出对象的responder链
...... 还有更多

More:

NSHipter最新一期的文章Xcode Plugins介绍了更多更炫的插件(NSHipter越来越无聊了,估计Mattt大神真的是没东西可写了)
唐巧在他的开源项目Xcode-tool中提供了Snippets的自动化安装脚本

转自: http://bayonetta.github.io/ios/%E9%85%8D%E7%BD%AE%E4%BC%98%E9%9B%85%E7%9A%84iOS%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: