在模板中使用模板 - eclipse

mak*_*chi 8 java eclipse

当我在从.net到Java的过渡中慢慢爬行时,我发现越来越多关于eclipse IDE的有趣事情.我最近偶然发现了它的模板,我很喜欢它.这带给我一个问题:我可以在模板中调用模板吗?当然它只是一个复制和粘贴的问题,但我想知道它是否可以完成.

Bob*_*oss 5

是的,实际上,您可以,并且默认集中有一个示例。

如果转到“首选项”->“ Java”->“代码样式”->“代码模板”,则可以导出所有提供的Java模板。在其中,您将看到以下文件模板(为便于阅读而设置格式):

<template 
    autoinsert="true" 
    context="filecomment_context" 
    deleted="false" 
    description="Comment for created Java files" 
    enabled="true" 
    id="org.eclipse.jdt.ui.text.codetemplates.filecomment" 
    name="filecomment">
    /** * */
</template>
Run Code Online (Sandbox Code Playgroud)

再往下一点,就是使用该文件模板的New Type

<template 
    autoinsert="true" 
    context="newtype_context" 
    deleted="false" 
    description="Newly created files" 
    enabled="true" 
    id="org.eclipse.jdt.ui.text.codetemplates.newtype" 
    name="newtype">
    ${filecomment} ${package_declaration} ${typecomment} ${type_declaration}
</template> 
Run Code Online (Sandbox Code Playgroud)

因此,如果您想让一个模板使用另一个模板,则基本形式是使用美元符号前缀来引用子模板的ID。例如:

<template 
    autoinsert="true" 
    context="BobOuter_context" 
    deleted="false" 
    description="Bob example outer template" 
    enabled="true" 
    id="bob.example.outertemplate" 
    name="BobOuter">
    BobOuterBegins Insert inner template ${bob.example.innertemplate} BobOuterEnds
</template> 

<template 
    autoinsert="true" 
    context="BobInner_context" 
    deleted="false" 
    description="Bob example inner template" 
    enabled="true" 
    id="bob.example.innertemplate" 
    name="BobInner">
    BobInnerBegins Super awesome content goes here BobInnerEnds
</template> 
Run Code Online (Sandbox Code Playgroud)