环境:Xcode13.2.1 语言:Objective-C
Snippet
Xcode提供的一种快捷方式工具,实现快捷编码。
路径:/Users/qing/Library/Developer/Xcode/UserData/CodeSnippets
Xcode中Snippet
Language / 开发语言:
- 主要Objective-C、Swift 也兼容其它开发语言
Platform / 开发平台:
- 目前只有五种平台分别是:iOS macOS tvOS watchOS DriverKit
Availability / 适用位置、领域、范围:有九种设置选择代码块响应的位置
- All Scopes:默认,所有范围,什么位置可以响应。兼容以下八种范围
- Class Implementation:在@implementation内,但不在方法实现里
- Class Interface Methods:方法声明,@interface内响应。[注意]:在类别/扩展的@interface时需要添加“{}”,才会响应
- Class Interface Variables:成员变量声明,@interface的“{}”内响应。
- Code Expression :代码表示式。在方法中响应
- Function Or Method:方法。在方法中响应
- Preprocessor Directive:在导入头文件位置的下一行响应
- String or Comment:字符串或评论。暂未知在什么位置
- Top Level:顶级。在 interface Implementation 的范围外
Completion / 完成(快捷方式/代码):
- 设置快捷键;在相关的位置,响应代码(不区分大小写)
创建
步骤一:在代码区选择要设置的“代码块”(可以一个方法,一行代码等进行设置)添加或直接在空白区域(不选择代码,只是查看功能)
步骤二:对相关内容(代码块)编辑并设置语言、平台及实现的位置
步骤三:使用 输入completion: myfunctest
使用扩展
<#code#>:占位符,code占位符说明。会自动定位第一个占位符。
实践代码
//Top Level content
//All Scopes content
# 把Top Level位置的都合并成如下打印了(满足了Top Level,也会满足All Scopes)
//All Scopes content / Top Level content
总结或建议
日常开发中相对固定模板属性、成员变量、方法格式声明以及实现,快捷书写。
- All Scopes:建议较少。范围广,否则增加快捷代码量,从而增加搜索时间
- Class Implementation:方法实现
- Class Interface Methods:方法声明。[注意]:在类别/扩展的@interface时需要添加“{}”,才会响应
- Class Interface Variables:成员变量声明。
- Code Expression :代码表示式。在方法中响应。简单表达式
- Function Or Method:方法,在方法中响应。UI创建
- Preprocessor Directive:少用
- String or Comment:未知其功能
- Top Level:顶级。宏定义
属性声明:可以自己取决使用 All Scopes 或 Class Interface Methods(extension\category需要添加括号)。
开发中经常使用的
@interface
@interface-category
@interface-extension (OC中的.m文件的@interface就是extension)
@implementation
Ifesle
switch等