当前位置: 首页 > news >正文

Eclipse 插件开发 6 右键菜单

Eclipse 插件开发 6 右键菜单

  • 1 plugin.xml
  • 2 SampleHandler.java
  • 3 Activator.java

1 plugin.xml

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin><!-- 定义命令 --><extension point="org.eclipse.ui.commands"><command id="HelloWorldPlugin.commands.helloCommand" name="测试"></command></extension><!-- 定义右键菜单 --><extension point="org.eclipse.ui.menus"><menuContribution locationURI="popup:org.eclipse.ui.popup.any"><command commandId="HelloWorldPlugin.commands.helloCommand" label="测试" style="push"></command></menuContribution></extension><!-- 定义命令处理器 --><extension point="org.eclipse.ui.handlers"><handler class="com.xu.work04.handlers.SampleHandler" commandId="HelloWorldPlugin.commands.helloCommand"></handler></extension></plugin>

2 SampleHandler.java

package com.xu.work04.handlers;import org.eclipse.core.commands.AbstractHandler;
import org.eclipse.core.commands.ExecutionEvent;
import org.eclipse.core.commands.ExecutionException;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.handlers.HandlerUtil;
import org.eclipse.jface.dialogs.MessageDialog;public class SampleHandler extends AbstractHandler {@Overridepublic Object execute(ExecutionEvent event) throws ExecutionException {IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);MessageDialog.openInformation( window.getShell(), "Work04", "右击菜单弹出框!");return null;}}

3 Activator.java

package com.xu.work04;import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;/*** The activator class controls the plug-in life cycle*/
public class Activator extends AbstractUIPlugin {// The plug-in IDpublic static final String PLUGIN_ID = "com.xu.work04"; //$NON-NLS-1$// The shared instanceprivate static Activator plugin;/*** The constructor*/public Activator() {}@Overridepublic void start(BundleContext context) throws Exception {super.start(context);plugin = this;}@Overridepublic void stop(BundleContext context) throws Exception {plugin = null;super.stop(context);}/*** Returns the shared instance** @return the shared instance*/public static Activator getDefault() {return plugin;}}

在这里插入图片描述
在这里插入图片描述

相关文章:

  • Web自动化测试入门详解
  • 街景主观感知全流程(自建数据集+两两对比程序+Trueskill计算评分代码+训练模型+大规模预测)27
  • 使用谱聚类将相似度矩阵分为2类
  • OpenAI的商业化之路:从非营利到盈利的转型
  • 【金仓数据库征文】金仓数据库KingbaseES: 技术优势与实践指南(包含安装)
  • 蓝牙SDP协议概述
  • 5.8线性动态规划2
  • gitkraken 使用教程
  • JS逆向-7881游戏平台Lb-Sign参数和Lb-Timestamp参数
  • 【SpringBoot】从环境准备到创建SpringBoot项目的全面解析.
  • 数据集-目标检测系列- 烟雾 检测数据集 smoke >> DataBall
  • 基础语法(二)
  • 视觉-语言基础模型作为高效的机器人模仿学习范式
  • Ubuntu 22.04(WSL2)使用 Docker 安装 Zipkin 和 Skywalking
  • 2025年“深圳杯”数学建模挑战赛C题国奖大佬万字思路助攻
  • Windows CMD通过adb检查触摸屏Linux驱动是否被编译
  • 【BYD_DM-i技术解析】
  • 浅谈装饰模式
  • 2025年全新 GPT 4.5 AI 大模型 国内免费调用
  • 阿里云CDN的源站配置:权重的详解
  • 多省市已开展现房销售试点,去年全国现房销售面积占比超30%
  • 巴基斯坦称未违反停火协议
  • 5天完成1000多万元交易额,“一张手机膜”畅销海内外的启示
  • 101条关于减重的知识,其中一定有你不知道的
  • 绍兴柯桥:用一块布托起中国制造的新经纬
  • 澎湃研究所“营商环境研究伙伴计划”启动