IOS开发-技巧类-开发工具-Code Snippets Library 代码片段库的使用

1,320

Code Snippets Library 代码片段库

Code Snippets Library 简单翻译下差不多就是代码片段库的意思,是xcode自带的一个库,用来存放一些代码片段。让用户可以通过特定 标识 快速调出存放在库中的代码片段,减少高频代码片段的编写时间。
在Code Snippets Library 中,有系统默认提供的代码片段,里面是一些常规的常见的代码片段,例如定义一个新block之类的代码片段。但是它最大的方便之处在于可以自己添加代码片段,这样我们就可以根据自己的编码习惯添加一下自己时常会用到的代码片段进去,在自己的编码过程大大减少重复代码的手动编写,提高编码效率。

xcode中的Code Snippet Library

我记得在旧版本的xcode中,xcode的库面板是在xcode主页面的右侧下半部分,包含文件模板库,代码片短裤,对象库,媒体库。但在新版本的xcode中已经不是这样了。不在存在固定的库面板列表,而是根据用户当前编写的文件类型决定显示于xcode主面板右侧上面的,而且只显示一个类型的库。例如当我们在编写.h文件或者.m文件的时候上面显示的就是 代码片段库。至于这个变化是具体在哪个版本之后开始的未做考证,反正xcode10之后是新的,code9是不是不知道,具体样式如下图

此时点击该图标就会出现浮动的代码片段库面板,如下图所示

此时双击我们需要的代码片段就可以在我们刚刚编辑代码的位置快速加速代码片段

Code Snippets Library 的 创建、修改、删除 以及 使用

Code Snippets 要真正发挥作用就要符合使用者的使用习惯,而符合使用者使用习惯的当然就是使用者自己创建的修改的代码片段。所以Code Snippets的创建修改也就非常重要了,通过长时间的积累的,使用者就可以有一个非常贴合自己使用习惯的代码片段库,极大提高编码效率。而如果能够做得更好,根据一定规范创建修改代码片段,然后通过git之类的进行管理,多人共用,可以使代码库更为丰富,更为快速完善,例如一个公司内的ios开发都使用同一个代码片段库。

创建一个代码片段很简单,在.h或者点.m文件中编写一段想要作为代码片段使用的代码,例如定义一个变量的的代码片段

@property (nonatomic, weak) NSString *name;

选中整行代码,然后右键打开菜单栏,在菜单栏中选择 Create Code Snippets,就会出现编辑面板

此处有一个地方可以优化,就是把一些类型变成可选的,这样可以使得代码片段更具通用性,例如此处的例子中定义了一个NSString类型的变量,那么如果我想定义一个Nsnumber类型呢,再定义一个NSnumber的代码片段吗,这自然是不太好的,一个类型定义一个代码片段,那就太多了,首先要编写的代码片段太多,其次使用的时候也不好记那么多。除此之外,变量的名字也应该是可选的,总不能每次调用代码片段都出来一个“name”变量吧。所以定义代码片段的时候,要根据通用性对一些代码做可选处理。所以上面的那么可以改成 @property (nonatomic, weak) <#type#> *<#name#>; 修改代码重新创建在代码片段的编辑面板里就会变成下图模样,也可以直接在编辑面板里面修改的

这样就定义了一个比较通用的weak 型的 类型可选,变量名可选的代码片段了。

此时代码片段的编辑面板显示就是这个代码片段的信息:
Title :代码片段的名称。
Summary :也不用解释了,这个代码块的概要,简单的代码片段的话其实看title就知道了,可不写
Platform:使用平台,ios还是macOs,默认全部。
Language:在编程语言中生效 。
Completion Shortcut:使用时的快捷方式,此处例子中写@SnPrppertyWeak表示Snippet Property Weak,即一个用于写weak property的代码块,使用时只要写@SnPrppertyWeak就可以通过自动补全快速写出。此处使用@开头是为了避免在使用过程中代码片段的缩写开头跟工程中的一些变量同名或者同开头,省去选择的步骤,而sn开头也是表示这是一个代码片段,这样就三个字符就可以使得调用代码片段时不会出现其他不相干的带选项,降低效率。这是个人的习惯思路,每个人都可根据自己的习惯想法去编写。 Completion Scopes:作用范围 。

需要修改的已经写好的代码片段,只需要调出代码片段库面板,然后单击想要修改的代码片段等待出现该代码片段的编辑面板,就可以进行修改。

需要删除的话,同样在代码片段库中单机选中的代码片段,然后按键盘的删除键,就会弹出确认删除的提示框,选择删除即可。

Code Snippet Library 的管理

Code Snippet Library 的文件目录是 ~/Library/Developer/Xcode/UserData/CodeSnippets 前往该文件目录可以查看到我们所创建的Snippet,一个代码片对分别对应一个文件。

打开文件会发现其中是xml格式的,存放了该代码片段的所有信息

结束

本文只是介绍了CodeSnippet的常规使用方法,并不提供常见代码片段,有兴趣的可以上网找现有的编辑好的代码片段,添加到自己的开发环境中,也可以慢慢的自己累积。