0
我正在编写一个intellij插件让人们选择一个类,我发现代码是intellij开源代码中的移动方法。intellij插件使用TreeClassChooserFactory不显示推荐的类?
有没有建议类,之后我键入一些文字,仍然一无所获。
TreeClassChooser chooser = TreeClassChooserFactory.getInstance(myProject).createWithInnerClassesScopeChooser(
"choose serviceClass", GlobalSearchScope.projectScope(myProject), new ClassFilter() {
public boolean isAccepted(PsiClass aClass) {
return aClass.getParent() instanceof PsiFile && !aClass.isInterface();
}
}, srcClass);
chooser.selectDirectory(pojoClass.getContainingFile().getContainingDirectory());
chooser.showDialog();
奇怪,适合我在IDEA 2017.2 EAP中使用。我建议把断点(例如TreeJavaClassChooserDialog#getClassesByName,ContributorsBasedGotoByModel#processNames),看看会发生什么。 –
似乎找到原因,我将我的插件从intentionAction替换为正常行为后,它的工作。当它使用intentionAction时,TreeJavaClassChooserDialog#getClassesByName在显示对话框后永远不会调用,它在取消对话框后调用,看起来很奇怪。 非常感谢您的帮助。 –
这似乎是IDE中的一个错误,在即将到来的2017.2版本中得到修复 –