XCode作为一款强大的IDE,当然也支持脚本功能。通过添加自己的脚本我们可以很方便的完成我们的工作。
在XCode中点击 Edit User Scripts即可方便的添加脚本,而且XCode自带的脚本也相当于给我们提供了丰富的样例。
比如我们添加一个这样的脚本,并为其添加一个快捷键⇧⌘P(快捷键添加方法参考Comments分类中的Un/Comment Selection脚本)
#!/bin/sh
echo "%%%{PBXSelection}%%%"
echo "#pragma mark -"
echo "#pragma mark %%%{PBXSelectedText}%%%"
echo "%%%{PBXSelection}%%%"
注意在Output下拉列表中选择Replace Selection。这个脚本的作用是方便我们建立#pragma,首先提供pragma的名字,然后选中这个名字,按相应快捷键,#pragma就自动完成了,很方便。
这个脚本也可以这样写,我们就不用每行都写echo了
#!/bin/sh
cat << EOF
%%%{PBXSelection}%%%
#pragma mark -
#pragma mark %%%{PBXSelectedText}%%%
%%%{PBXSelection}%%%
EOF
除了bash脚本,XCode还支持Ruby,Python等多种语言的脚本,比如这个Ruby脚本
#!/usr/bin/env ruby -w
# Source: http://allancraig.net/blog/?p=315
properties = ''
synthesize = ''
release = ''
STDIN.read.each do |line|
line.gsub!(/\*/, '').strip!
words = line.split(/\s+/)
label = words.size > 2 ? words[1] : words[0]
variable = words[-1]
properties << "@property (nonatomic, retain) IBOutlet #{label} *#{variable}\n"
synthesize << "@synthesize #{variable}\n"
release << "[#{variable.chop} release];\n"
end
synthesize << release.chomp
`echo '#{synthesize.chomp}' | pbcopy`
print properties.chomp
该脚本的作用是帮助我们添加@property、@synthesize、还有dealloc方法中相应的release。使用方法是选中.h文件中的成员变量,比如我们选中UIButton *aButton;,复制到要添加@property的位置,再次选中,按快捷键执行脚本,@property就添加完成了,然后到相应的.m文件中,在要添加@synthesize的位置按⌘V粘贴,@synthesize也添加好了,同时复制过来的还有[aButton release];,选中这行,剪切粘贴到dealloc方法中,大功告成。使用这个脚本不仅可以快速添加@property @synthesize,同时也避免了变量名写错所造成的一些问题。