最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Intellij Idea插件開發(fā)之創(chuàng)建項目層級的右鍵菜單

 更新時間:2018年02月26日 16:31:05   作者:zhangmingCSDN  
這篇文章主要介紹了Intellij Idea插件開發(fā)之創(chuàng)建項目層級的右鍵菜單,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

在使用Android Studio的過程中,發(fā)現自帶的一些插件無法滿足項目的實際需要,便著手自己開發(fā)對應的插件。下面是我開發(fā)插件過程中的一個記錄,會持續(xù)和大家分享。

分享一:創(chuàng)建Project右鍵菜單

1,按照項目向導一步一步創(chuàng)建一個Demo項目,就不再介紹了,可以參照這篇文章http://m.fzitv.net/article/135535.htm

2,創(chuàng)建Action,在plugin配置文件中你會看到

<action id="FirstAction" class="FirstAction" text="FirstAction" description="右鍵Action"> 
  <add-to-group group-id="ProjectViewPopupMenu" anchor="after" relative-to-action="ReplaceInPath"/> 
 </action> 

3,運行后,IDE會另外開啟一個IDE(由一個類似Genymotion的容器包裹)??葱Ч遣皇呛苁煜?,對,這就是常用Project右鍵菜單:


4,根據觸發(fā)的文件類型動態(tài)控制Action的隱藏顯示

@Override 
public void update(AnActionEvent event) {//根據擴展名是否是jar,顯示隱藏此Action 
 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; 
 
/** 
 * Created by ABC on 16/8/17. 
 */ 
public class FirstAction extends 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.getData(event.getDataContext()); 
   if (file != null) { 
    Messages.showMessageDialog(mProject, file.getName(), "select file", Messages.getInformationIcon()); 
   } 
  } 
 } 
 
 @Override 
 public void update(AnActionEvent event) { 
  //在Action顯示之前,根據選中文件擴展名判定是否顯示此Action 
  String 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); 
  return file == null ? null : file.getExtension(); 
 } 
} 

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家

相關文章

  • 分布式面試分布式鎖實現及應用場景

    分布式面試分布式鎖實現及應用場景

    這篇文章主要為大家介紹了關于分布式的面試問題,分布式鎖的實現及應用不同場景下的使用,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步
    2022-03-03
  • Java 實現隨機驗證碼功能簡單實例

    Java 實現隨機驗證碼功能簡單實例

    這篇文章主要介紹了Java 實現隨機驗證碼功能簡單實例的相關資料,需要的朋友可以參考下
    2017-04-04
  • Java中常用的9種文件下載方法總結

    Java中常用的9種文件下載方法總結

    下載文件在我們項目很常見,有下載視頻、文件、圖片、附件、導出Excel等,所以本文為大家整理了9中Java中常用的文件下載方式,希望對大家有所幫助
    2023-09-09
  • 你應該知道的java中的5個注解

    你應該知道的java中的5個注解

    自Java5.0版本引入注解之后,它就成為了Java平臺中非常重要的一部分。開發(fā)過程中,我們也時常在應用代碼中會看到像@Override,@Deprecated這樣的注解。下面小編和大家來一起學習一下吧
    2019-05-05
  • 聊聊SpringBoot中組件無法被注入的問題

    聊聊SpringBoot中組件無法被注入的問題

    這篇文章主要介紹了SpringBoot中組件無法被注入的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • Netty分布式ByteBuf使用page級別的內存分配解析

    Netty分布式ByteBuf使用page級別的內存分配解析

    這篇文章主要介紹了Netty分布式ByteBuf使用page級別的內存分配解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-03-03
  • Java之NoClassDefFoundError的原因及分析

    Java之NoClassDefFoundError的原因及分析

    在Java開發(fā)中,經常會遇到ClassNotFoundException和NoClassDefFoundError異常,ClassNotFoundException發(fā)生在編譯時JVM無法找到類,而NoClassDefFoundError則發(fā)生在運行時JVM無法加載類,這兩個異常雖然原因相似,但有本質區(qū)別
    2024-09-09
  • 淺析Java內部類——成員內部類

    淺析Java內部類——成員內部類

    這篇文章主要介紹了Java 成員內部類的相關資料,幫助大家更好的理解和學習Java 內部類的相關知識,感興趣的朋友可以了解下
    2020-08-08
  • 關于SpringCloud的微服務結構及微服務遠程調用

    關于SpringCloud的微服務結構及微服務遠程調用

    Spring Cloud 是一套完整的微服務解決方案,基于 Spring Boot 框架,準確的說,它不是一個框架,而是一個大的容器,它將市面上較好的微服務框架集成進來,從而簡化了開發(fā)者的代碼量,需要的朋友可以參考下
    2023-05-05
  • Java使用雙異步實現將Excel的數據導入數據庫

    Java使用雙異步實現將Excel的數據導入數據庫

    在開發(fā)中,我們經常會遇到這樣的需求,將Excel的數據導入數據庫中,這篇文章主要來和大家講講Java如何使用雙異步實現將Excel的數據導入數據庫,感興趣的可以了解下
    2024-01-01

最新評論

郓城县| 开远市| 唐海县| 长寿区| 翁牛特旗| 沈阳市| 青冈县| 丹寨县| 开原市| 芜湖市| 普宁市| 平武县| 乐平市| 甘南县| 扎鲁特旗| 枣强县| 云林县| 丹寨县| 阳谷县| 翼城县| 叶城县| 葫芦岛市| 元阳县| 牙克石市| 福贡县| 城步| 济宁市| 梁河县| 曲沃县| 元氏县| 叶城县| 安塞县| 宜都市| 石城县| 成都市| 襄城县| 望奎县| 台南市| 祁阳县| 通州市| 榕江县|