苹果现在的成绩得益于其始终如一的坚持。从Pentalobular screws到Sandboxing技术,当用户选择购买Mac或iPhone时,苹果希望消费者放弃对产品大量的控制。无论这些设计决策是为了确保一个好的用户体验,还是这种控制作为一种保留,都是有争议的。但是现实情况是,在硬件和软件方面,苹果公司喜欢的是象牙塔而不是集市。
没有比Xcode更好的例子了:软件开发者使用这款软件为iOS和Mac OS X的封闭生态系统构建软件。
当Interface Builder是它自己独立的应用程序时,Xcode已经有了一个插件架构。然而,这个系统相对模糊,未被公开,并且没有广泛应用到第三方。尽管如此,像
Delisa Mason 和
Marin Usalj 这样的开发者已经着手一项令人难以置信的工作,他们创建了一个稳定的和充满活力的第三方Xcode扩展生态系统。
只要简单地安装
Alcatraz,就能安装你想要的所有插件(以及配色方案和模板)。
本周NSHipster选取了一些最有用的和令人兴奋的Xcode插件,你可以自己进行尝试。
因为每次都会提出这些问题,这里有一篇带图的文章:1. The color scheme is
Tomorrow Night;2. The app used to make animated GIFs is
LICEcap
让Xcode更像X
正如移民者抵达
Ellis Island后,纽约成为了一个文化的大熔炉一样,Xcode欢迎来自各个平台和使用各种语言的开发者。就像第一批定居在各自民族社区的美国人在新土地上重建他们的传统一样,新的iOS开发者带来了他们自己喜欢的工作流和快捷键。或许你会在Cupertino会感受到家乡的气息。
Vim
发现很容易退出Xcode么?试试
Vim,它是一个实验性的插件,可以添加所有你喜欢的Vim快捷键。
编码神器-SublimeText
是不是希望在编辑器的右侧栏距有一个minimap,以一个全新的角度来查看代码?安装SCXcodeMiniMap,就不会忘记体系结构的树状节点了。
Atom
修理Xcode
不需要在每年六月苦苦等待苹果工程师推出下一版本的Xcode,开发者们现在可以根据自己的需要修理现有的Xoce编辑器(最重要的是修复不能工作的部分)。
为Issue Navigator处添加换行符
打字时解除调试控制台
为调试控制台添加ANSI颜色支持
在Source Navigator中隐藏@property方法
是否发现在Source Navigator中@property合成器创建一个较低的信噪比?让
Xprop去掉这一冗余,将函数和方法表现出来。
去掉DerivedData文件夹
增强Xcode
Objective-C并非现有语言中不是最冗长的语言。在自动补全方面,它使用了它能获得的所有帮助。Xcode在类和方法的实现过程中做了很多繁重的工作,但是这些插件可以进一步扩展它:
自动填充switch语句
自动补全文档
格式化Xcode
使用ClangFormat格式化代码
语句对齐
假设自己是一个代码设计者,不喜欢自动格式化么?
XAlign可以自动对齐语句。
扩展Xode
检查NSColor/UIColor实例
引用:ColorSense是一款Xcode插件,能让开发者视觉化地管理和使用UIColor和NSColor,方便开发者定义颜色。该插件的编辑菜单增加了一些项目来插入颜色或者暂时禁用颜色高亮。 |
自动补全图片名称
类似于ColorSensec插件,使用[UIImage imageNamed:] 声明,
KSImageNamed将会扫描整个workspace中的图片文件,为项目中使用的UIImage的imageNamed提供文件名自动补全功能。
语义高亮显示
任何好的编辑器都有语法高亮显示的形式。不过Evan Brooks的
这篇文章中介绍了语义在编辑器中高亮显示的想法,即为范围内的每个变量分配一个特别的颜色,并与引用保持一致。这个方法能很容易地区分同一个方法中的两个实例变量。
XCode中使用
Polychromatic初步实现了这一功能,值得一看。唯一的缺点是,这个插件需要使用特殊复杂配色方案。这也许会在将来的版本中实现,实现语法高亮这一想法应该就会得到广泛传播。
本地化
Lin是一款开源的智能的xcode5插件 可在代码中添加本地化编辑器,用图形化管理项目的本地化。
Xcode的插件架构是基于一些特定于Xcode私有框架,包括DVTKit和IDEKit。在Xcode的应用程序包中运行
class-dump可得到一个
完整的列表。
使用私有的框架是App Store禁止的,不过由于插件不通过该渠道分发,因此开发者可以以自己喜欢的方式使用插件。 |