
Intellij plugin
jscoolstar
这个作者很懒,什么都没留下…
展开
-
PsiElement
1、打开element所在file,并定位到此element处(可用于,查找某个element的引用,查找到后进行跳转时) OpenFileDescriptor(element.project,element.containingFile.virtualFile,element.startOffset).navigate(true)2、查找引用 ReferencesSearch.search(oldMethod)...原创 2021-08-26 11:55:38 · 775 阅读 · 0 评论 -
Window
相关操作的api主要类是:ToolWindowManagerExToolWindowManager 单例,ToolWindow,Content。ToolWindow就是常见的AS两侧的Structure,Terminal,Logcat这种。Content是Window的容器(有点像contentview吧,但不是view层的),Content有setComponent(JConponent)来将一个jPanle的东西设置给content来显示。Window 的hide show方法 指的是 这个wi..原创 2021-08-26 11:55:02 · 187 阅读 · 0 评论 -
JavaPsiFacade
1.根据包名类名查找PsiClassJavaPsiFacade.getInstance(project).findClass(packageName, GlobalSearchScope.everythingScope(project))scope是查找范围,packageName是包名+类名,如:android.view.View。ps:GlobalSearchScope.allScope(project) 这个scope找不到 package.R 文件这个类。但是everythi...原创 2021-08-26 11:54:23 · 768 阅读 · 1 评论 -
各种find
查找文件,根据名字(不知路径): FilenameIndex.getFilesByName() ,返回为Array<PsiFile> 查找class,路径已知: JavaPsiFacade.findClass() 查找class,根据名字(不知路径):PsiShortNamesCache.getClassesByName()这个返回的是PsiClass的集合 查找psielment的引用处: ReferencesSearch.se...原创 2021-08-26 11:53:32 · 391 阅读 · 1 评论 -
各种create/add
1.create rename: RefactoringFactory.createRename()2.重新build virtualFile对应的PsiFile : FileContentUtil.reparseFiles()3.为某个方法,增加文本;比如:public void onClick(View v){},插件生成了个方法叫doClick(View v)(参考AccountSDKUtil)。生成后在onClick中添加这个方法的调用fu...原创 2021-08-26 11:52:35 · 355 阅读 · 0 评论