2012-03-11 7 views
0

내 플러그인을 통해 Groovy 클래스에 일부 import 문을 추가하려고합니다. 형은 내가 가져올 것입니다 나는이클립스 플러그인에서 groovy 파일로 가져 오기를 추가하십시오.

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

을하려고 해요. null 포인터 예외가 발생합니다. 나는 Java 클래스에 대해 동일한 코드를 사용하고 있습니다. 누군가가 내게 무엇이 잘못 될 수 있다고 제안 할 수 있습니까?

미리 감사드립니다.

+0

당신이하고 싶은 일에 대해 좀 더 노골적으로 표현할 수 있습니까? Groovy 파일 상단에 'import foo.bar. *'텍스트를 추가하려고합니까? 어떤 종류의 리팩토링인가요? –

+0

groovy 파일에 가져 오기를 추가 할 플러그인이 있습니다 ... 예를 들어 목록 을 만들고 싶습니다. 그런 다음 전의 가져 오기를 만들고 싶습니다. com.Person을 Groovy 파일로 가져옵니다. – Krishnaveni

답변

0

올바른 API를 사용하여 파일에 가져 오기를 올바르게 추가하려면 가장 좋은 방법은 같은 이름의 JDT 클래스의 그루비 이클립스 변형 인 greclipse.org.eclipse.jdt.core.dom.rewrite.ImportRewrite을 사용하는 것입니다.

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

관련 문제