概要
上节介绍几个开发时常见的接口和类,本节介绍下插件开发中的一些API。
插件开发中的一些API
上面说到了一些常见的扩展接口,下面看看IDEA提供的一些常用的API接口:
ActionPerformed被点击回调后,会传入AnActionEvent对象,通过该对象可以获得如下一些对象:
// 获取当前编辑的文件, 通过PsiFile可获得PsiClass, PsiField等对象
PsiFile psiFile = e.getData(LangDataKeys.PSI_FILE);
// 获取当前的project对象
Project project = e.getProject();
// 获取数据上下文
DataContext dataContext = e.getDataContext();
// 获取到数据上下文后,通过CommonDataKeys对象可以获得该File的所有信息
Editor editor = CommonDataKeys.EDITOR.getData(dataContext);
PsiFile psiFile = CommonDataKeys.PSI_FILE.getData(dataContext);
VirtualFile virtualFile = CommonDataKeys.VIRTUAL_FILE.getData(dataContext);
PSI对象的一些常用方法
// 通过给定名称(不包含具体路径)搜索对应文件, 传入3个参数 Project, FileName, GlobalSearchScope;
// GlobalSearchScope中有Project域,Moudule域,File域等等
PsiFile[] psiFiles = FilenameIndex.getFilesByNa