如何在 AppCode 中自定义 getter 模板
How can I custom getter templates in AppCode
AppCode 可以生成 getter 代码,如下所示:
- (UIView *)leftAnchorView {
return _leftAnchorView;
}
在首选项 -> 编辑器 -> 文件和代码模板 -> 代码选项卡中,我发现 getter 模板是
#if ($IVAR_IS_AVAILABLE == "true")
return $IVAR;#else
return $DEFAULT_RETURN_VALUE;#end
所以,我这样修改模板:
#if ($IVAR_IS_AVAILABLE == "true")
if(!$IVAR){
$CUSTOM_CODE
}
return $IVAR;#else
return $DEFAULT_RETURN_VALUE;#end
结果是
- (UIView *)leftAnchorView {
if(!_leftAnchorView){
}
return _leftAnchorView;
}
现在,我的目标是
- (UIView *)leftAnchorView {
if(!_leftAnchorView){
_leftAnchorView = [UIView new];
}
return _leftAnchorView;
}
谁能告诉我如何修改代码模板来实现我的目标?谢谢!
在文件和代码模板的右下角的具体模板中有各种变量的描述window。因此,您需要使用 $RETURN_TYPE
变量来保存类型。但是该类型包含您不需要的 *
。在 Velocity 模板中,您可以使用 Java 字符串函数,因此最终模板将是
#if ($IVAR_IS_AVAILABLE == "true")
if(!$IVAR){
$IVAR = [$RETURN_TYPE.replace("*"," ") new];
}
return $IVAR;#else
return $DEFAULT_RETURN_VALUE;#end
AppCode 可以生成 getter 代码,如下所示:
- (UIView *)leftAnchorView {
return _leftAnchorView;
}
在首选项 -> 编辑器 -> 文件和代码模板 -> 代码选项卡中,我发现 getter 模板是
#if ($IVAR_IS_AVAILABLE == "true")
return $IVAR;#else
return $DEFAULT_RETURN_VALUE;#end
所以,我这样修改模板:
#if ($IVAR_IS_AVAILABLE == "true")
if(!$IVAR){
$CUSTOM_CODE
}
return $IVAR;#else
return $DEFAULT_RETURN_VALUE;#end
结果是
- (UIView *)leftAnchorView {
if(!_leftAnchorView){
}
return _leftAnchorView;
}
现在,我的目标是
- (UIView *)leftAnchorView {
if(!_leftAnchorView){
_leftAnchorView = [UIView new];
}
return _leftAnchorView;
}
谁能告诉我如何修改代码模板来实现我的目标?谢谢!
在文件和代码模板的右下角的具体模板中有各种变量的描述window。因此,您需要使用 $RETURN_TYPE
变量来保存类型。但是该类型包含您不需要的 *
。在 Velocity 模板中,您可以使用 Java 字符串函数,因此最终模板将是
#if ($IVAR_IS_AVAILABLE == "true")
if(!$IVAR){
$IVAR = [$RETURN_TYPE.replace("*"," ") new];
}
return $IVAR;#else
return $DEFAULT_RETURN_VALUE;#end