激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - JAVA教程 - Intellij Idea插件開發之創建項目層級的右鍵菜單

Intellij Idea插件開發之創建項目層級的右鍵菜單

2021-04-07 13:26zhangmingCSDN JAVA教程

這篇文章主要介紹了Intellij Idea插件開發之創建項目層級的右鍵菜單,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

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

分享一:創建project右鍵菜單

1,按照項目向導一步一步創建一個demo項目,就不再介紹了,可以參照這篇文章 http://www.zmynmublwnt.cn/article/153905.html

2,創建action,在plugin配置文件中你會看到

?
1
2
3
<action id="firstaction" class="firstaction" text="firstaction" description="右鍵action">
  <add-to-group group-id="projectviewpopupmenu" anchor="after" relative-to-action="replaceinpath"/>
 </action>

Intellij Idea插件開發之創建項目層級的右鍵菜單

3,運行后,ide會另外開啟一個ide(由一個類似genymotion的容器包裹)。看效果是不是很熟悉,對,這就是常用project右鍵菜單:

Intellij Idea插件開發之創建項目層級的右鍵菜單

4,根據觸發的文件類型動態控制action的隱藏顯示

?
1
2
3
4
5
@override
public void update(anactionevent event) {//根據擴展名是否是jar,顯示隱藏此action
 string extension = getfileextension(event.getdatacontext());
 this.gettemplatepresentation().setenabled(extension != null && "jar".equals(extension));
}

完整代碼:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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();
 }
}

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

原文鏈接:http://blog.csdn.net/zhangbuzhangbu/article/details/52227403

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 午夜神马福利视频 | 成年免费网站 | 精品欧美一区二区精品久久久 | 精品国产一区二区三区四区阿崩 | 狠狠干b| 国产精选91 | 欧美精品电影一区 | 国产成年人在线观看 | 特级毛片免费视频 | 成年人黄色免费电影 | 福利在线播放 | 日本爽快片100色毛片视频 | 99ri精品| 伊人二本二区 | 18pao国产成人免费视频 | 亚洲成人高清电影 | 青草av.久久免费一区 | 中国fx性欧美xxxx | 欧美成人国产va精品日本一级 | 国产一级免费电影 | 久久久久一区二区三区四区五区 | 国产亚洲自拍一区 | 国产亚洲精品久久久久久久久久 | 国产成人精品一区二区仙踪林 | 136福利视频 | 日韩欧美激情视频 | 午夜色片 | 91短视频网址 | 草草久 | 一级毛片真人免费播放视频 | 欧美视频不卡 | 久久久久久麻豆 | 国产精品久久久久久久模特 | 久久国产综合精品 | 欧美一级淫片免费播放口 | 手机在线看片国产 | 99影视电影电视剧在线播放 | 亚洲啊v在线观看 | 特级毛片全部免费播放器 | 久久手机在线视频 | 91免费电影 |