我想創建一個插件,它定義了一個新的代碼模板(like this blog post)。我怎樣才能傳遞參數到模板中?像${name:param}
?如何參數傳遞到代碼模板在Eclipse的插件
7
A
回答
6
你可以傳入代碼模板的東西並不多。例如${word_selection}
包含當前選擇。
但是很多人缺少的是,你可以定義自己的變量:
private static final ${type} ${name} = new ${type} (${cursor});
無論${type}
也不${name}
是當你點擊「插入變量...」按鈕,你得到的名單。 Eclipse的通知,並允許你通過他們用循環標籤和將保持同步,這些自定義「模板字段」(所以你new
後的部分得到填補,如果你在第一個字段中鍵入)的內容。
See this answer for other useful Eclipse templates。
[編輯]根據博客文章,你提的問題的答案,這是唯一可能在與編輯模板,而不是代碼模板的時刻。我建議提交一個針對JDT文本的錯誤來爲此打開API。
1
該解決方案針對Eclipse 4.2 Juno,我沒有在任何其他環境中測試過。
所有你需要做的是通過你的參數,然後你就會有它們可用。
假設我們想創建一個TemplateVariableResolver,將大寫傳遞的參數的第一個字母。
你會先填充您的plugin.xml如下:
<extension point="org.eclipse.ui.editors.templates">
<resolver class="org.eclipse.ui.templates.UppercaseResolver"
contextTypeId="java"
description="${Uppercase(word[, word...])} uppercase's the provided words"
name="Uppercase words" type="Uppercase"/>
</extension>
您也想創建自定義解析:
public void resolve(TemplateVariable variable, TemplateContext context) {
if (variable.getVariableType().getParams().size() > 0) {
StringBuffer result = new StringBuffer();
for(String value : (List<String>) variable.getVariableType().getParams()) {
value = value.substring(0,1).toUpperCase() + value.substring(1);
result.append(value);
}
variable.setValue(result.toString());
}
}
最後在你的代碼模板:
String name = ${Uppercase(james,laPenn)};
相關問題
- 1. 如何參數傳遞到模板的模板參數
- 2. Eclipse插件:傳遞命令行參數
- 3. Eclipse代碼模板:插入剪貼板?
- 4. 如何將參數傳遞給eclipse插件中的context.xml文件?
- 5. 參數傳遞到Azure的ARM模板
- 6. 如何將模板作爲模板參數傳遞給模板?
- 7. 如何正確傳遞模板參數?
- 8. 如何從Django模板傳遞參數?
- 9. 插入書籤的Eclipse代碼模板?
- 10. 如何將參數從PHP文件傳遞到模板?
- 11. 傳遞參數「.js.erb」模板
- 12. 傳遞模板參數
- 13. 從CreateView傳遞參數到模板(Django)
- 14. Mono.TextTemplating參數傳遞到模板
- 15. 如何將模板函數作爲模板類參數傳遞?
- 16. 傳遞參數在樹枝(從模板到另一個模板)
- 17. 傳遞給模板函數的可變參數模板參數
- 18. 如何使Eclipse代碼模板如此?
- 19. typo3插件:如何傳遞參數?
- 20. 如何將參數傳遞給流星中的模板事件?
- 21. 使用mvn-tycho傳遞參數到依賴eclipse插件
- 22. 在Jade模板之間傳遞參數
- 23. 在模板參數中傳遞矢量
- 24. 以模板參數傳遞代表作爲參數
- 25. 如何爲eclipse編寫代碼模板?
- 26. Django:如何將參數從模板傳遞到視圖
- 27. 如何將參數從控制器傳遞到模板?
- 28. 如何將多個參數傳遞到標籤模板?
- 29. Magento - 將URL中的參數傳遞到模板文件
- 30. 如何將此代碼的參數傳遞到工作
我的意思是從Eclipse插件,當我定義我自己的模板。 – IAdapter
代碼模板和編輯器模板有什麼區別? – fastcodejava
IDE爲您生成代碼時使用代碼模板(如在「生成Getters和Setters」中)。編輯器模板是您輸入關鍵字(您定義的)時所獲得的結果,然後按Ctrl +空格鍵。 –