【问题标题】:How can I custom getter templates in AppCode如何在 AppCode 中自定义 getter 模板
【发布时间】:2017-04-20 21:47:17
【问题描述】:

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;
 }

谁能告诉我如何修改代码模板以实现我的目标?谢谢!

【问题讨论】:

    标签: intellij-idea appcode xcode-template


    【解决方案1】:

    文件和代码模板窗口的右下角有特定模板中各种变量的描述。因此,您需要使用一个 $RETURN_TYPE 变量来保存类型。但是该类型包含您不需要的 *。在 Velocity 模板中,您可以使用 Java 字符串函数,因此最终模板将是

    #if ($IVAR_IS_AVAILABLE == "true")
    if(!$IVAR){
        $IVAR = [$RETURN_TYPE.replace("*"," ") new];
    }
    return $IVAR;#else
    return $DEFAULT_RETURN_VALUE;#end
    

    【讨论】:

      猜你喜欢
      • 2022-08-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多