本文整理汇总了Java中com.intellij.codeInsight.ExternalAnnotationsManager.findExternalAnnotations方法的典型用法代码示例。如果您正苦于以下问题:Java ExternalAnnotationsManager.findExternalAnnotations方法的具体用法?Java ExternalAnnotationsManager.findExternalAnnotations怎么用?Java ExternalAnnotationsManager.findExternalAnnotations使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.intellij.codeInsight.ExternalAnnotationsManager
的用法示例。
在下文中一共展示了ExternalAnnotationsManager.findExternalAnnotations方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: isAvailable
import com.intellij.codeInsight.ExternalAnnotationsManager; //导入方法依赖的package包/类
@Override
public boolean isAvailable(@NotNull Project project, Editor editor, PsiFile file) {
myAnnotationName = null;
PsiModifierListOwner listOwner = getContainer(editor, file);
if (listOwner != null) {
final ExternalAnnotationsManager externalAnnotationsManager = ExternalAnnotationsManager.getInstance(project);
final PsiAnnotation[] annotations = externalAnnotationsManager.findExternalAnnotations(listOwner);
if (annotations != null && annotations.length > 0) {
if (annotations.length == 1) {
myAnnotationName = annotations[0].getQualifiedName();
}
final List<PsiFile> files = externalAnnotationsManager.findExternalAnnotationsFiles(listOwner);
if (files == null || files.isEmpty()) return false;
final VirtualFile virtualFile = files.get(0).getVirtualFile();
return virtualFile != null && (virtualFile.isWritable() || virtualFile.isInLocalFileSystem());
}
}
return false;
}
示例2: isAvailable
import com.intellij.codeInsight.ExternalAnnotationsManager; //导入方法依赖的package包/类
@Override
public boolean isAvailable(@NotNull Project project, Editor editor, PsiFile file) {
PsiModifierListOwner listOwner = getContainer(editor, file);
if (listOwner != null) {
final ExternalAnnotationsManager externalAnnotationsManager = ExternalAnnotationsManager.getInstance(project);
final PsiAnnotation[] annotations = externalAnnotationsManager.findExternalAnnotations(listOwner);
if (annotations != null && annotations.length > 0) {
if (annotations.length == 1) {
myAnnotationName = annotations[0].getQualifiedName();
}
final List<PsiFile> files = externalAnnotationsManager.findExternalAnnotationsFiles(listOwner);
if (files == null || files.isEmpty()) return false;
final VirtualFile virtualFile = files.get(0).getVirtualFile();
return virtualFile != null && (virtualFile.isWritable() || virtualFile.isInLocalFileSystem());
}
}
return false;
}
示例3: invoke
import com.intellij.codeInsight.ExternalAnnotationsManager; //导入方法依赖的package包/类
@Override
public void invoke(@NotNull final Project project, Editor editor, final PsiFile file) throws IncorrectOperationException {
final PsiModifierListOwner listOwner = getContainer(editor, file);
LOG.assertTrue(listOwner != null);
final ExternalAnnotationsManager annotationsManager = ExternalAnnotationsManager.getInstance(project);
final PsiAnnotation[] externalAnnotations = annotationsManager.findExternalAnnotations(listOwner);
LOG.assertTrue(externalAnnotations != null && externalAnnotations.length > 0);
if (externalAnnotations.length == 1) {
deannotate(externalAnnotations[0], project, file, annotationsManager, listOwner);
return;
}
JBPopupFactory.getInstance().createListPopup(new BaseListPopupStep<PsiAnnotation>(CodeInsightBundle.message("deannotate.intention.chooser.title"), externalAnnotations) {
@Override
public PopupStep onChosen(final PsiAnnotation selectedValue, final boolean finalChoice) {
deannotate(selectedValue, project, file, annotationsManager, listOwner);
return PopupStep.FINAL_CHOICE;
}
@Override
@NotNull
public String getTextFor(final PsiAnnotation value) {
final String qualifiedName = value.getQualifiedName();
LOG.assertTrue(qualifiedName != null);
return qualifiedName;
}
}).showInBestPositionFor(editor);
}