1、认识 Xcode 代码块
2、创建 Xcode 代码块
当然,代码块功能之所以强大,是因为你可以创建自定义的代码块。
创建代码块的过程:用户拖拽选中文本生成“剪切文本”。看下实际操作就很好理解:
Title 标题- 块的名字(出现在代码补全和代码块库列表中)
Summary 简介- 简单描述下它是干嘛的(只出现在代码块库列表中)
Platform 平台- 限制可访问该代码块的平台。OS X,iOS,或者(“全部”)
Language 语言- 限制可访问该代码块的语言。常见的有 C,Objective-C,C++,或 Objective-C++
Completion Shortcut 输入码- 快捷输入码。常用块的输入码应该非常简练。Xcode 不会警告冲突 / 重复的输入码,所以一定要确保新添加的不要和已有的冲突。
Completion Scopes 有效范围- 限制可访问该代码块的范围。if / else语句的自动补全应该只在方法或者函数的实现中有效。下面这些选项可以任意组合:
1、All 全部
2、Class Implementation 类实现,范围为.m文件,
@implementation - @end的范围
3、Class Interface Methods 类接口方法,范围为.h文件的方法,@interface - @end的范围,指的是定义的方法
4、Class Interface Variables 类接口变量,范围为.h文件的属性,@interface - @end的范围
5、Code Expression 代码表达式,Method方法的一部分
6、Function or Method 函数或方法,指的是调用的方法,区别于2和3(定义的方法)
7、Preprocessor Directive 预处理指令
8、String or Comment 字符串或注释
9、Top Level 最高层
3、存储地址
~/Library/Developer/Xcode/UserData/CodeSnippets/
目录存放了所有 Xcode 代码段的文件表示
4、占位符
在你使用其他代码块时你可能已经注意到了这些占位符:
在 Xcode 中,占位符使用 <# 和 #>
5、常用代码块(第三方代码块)
你可以在Xcode-Snippets找到一些好用的代码块,包括(文件名就是代码块快捷键)
-tableView数据源方法-tableView代理方法-单例-init方法
下载此项目XcodeCodeSnippets,把后缀为.codesnippet拖入代码块存储地址,按标题顺序分为几个大类:
-动画 Animation-类扩展 Class Extension-Blocks-调试打印 DebugLog-GCD and queues(Async)-通知 Notifications-日期 Formatting-方法分组 Section Header #pragma-表格类代理方法 UITableView or UICollectionView-生命周期 LifeCycle补充(这个项目比较完整,但是还是有遗漏,需要自己增加)-属性 Property-初始化方法 Initialization-单例
方法二:点击运行下图的命令行即可自动导入代码块,同理,点击运行ClearSnippets.command可清楚代码块。
补充
去除NS,UI等前缀,给代码块设置快捷键。
为了不和苹果已有的冲突,或者避免和苹果已有的混杂在一起,且简单,将前缀(如NS,UI)去除,调用最方便。eg:关于所有的通知NSNotification取名为notification,关于所有的调试打印NSLog取名为Log。
属性代码块
1Title: Property Assign2Completion Shortcut: @strong3Completion Scopes: All4@property (assign, nonatomic)
初始化方法
1Title:Initialization2CompletionShortcut: @strong3CompletionScopes:ClassImplementation4- (instancetype)init{self= [superinit];if(!self) { }returnself;}- (instancetype)initWithFrame:(CGRect)frame {self= [superinitWithFrame:frame];if(!self) { }returnself;}
6、同步备份
使用ACCodeSnippetRepositoryPlugin插件
将代码块打包,拷入其他电脑Xcode中
文/只为此心无垠(简书作者)
原文链接:http://www.jianshu.com/p/6dcf71040978
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。