zoukankan      html  css  js  c++  java
  • CodeGen用户定义的扩展令牌

    CodeGen用户定义的扩展令牌

    用户定义的扩展令牌是一种特殊的令牌,开发人员可以确定令牌的名称以及在代码生成过程中遇到令牌时要插入的值。             

    CodeGen支持多种机制,允许通过以下方式实现用户定义的令牌:

    Environment variables.

    Include files.

    Command line tokens.

    Under defined token files.

    如果模板文件依赖于开发人员为特定的用户定义标记提供值,可以将该

    依赖关系告诉CodeGen。有关详细信息,请参阅声明用户定义的令牌依赖项。             

    环境变量             

    如泛型标记中所述,可以使用<环境:变量>模板文件中的令牌和CodeGen将把从

    环境变量获得的值插入到输出流中。             

    包括文件             

    在通用标记中也有记录,可以使用<文件:name.ext>模板文件中的令牌和CodeGen

    将从外部文件中读取数据并将该数据插入到输出流中。             

    命令行标记             

    声明已用已定义标记的一种快速方法是使用-ut命令行选项在命令行上同时指定名

    称和值,例如:

    codegen –s <structure> -t <template> -ut MODEL_NS=MyApp.Model

    可以在命令行上指定多个用户定义的标记,在-ut选项后用空格分隔,例如:

    codegen –s <structure> -t <template> -ut MODEL_NS=MyApp.Model VIEW_NS=MyApp.View

    如果用户定义的标记值(等号字符后面的部分)包含双引号,则在将值传递给

    CodeGen之前,Windows将删除引号。在这种情况下,必须用反斜杠字符转义双引

    号字符,如下所示:

    -ut MYMESSAGE="Hello World"

    默认情况下,在命令行上定义的替换值用户定义标记可能不包含其他标记。如果希

    望启用该功能,则必须通过-utpp命令行选项告诉CodeGen将用户定义的标记视为

    预处理器标记。             

    用户定义的令牌文件             

    如果需要定义多个用户定义的令牌,那么有时可以在用户定义的令牌文件中定义它

    们,并通过-u命令行选项命名用户定义的令牌文件。             

    用户定义的令牌文件示例如下:

    ;
    ; User defined tokens for Synergex Inc.
    ;
    <SUPPORT_PHONE>(800) 366-3472</SUPPORT_PHONE>
    <SUPPORT_EMAIL>support@synergex.com</SUPPORT_EMAIL>
    <WEBSITE>http://www.synergex.com</WEBSITE>
     

    要告诉CodeGen从文件中读取用户定义的标记,可以使用-u命令行选项。例如:

    codegen –s <structure> -t <template> -u MYTOKENS:<usertokenfile>
     

    然后可以在模板文件中引用用户定义的标记。例如:

    display(tt,”Please call support at <SUPPORT_PHONE>”)
    display(tt,” or send an email to <SUPPORT_EMAIL>.”)

    声明用户定义的令牌依赖项             

    如果CodeGen在模板文件中遇到某种格式类似于令牌(即由< and >字符分隔)但未被识别为令牌的内容,则CodeGen将忽略它,并且该文本将保留在创建的输出文件中。为了使CodeGen能够为诸如HTML、XML和XAML等语言或脚本生成代码,这是必需的。             

    但是,当涉及到用户定义的令牌时,这可能是一个问题,因为如果模板包含的内容是模板开发人员打算作为用户定义的令牌来替换的,但是随后从模板生成代码的人忽略了指定用户定义令牌的来源,则令牌将保留在生成的文件,不会报告任何错误。             

    为了解决这种情况,模板开发人员可以使用<REQUIRES_USERTOKEN>令牌来声明他们的模板需要声明一个特定的用户定义的令牌,可以在令牌文件(-u)中,也可以在命令行(-ut)中声明。             

    如果模板声明需要用户定义的标记,但在生成代码时尚未声明该用户定义标记,则CodeGen将显示错误并停止处理该模板。

     

    人工智能芯片与自动驾驶
  • 相关阅读:
    关于Android的布局
    一个新的开端
    Flux的基础概念和实战入门
    在Redux中使用插件createAction之后
    学习
    Object.assign() 对象的扩展
    Redux 中的CombineReducer的函数详解
    React组件的防呆机制(propTypes)
    css的新特性 calc () 使用
    shim和polyfill有什么区别
  • 原文地址:https://www.cnblogs.com/wujianming-110117/p/14136654.html
Copyright © 2011-2022 走看看