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

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.fzitv.net/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)文章

最新評(píng)論

张家口市| 灯塔市| 清原| 搜索| 亚东县| 于田县| 馆陶县| 陆丰市| 和田县| 两当县| 乐都县| 莒南县| 灌南县| 三河市| 温泉县| 宣武区| 临泽县| 广昌县| 庆云县| 余江县| 远安县| 吉木萨尔县| 宣城市| 安龙县| 龙门县| 廉江市| 托克逊县| 开封县| 藁城市| 托克逊县| 久治县| 广平县| 偏关县| 屏南县| 丹巴县| 曲沃县| 固阳县| 忻州市| 平罗县| 秦皇岛市| 恩施市|