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。** 属性代码块**
1 Title: Property Assign
2 Completion Shortcut: @strong
3 Completion Scopes: All
4 @property (assign, nonatomic)-
** 初始化方法**
1 Title: Initialization 2 Completion Shortcut: @strong 3 Completion Scopes: Class Implementation 4 - (instancetype)init { self = [super init]; if (!self) { } return self; } - (instancetype)initWithFrame:(CGRect)frame { self = [super initWithFrame:frame]; if (!self) { } return self; }
6、同步备份
- 使用ACCodeSnippetRepositoryPlugin插件
- 将代码块打包,拷入其他电脑Xcode中