Intellij Idea插件开发之创建项目层级的右键菜单

在使用Android Studio的过程中,发现自带的一些插件无法满足项目的实际需要,便着手自己开发对应的插件。下面是我开发插件过程中的一个记录,会持续和大家分享。

分享一:创建Project右键菜单

1,按照项目向导一步一步创建一个Demo项目,就不再介绍了,可以参照这篇文章http://www.jb51.net/article/135535.htm

2,创建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,根据触发的文件类型动态控制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();
 }
} 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们

您可能感兴趣的文章:

  • Intellij IDEA + Android SDK + Genymotion Emulator打造最佳Android开发环境
  • IntelliJ Idea 2017注册码免费激活方法
  • IntelliJ IDEA 2017.1.4 x64配置步骤(介绍)
  • eclipse/intellij idea 查看java源码和注释方法
  • eclipse/intellij idea 远程调试hadoop 2.6.0
  • 在Intellij IDEA中使用Debug(图文教程)
  • IntelliJ IDEA(2017)安装和破解的方法
  • 详述IntelliJ IDEA插件的安装及使用方法(图解)
  • Intellij IDEA 配置Subversion插件实现步骤详解
(0)

相关推荐

  • IntelliJ IDEA(2017)安装和破解的方法

    IntelliJ IDEA是来自捷克的Jetbrains公司开发的Java开发工具(完爆Eclipse/MyEclipse).有旗舰版和社区版两大版本,相对社区版而言旗舰版的功能更加丰富.官网提供了两个版本之间差异的详细比较.擅长企业级应用.移动应用以及Web应用开发. 支持MacOS,Windows7+,Linux(Ubuntu14)三大主流操系统,支持主流技术(Maven,Git,Tomcat-)和框架(Spring,SpringBoot,SpringCloud-),同时支持Scala,Gr

  • IntelliJ IDEA 2017.1.4 x64配置步骤(介绍)

    只是为了研究下idea这款编译器怎么使用.开门见山,说下如何配置这款编译器,不配置也能用,但是强迫症表示不服.下面直入正题: 下载与安装就不说了,除了更改安装目录外,没啥注意的地方,建议下载idea去官网下载,这里的"官网"不是下载站哦. 安装完毕后,通过桌面上的快捷方式定位到文件位置,用editplus打开该目录下的idea.properties文件,注意下图中的红框部分,默认是C盘,这里改为了D盘相关目录下,可以自行定义,其实最简单方案是到C盘用户文件夹下找到.IntelliJId

  • Intellij IDEA + Android SDK + Genymotion Emulator打造最佳Android开发环境

    一直使用Eclipse环境开发Android,也尝鲜使用过Android Studio去开发,各种IDE配合Android SDK及SDK原生的Android Emulator的个中滋味也许大家都有领略,Eclipse的超长启动时间似乎是在与Android Emulator这个超级大腕比看谁更姗姗来迟,Android Studio的大版本号从推出来到两年后的今天仍然一直游走在1之下,不的不说襁褓婴儿不知道什么时候能长大,不得不说大哥我真不敢用你. 本文则介绍Lorinnn在开发Android过程

  • 在Intellij IDEA中使用Debug(图文教程)

    Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化.通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架的源码. 所以学习下如何在Intellij IDEA中使用好Debug,主要包括如下内容: 一.Debug开篇 二.基本用法&快捷键 三.变量查看 四.计算表达式 五.智能步入 六.断点条件设置 七.多线程调试 八.回退断点 九.中断Debug 十.附:JRebel激活 一.Debug开篇 首先

  • eclipse/intellij idea 远程调试hadoop 2.6.0

    很多hadoop初学者估计都我一样,由于没有足够的机器资源,只能在虚拟机里弄一个linux安装hadoop的伪分布,然后在host机上win7里使用eclipse或Intellj idea来写代码测试,那么问题来了,win7下的eclipse或intellij idea如何远程提交map/reduce任务到远程hadoop,并断点调试? 一.准备工作 1.1 在win7中,找一个目录,解压hadoop-2.6.0,本文中是D:\yangjm\Code\study\hadoop\hadoop-2.

  • eclipse/intellij idea 查看java源码和注释方法

    工作三年了,一直不知道怎么用IDE查看第三方jar包的源码和注释,惭愧啊!看源码还好些,itellij idea自带反编译器,eclipse装个插件即可,看注释就麻烦了,总不能去找api文档吧!现在终于掌握了,下面给出解决方案,供大家参考,以提升开发学习效率! eclipse 1.下载源码包 1.1 去官网下载 1.2 去maven仓库下载( 例如:maven mysql 百度一下,肯定会出现仓库地址,找某一个版本下载即可) 1.3 maven命令下载(适用maven项目),在pom.xml文件

  • IntelliJ Idea 2017注册码免费激活方法

    IDEA 全称 IntelliJ IDEA,是Java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手.代码自动提示.重构.J2EE支持.各类版本工具(Git.svn.github等).JUnit.CVS整合.代码分析. 创新的GUI设计等方面的功能可以说是超常的.IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主.它的旗舰版本还支持HTML,CSS,PHP,MySQL,Python等

  • 详述IntelliJ IDEA插件的安装及使用方法(图解)

    intellij idea是一款非常优秀的软件开发工具,它拥有这强大的插件体系,可以帮助开发者完成很多重量级的功能.今天,我们来学习一下如何安装和卸载intellij idea的插件. IntelliJ IDEA 支持非常多的插件,熟练的使用插件,能够有效提高我们的开发效率以及用户体验. 正文 首先,进入插件安装界面: Mac:IntelliJ IDEA -> Preferences -> Plugins; Windows:File -> Settings -> Plugins.

  • Intellij IDEA 配置Subversion插件实现步骤详解

    Intellij IDEA 配置Subversion插件实现步骤详解 在使用Intellij的过程中,突然发现svn不起效了,在VCS–>Checkout from Version Control中也未发现Subversion这一项.如下图: 一.原因查找 经过分析是因为插件被禁用或移除导致此功能失效. 二.解决方案 打开Settings,Plugins,搜索Subversion,在筛选出结果的方框上打勾,即可启动插件.如下图: 三.使用方法 点击VCS–>Enable Version -.-

  • Intellij Idea插件开发之创建项目层级的右键菜单

    在使用Android Studio的过程中,发现自带的一些插件无法满足项目的实际需要,便着手自己开发对应的插件.下面是我开发插件过程中的一个记录,会持续和大家分享. 分享一:创建Project右键菜单 1,按照项目向导一步一步创建一个Demo项目,就不再介绍了,可以参照这篇文章http://www.jb51.net/article/135535.htm 2,创建Action,在plugin配置文件中你会看到 <action id="FirstAction" class="

  • Intellij IDEA插件开发入门详解

    现今的IDE尽管有如"洪水猛兽"般强大,但要知道再强大的IDE也没法提供给使用者想要的一切功能,所以IDE一般都提供有API接口供开发者自行扩展.下面以Intellij IDEA 12下的插件开发为例,来看一下如何进一步增强IDE以适应开发者的需求. 1.创建Plugin工程 如果Module SDK中没有可选的SDK,那么点击New新添加一个SDK,目录就选择Intellij的安装位置即可. 创建出的Plugin项目结构很简单,只是在META-INF下多了一个plugin.xml配置

  • Intellij IDEA 旗舰版创建 Spring MVC 项目踩过的坑

    学生可以申请Intellij IDEA旗舰版免费试用!我终于可以暂时不用折腾社区版啦啦啦啦啦!!! IDEA旗舰版可以直接创建Spring MVC项目,但创建后的项目并不是直接就可以运行,还需要进行一些配置. 一.创建项目 打开Intellij IDEA,创建项目(CreateNewProject): 在左边选择 "Spring",然后右边勾选"Spring MVC",下面的"WebApplication"应该会自动勾选,如果没有,则手动勾选上:

  • Symfony2框架创建项目与模板设置实例详解

    本文实例讲述了Symfony2框架创建项目与模板设置的方法.分享给大家供大家参考,具体如下: 环境准备与概览 习惯于在windows使用netbean编辑器并使用virtualbox虚拟centos系统, 预将nginx+php-fpm+mysql,  当然apache也是不错的选择,   使用http://symfony在windows与centos上作为开发域名. 一.下载与环境设置 1. 如何于centos上面建立开发环境不再详述, 当然也可以在windows上面建立开发环境. 2. 关于

  • 详解如何使用IntelliJ IDEA新建一个Servlet项目

    本文介绍了使用IntelliJ IDEA新建一个Servlet项目,一步步很详细,有需要的朋友可以了解一下 创建项目 创建完后的目录结构为: web项目配置 在WEB-INF目录下新建两个文件夹,分别命名未classes和lib(classes目录用于存放编译后的class文件,lib用于存放依赖的jar包) 项目设置:File –> Project Structure-,进入 Project Structure窗口,点击 Modules –> 选中项目"JavaWeb"

  • intellij idea如何将web项目打成war包的实现

    1.点击[File]->[Project Structure]菜单(或使用Shift+Ctrl+Alt+S快捷键),打开[Project Structure]窗口.如下图: 2.在[ProjectStructure]中选择左侧的[Artifacts]页签.如下图: 3.点击中间上面的,选择[WebApplication:Archive]-> [Empty].如下图: 4.点击上图中的①处,选择[Directory Content]菜单.如下图: 5.经过上图的选择,已经将除classess目前

  • 2020最新 idea下载、安装与创建项目测试的教程图解

    一.下载步骤 首先明确自己的操作系统 下载地址:点击跳转 进入界面后我们可以看到有ultimate版本(收费)和community版本(免费),学生开发使用免费的社区版就好了,点击Download按钮,开始下载 二.安装步骤 下载完成后开始安装,点击下载好的安装包 出现安装向导后,点击next 进入下一个界面后,根据自己的需求更改安装地址,默认安装在C盘,我们更改安装到D:/Java/IDEA 根据自己的电脑选择,我的电脑是64位选择64bit,Update PATH variable:是否将I

  • IntelliJ IDEA2020.2.2创建Servlet方法及404问题

    第一次用IntelliJ IDEA写java代码,之前都是用eclipse,但eclipse太老了. 下面为兄弟们奉上IntelliJ IDEA创建Servlet方法,写这个的目的也是因为在网上找了很多资料但都过时了,所以把我走过的坑和弯路直接告诉兄弟们,为大家节省点宝贵的时间. 说一下现在创建Servlet或者是web和之前的主要区别,之前是直接创建,现在是先要创建java项目 然后通过添加支持框架变成Servlet或者web项目 下面这些截图最好都看完,因为有的地方有坑,都在后面的截图里.

  • Spring Boot 教程之创建项目的三种方式

    目录 一.前言 二.Spring Boot 简介 三.如何创建 Spring Boot 项目 在线创建 IntelliJ IDEA 创建 Maven 创建 四.常见项目结构 代码层 资源文件结构 五.@SpringBootApplication 注解分析 相关代码 说明 六.pom.xml 分析 七.总结 一.前言 如果你是一个浸淫 SpringBoot 已久的老手,那么可能下面的内容可能不那么适合你,写得很简单.但如果是 对于一个刚学习 SpringBoot 的新手而言,我想多少还是有些用的.

  • umi插件开发仿dumi项目实现页面布局详解

    目录 实现思路 使用默认项目提供的layout文件 自定义主题 准备工作 主题插件功能 modifyAppData 插件代码 生成layout路由对象 使用同步伪代码来描述上面流程 运行检查 实现思路 上一章我们已经完成/docs目录下文件自动生路由功能,本章我们将在此基础上,实现自动生成页面导航的功能. 使用默认模板提供的layout展示路由切换 使用自定义主题插件 使用默认项目提供的layout文件 在我们创建默认umi项目后,会在/src/layouts下生成一个布局文件: 同时在上一章节

随机推荐