2012-03-11 33 views
0

我想通過我的插件在groovy類中添加一些導入語句。 我想要做將導入添加到日食插件的groovy文件中

compilationUnit.createImport(type.getFullyQualifiedName(), null, null); 

其中類型是什麼,我想導入。我得到一個空指針異常。我使用相同的代碼爲Java類,它的工作原理我 。 有人可以建議我可能是錯的。

在此先感謝!

+0

對於你想要做什麼,你能更清楚些嗎?你是否試圖將文本'import foo.bar。*'添加到你的groovy文件的頂部?這是一種重構嗎? – 2012-03-12 21:59:56

+0

我有一個插件,從中我想添加導入到一個groovy文件...例如,我想創建一個列表,然後我想創建一個導入前。導入com.Person,進入groovy文件。 – Krishnaveni 2012-03-13 06:40:56

回答

0

如果您想使用適當的API將文件正確添加到文件中,那麼最好的方法是使用greclipse.org.eclipse.jdt.core.dom.rewrite.ImportRewrite,這是一個同名的JDT類的groovy-eclipse變體。

查看org.codehaus.groovy.eclipse.refactoring.actions.OrganizeGroovyImports瞭解如何使用它的示例。

你可以這樣創建:

ImportRewrite rewriter = CodeStyleConfiguration.createImportRewrite(unit, false); 

,然後添加你輸入:

rewriter.addImport(qualifiedClassName); 

,然後進行改寫:

TextEdit edit = rewriter.rewriteImports(null); 
unit.applyTextEdit(edit, null); 

事情一點點如果你想添加靜態,星型或別名導入,但是你可以查看代碼。

+0

非常感謝。會嘗試一下,然後回來 – Krishnaveni 2012-03-15 12:10:29