Xcode_Code Snippets(代码片段)

昨天老大布置任务让熟悉一下 移动推送SDK接入体验优化

snippet ['s ni ppits] 片段

在 iOS 开发过程中,经常会用到一些相似的代码,
如果是来回的 cmd+c ,cmd+v 是挺方便的,不过要是不同的项目就稍微有点麻烦了,并且还要修改一些细节。不过技术的发展都是懒造成的,所以就有了 Xcode 代码片段 ---- Code Snippets,一般我称为代码库。

看图你就知道是什么了:


Xcode_Code Snippets(代码片段)_第1张图片

做一个示范:

  • 选中代码拖进代码库中
Xcode_Code Snippets(代码片段)_第2张图片
  • 会有弹窗我们可以做修改
Xcode_Code Snippets(代码片段)_第3张图片

Title:标题。
Summary:描述文字。
Platform:可以使用的平台(如ios)。
Language:可以在哪些语言中使用(如 Objective-C)。
Completion Shortcut:快捷方式,以字母开头(支持少数符号,如@)。
Completion Scopes:作用范围,一般写在正确的位置拖动即可,Xcode会自行选择好。

  • 修改
    对代码片段进行修改,选中代码片段,点击edit即可。主要是 Completion Shortcut,定义自己的快捷键 比如 这里是qwer
  • 删除
    对代码片段进行删除,选中代码片段,按delete键即可。

  • 书写如下语句

@property (nonatomic, strong) <#type#> *<#value#>;
<# #> 作用是占位,# # 之间可以输入提示文字。
效果如下:



Xcode_Code Snippets(代码片段)_第4张图片

对于咱们开发来说还有什么比这更美好的呢
也可谷歌一下 常用片段 添加进入 这里不多说了


自己定义的代码块是在以下目录下:

~/Library/Developer/Xcode/UserData/CodeSnippets/

注意:只有自己定义过代码块,才会在UserData目录下存在CodeSnippets文件夹,否则是不存在的。这儿的名字是可以更改的,便于分辨,但是后缀要写成.codesnippet 。


Xcode 的所有 代码模板 是用一个 plist 格式 xml文件描述的,这个文件存储在 Xcode的安装目录:
/Applications/Xcode.app/Contents/Frameworks/IDEKit.framework/Versions/A/Resources/SystemCodeSnippets.codesnippets

用任意文本编辑打开这个文件,如下显示:

Xcode_Code Snippets(代码片段)_第5张图片

这个文件是没有权限去修改的。在这里就是所有的Xcode代码块的配置,包括常见的 if , if else , switch,dispatch等相关代码块。

每一个 key 所对应的意义也很好理解。Xcode 左下角有个花括号的页签,里面存储了代码提示模板,就是以上所配置的。


以下内容来自 http://www.cocoachina.com/ios/20160127/15004.html

SystemCodeSnippets.codesnippets浅析
该文件为plist格式xml文件描述文件。
IDECodeSnippetContents为代码片段的内容,修改即可达到目的。
IDECodeSnippetIdentifier唯一标示,重名即会覆盖。
IDECodeSnippetCompletionPrefix类似Completion Shortcut,键值留空可屏蔽该片段。

这里要注意的是以下几个 key 。
IDECodeSnippetIdentifier 是唯一标识符,其中 if 模板的唯一标记是D70E6D11-0297-4BAB-88AA-86D5D5CBBC5D,不能重名,重名即会覆盖。 这也是我们更改系统代码块样式的核心思想!!!

IDECodeSnippetVersion 是版本号,一般系统的都是1,我们自己定义的写成2。保持默认1也没多大问题,只是Xcode有时会自动用标识符替换你的自定义命名,所以用2是比较合适的。

剩下的很重要的一步,如果是自定义的,一定要加以下这个 key, IDECodeSnippetUserSnippet ,定义为 true 。
如果是自定义的而没有这个字段,Xcode是会崩溃的。



言归正传 还是完成老大的任务吧!
  • 下载
    Code Snippets 放在Github维护,见:Github - aliyun-ams-ueo。

下载好了 解压 导入

将snippets/目录下的*.codesnippet拷贝到Xcode Code Snippets管理目录:

~/Library/Developer/Xcode/UserData/CodeSnippets。

在终端执行操作

cp ~/snippets/*.codesnippet ~/Library/Developer/Xcode/UserData/CodeSnippets/

******:~ admin$ cd /Users/admin/Desktop/aliyun-ams-ueo-master/iOS/Push/snippets 
******:snippets admin$ cp *.codesnippet ~/Library/Developer/Xcode/UserData/CodeSnippets/

删除
推送每条snippet里都有移动推送关键字,执行下面脚本将推送相关snippet删除。

grep -l "移动推送" ~/Library/Developer/Xcode/UserData/CodeSnippets/* | xargs rm

在打开Xcode 就会发现 没有了 。。。

你可能感兴趣的:(Xcode_Code Snippets(代码片段))