2016-12-15 46 views
0

我已經/resources/fileTemplates/internal/myTemplateClass.vm下創建我的Apache Velocity模板,並想通過使用它:一個的IntelliJ內註冊一個模板插件

final JavaDirectoryServiceImpl javaDirectoryService = new JavaDirectoryServiceImpl(); 
javaDirectoryService.createClass(myPsiDirectory, 
           "MyClassname", 
           "myTemplateClass"); 

所以我說在我的plugin.xml中的以下內容:

<extensions defaultExtensionNs="com.intellij"> 
    <!-- Add your extensions here --> 
    <internalFileTemplate name="myTemplateClass"/> 
    </extensions> 

但是,當我運行我的插件它聲稱它沒有找到名爲「myTemplateClass」的模板。我認爲這是因爲我沒有鏈接到文件perse。我應該在哪裏鏈接?

感謝

回答

1

如果你有「myTemplateClass」的名義<internalFileTemplate>,你想用它來創建一個Java類,模板需要被存儲爲fileTemplates/internal/myTemplateClass.java.ft。所以你需要改變文件的擴展名。

+0

添加.java我仍然收到Template not found:myTemplateClass。可能需要傳遞與createClass不同的東西來匹配呢? – mangusbrother

+0

Nv介意。需要.ft.vm不被識別,即使它在文檔 – mangusbrother

+0

我發佈了另一個問題,也許你知道答案。如何在生成之前將變量傳遞給此模板 – mangusbrother