欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

在使用Android Studio的過(guò)程中,發(fā)現(xiàn)自帶的一些插件無(wú)法滿足項(xiàng)目的實(shí)際需要,便著手自己開(kāi)發(fā)對(duì)應(yīng)的插件。下面是我開(kāi)發(fā)插件過(guò)程中的一個(gè)記錄,會(huì)持續(xù)和大家分享。

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

1,按照項(xiàng)目向?qū)б徊揭徊絼?chuàng)建一個(gè)Demo項(xiàng)目,就不再介紹了,可以參照這篇文章http://www.dbjr.com.cn/article/135535.htm

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

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

3,運(yùn)行后,IDE會(huì)另外開(kāi)啟一個(gè)IDE(由一個(gè)類似Genymotion的容器包裹)??葱Ч遣皇呛苁煜ぃ瑢?duì),這就是常用Project右鍵菜單:


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

@Override 
public void update(AnActionEvent event) {//根據(jù)擴(kuò)展名是否是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))) {//根據(jù)擴(kuò)展名判定是否進(jìn)行下面的處理 
   //獲取選中的文件 
   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顯示之前,根據(jù)選中文件擴(kuò)展名判定是否顯示此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(); 
 } 
} 

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家

相關(guān)文章

  • springboot-jta-atomikos多數(shù)據(jù)源事務(wù)管理實(shí)現(xiàn)

    springboot-jta-atomikos多數(shù)據(jù)源事務(wù)管理實(shí)現(xiàn)

    本文主要介紹了springboot-jta-atomikos多數(shù)據(jù)源事務(wù)管理實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • 詳解Spring bean的注解注入之@Autowired的原理及使用

    詳解Spring bean的注解注入之@Autowired的原理及使用

    之前講過(guò)bean注入是什么,也使用了xml的配置文件進(jìn)行bean注入,這也是Spring的最原始的注入方式(xml注入).本文主要講解的注解有以下幾個(gè):@Autowired、 @Service、@Repository、@Controller 、@Component、@Bean、@Configuration、@Resource ,需要的朋友可以參考下
    2021-06-06
  • java階乘計(jì)算獲得結(jié)果末尾0的個(gè)數(shù)代碼實(shí)現(xiàn)

    java階乘計(jì)算獲得結(jié)果末尾0的個(gè)數(shù)代碼實(shí)現(xiàn)

    今天偶然看到一個(gè)要求,求1000~10000之間的數(shù)n的階乘并計(jì)算所得的數(shù)n!末尾有多少個(gè)0?要求: 不計(jì)算 只要得到末尾有多少個(gè)0就可以了,看下面的代碼吧
    2013-12-12
  • 微信公眾號(hào)模板消息接口開(kāi)發(fā)Java實(shí)現(xiàn)方法代碼

    微信公眾號(hào)模板消息接口開(kāi)發(fā)Java實(shí)現(xiàn)方法代碼

    這篇文章主要介紹了微信公眾號(hào)模板消息接口開(kāi)發(fā)Java實(shí)現(xiàn)的相關(guān)資料,,該接口可以用于向關(guān)注公眾號(hào)的用戶推送消息,包括群發(fā)和指定用戶發(fā)送消息,文章詳細(xì)介紹了如何獲取公眾號(hào)的測(cè)試信息、配置接口信息和獲取access_token,需要的朋友可以參考下
    2024-12-12
  • JWT原理與java操作jwt驗(yàn)證詳解

    JWT原理與java操作jwt驗(yàn)證詳解

    這篇文章主要介紹了JWT原理與java操作jwt驗(yàn)證,詳細(xì)分析了JWT的基本概念、原理與java基于JWT進(jìn)行token驗(yàn)證的相關(guān)操作技巧,需要的朋友可以參考下
    2023-06-06
  • SpringBoot整合mybatis-plus實(shí)現(xiàn)分頁(yè)查詢功能

    SpringBoot整合mybatis-plus實(shí)現(xiàn)分頁(yè)查詢功能

    這篇文章主要介紹了SpringBoot整合mybatis-plus實(shí)現(xiàn)分頁(yè)查詢功能,pringBoot分頁(yè)查詢的兩種寫法,一種是手動(dòng)實(shí)現(xiàn),另一種是使用框架實(shí)現(xiàn),現(xiàn)在我將具體的實(shí)現(xiàn)流程分享一下,需要的朋友可以參考下
    2023-11-11
  • Spring Cache的基本使用與實(shí)現(xiàn)原理詳解

    Spring Cache的基本使用與實(shí)現(xiàn)原理詳解

    緩存是實(shí)際工作中非經(jīng)常常使用的一種提高性能的方法, 我們會(huì)在很多場(chǎng)景下來(lái)使用緩存。下面這篇文章主要給大家介紹了關(guān)于Spring Cache的基本使用與實(shí)現(xiàn)原理的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2018-05-05
  • JavaEE實(shí)現(xiàn)前后臺(tái)交互的文件上傳與下載

    JavaEE實(shí)現(xiàn)前后臺(tái)交互的文件上傳與下載

    這篇文章主要介紹了JavaEE實(shí)現(xiàn)前后臺(tái)交互的文件上傳與下載,分享相關(guān)技術(shù),實(shí)現(xiàn)文件上傳下載功能,需要的朋友可以參考下
    2015-11-11
  • Java中從JSON轉(zhuǎn)Java實(shí)體的多種方法詳解

    Java中從JSON轉(zhuǎn)Java實(shí)體的多種方法詳解

    在現(xiàn)在的日常開(kāi)發(fā)中不管前端還是后端,JSON 格式的數(shù)據(jù)是用得比較多的,甚至可以說(shuō)無(wú)處不在,這篇文章主要給大家介紹了關(guān)于Java中從JSON轉(zhuǎn)Java實(shí)體的多種方法,需要的朋友可以參考下
    2023-12-12
  • Java關(guān)于List集合去重方案詳細(xì)介紹

    Java關(guān)于List集合去重方案詳細(xì)介紹

    實(shí)際項(xiàng)目開(kāi)發(fā)中,很多業(yè)務(wù)場(chǎng)景下都會(huì)遇見(jiàn)集合去重。在說(shuō)到List集合去重之前,首先我們回顧下普通類型的list如何去重
    2021-09-09

最新評(píng)論