2011-05-04 59 views
8

隨着我從.net到Java的轉換中慢慢爬行,我發現有關eclipse IDE的更多有趣的事情。我最近偶然發現了它的模板,我很喜歡它。這給我一個問題:我可以從模板中調用模板嗎?當然,這只是一個複製和粘貼的問題,但我想知道是否可以完成。在模板中使用模板 - eclipse

+1

你能澄清你在做什麼嗎? Eclipse沒有在另一個模板中擴展模板的機制,但是如果需要,您可以複製並粘貼。 – 2011-06-14 11:30:53

+0

@Pakka,我正在查看默認的「新Java文件」模板,它使用四個獨特的子模板。這不是什麼大不了的事情。只要確保你的一套模板形成了一個有向的非循環圖,你就不會有遞歸模板問題。 – 2011-08-01 13:12:55

回答

4

是的,實際上,您可以在默認設置中有一個示例。

如果您轉到您的首選項 - > 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> 

,有點進一步回落,新型這使得使用該文件模板:

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

因此,如果您想使用另一個模板,基本形式是使用美元符號前綴引用子模板的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> 
+0

是否有可能直接在內置模板編輯器中完成此操作? – faintsignal 2016-11-21 21:20:34