Android Studio를 사용하는 과정에서 포함 된 플러그인 중 일부는 프로젝트의 실제 요구를 충족시킬 수 없으므로 해당 플러그인을 직접 개발하기 시작했습니다. 아래는 내 개발 플러그인 프로세스에 대한 기록이며 계속해서이를 공유 할 것입니다.
공유 1 : 프로젝트 마우스 오른쪽 버튼 클릭 메뉴를 만듭니다
1. 프로젝트 마법사를 따라 데모 프로젝트를 단계별로 만들면 더 이상 소개하지 않습니다. 이 기사 //www.vevb.com/article/135535.htm을 참조하십시오
2. 액션 만들기, 플러그인 구성 파일에 표시됩니다.
<action id = "firstAction"text = "firstAction"description = "오른쪽 버튼 클릭 조치"> <add-to-group group-id = "projectViewPopUpMenu"앵커 = "apject"onualtive-to-action = "replaceInPath"/> </action>
3. 실행 후 IDE는 다른 IDE를 열 것입니다 (Genymotion과 유사한 용기로 포장). 효과가 매우 친숙한 지에 따라 다릅니다. 예, 이것은 일반적으로 사용되는 프로젝트 마우스 오른쪽 버튼 클릭 메뉴입니다.
4. 트리거 된 파일 유형에 따라 숨겨진 동작 표시를 동적으로 제어
@override public void update (anactionevent event) {//이 동작을 숨기십시오. string extension = getfileextension (event.getDataconText ()); this.getTemplatePresentation (). setEnabled (Extension! = null && "jar".equals (Extension)); }완전한 코드 :
import com.intellij.openapi.actionsystem.*; import com.intellij.openapi.project.project; import com.intellij.openapi.ui.messages; import com.intellij.openapi.vfs.virtualfile; /*** 16/8/17에 ABC에 의해 생성되었습니다. */ public class firstAction은 anaction {private project mproject; @override public void actionPerformed (anactionEvent event) {mproject = event.getData (PlatformDatakeys.project); DataContext DataContext = event.getDataconText (); if ( "jar".equals (getFileExtension (dataContext)))) {// 확장자를 기반으로 다음 프로세싱을 방어합니다. // 선택한 파일 virtualfile file = datakeys.virtual_file.getta (event.getDataconText ()); if (file! = null) {messages.showmessagedialog (mproject, file.getName (), "파일 선택", message.getInformationIcon ()); }}} @override public void update (anactionEvent event) {// 작업이 표시되기 전에 선택한 파일 확장자에 따라이 작업이 표시되는지 여부를 결정하십시오. 문자열 Extension = getFileExtension (event.getDataconText ()); this.getTemplatePresentation (). setEnabled (Extension! = null && "jar".equals (Extension)); } public static string getFileExtension (DataContext DataContext) {virtualfile file = datakeys.virtual_file.getData (DataContext); 반환 파일 == null? null : file.getextension (); }}위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 또한 모두가 wulin.com을 더 지원하기를 바랍니다