net.sf.yari.eclipse.EclipseInspectorViewPart

Through the outline of EclipseInspectorViewPart, we can get known how the above "Eclipse Inspector" view is created and what is happening when clicking some buttons or view opening or refreshing or setting memento, etc.

plugin.xml

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
<!-- expose this extension to outside -->
<extension-point id="net.sf.yari.eclipse" name="inspection" schema="schema/net.sf.yari.eclipse.exsd"/>
<extension point="org.eclipse.ui.views">
<view
category="net.sf.yari.category"
class="net.sf.yari.eclipse.EclipseInspectorViewPart" <!--Create a view and content inside of view-->
icon="icons/16x16/dialog-information.png"
id="net.sf.yari.eclipseInspectorView"
name="Eclipse Inspector">
</view>
</extension>
<extension point="org.eclipse.ui.commands">
<command
defaultHandler="net.sf.yari.eclipse.handler.EvaluateExpressionHandler" <!--command handler-->
description="opens a dialog where eclipse expressions can be validated"
id="net.sf.yari.openExpressionEvalutatorCommand"
name="Open Expression Evaluator"><!--MainMenu/YARI/Open Expression Evaluator-->
</command>
<command
defaultHandler="net.sf.yari.ui.internal.handler.OpenViewHandler"<!--command handler-->
description="opens a dialog which contains all available views"
id="net.sf.yari.eclipse.openViewList"
name="Open ViewSelection dialog"> <!--MainMenu/YARI/Open ViewSelection dialog-->
</command>
</extension>
<extension point="org.eclipse.ui.menus">
<menuContribution
locationURI="menu:yari?before=eclipse">
<command
commandId="net.sf.yari.openExpressionEvalutatorCommand"
id="net.sf.yari.menuContribution.expressionEvalutator"
style="push"
tooltip="Open a dialog where eclipse expressions can be evaluated">
</command>
<command
commandId="net.sf.yari.eclipse.openViewList"
id="net.sf.yari.menuContribution.openViewList"
style="push"
tooltip="Opens a dialog which contains all available views">
</command>
</menuContribution>
</extension>
<extension point="net.sf.yari.eclipse"> <!--extension itself point which just is exposed-->
<eclipseInspection lookupClass="net.sf.yari.eclipse.internal.ContributionLookup">
</eclipseInspection> <!--set property of EclipseInspection interface by create a new object of ContributionLookup-->
<eclipseInspection lookupClass="net.sf.yari.eclipse.internal.MenuEntriesLookup">
</eclipseInspection>
<eclipseInspection lookupClass="net.sf.yari.eclipse.internal.WorkbenchLookup">
</eclipseInspection>
<eclipseInspection lookupClass="net.sf.yari.eclipse.internal.BundlesLookup">
</eclipseInspection>
<eclipseInspection lookupClass="net.sf.yari.eclipse.internal.JavaStuffLookup">
</eclipseInspection>
</extension> </plugin>

schema/net.sf.yari.eclipse.exsd

<?xml version='1.0' encoding='UTF-8'?>
<!-- Schema file written by PDE -->
<schema targetNamespace="net.sf.yari.eclipse" xmlns="http://www.w3.org/2001/XMLSchema">
<annotation>
<appInfo>
<meta.schema plugin="net.sf.yari.eclipse" id="net.sf.yari.eclipse" name="inspection"/>
</appInfo>
<documentation>
[Enter description of this extension point.]
</documentation>
</annotation>
<element name="extension">
<annotation>
<appInfo>
<meta.element />
</appInfo>
</annotation>
<complexType>
<choice>
<element ref="eclipseInspection" minOccurs="1" maxOccurs="unbounded"/>
</choice>
<attribute name="point" type="string" use="required">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="id" type="string">
<annotation>
<documentation>
</documentation>
</annotation>
</attribute>
<attribute name="name" type="string">
<annotation>
<documentation>
</documentation>
<appInfo>
<meta.attribute translatable="true"/>
</appInfo>
</annotation>
</attribute>
</complexType>
</element>
<element name="eclipseInspection">
<annotation>
<documentation>
hook for inspecting eclipse stuff
</documentation>
</annotation>
<complexType>
<attribute name="lookupClass" type="string" use="required"> <!--lookupClass property to look up all related class-->
<annotation>
<documentation>
</documentation>
<appInfo>
<meta.attribute kind="java" basedOn=":net.sf.yari.eclipse.IEclipseInspection"/>
</appInfo>
</annotation>
</attribute>
</complexType>
</element>
<annotation>
<appInfo>
<meta.section type="since"/>
</appInfo>
<documentation>
[Enter the first release in which this extension point appears.]
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="examples"/>
</appInfo>
<documentation>
[Enter extension point usage example here.]
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="apiinfo"/>
</appInfo>
<documentation>
[Enter API information here.]
</documentation>
</annotation>
<annotation>
<appInfo>
<meta.section type="implementation"/>
</appInfo>
<documentation>
[Enter information about supplied implementation of this extension point.]
</documentation>
</annotation>
</schema>

Eclipse One Inspector的更多相关文章

  1. 使用Eclipse Memory Analyzer Tool(MAT)分析线上故障(一) - 视图&功能篇

    Eclipse Memory Analyzer Tool(MAT)相关文章目录: 使用Eclipse Memory Analyzer Tool(MAT)分析线上故障(一) - 视图&功能篇 使 ...

  2. Sencha EXTJS6的 Eclipse 插件安装指南

    Sencha EXTJS的 Eclipse 插件安装指南 (翻译:苏生米沿) 本文地址:http://blog.csdn.net/sushengmiyan/article/details/52566 ...

  3. Eclipse MAT 安装及使用

    Eclipse MAT官方网页:https://www.eclipse.org/mat/downloads.php 一.MAT是什么? MAT(Memory Analyzer Tool),一个基于Ec ...

  4. 转:Eclipse Memory Analyzer入门学习笔记

    原文地址:https://blog.csdn.net/cc907566076/article/details/79108782 Eclipse Memory Analyzer是一个快速而功能丰富的Ja ...

  5. Eclipse MAT内存分析工具(Memory Analyzer Tool)

    MAT内存分析工具 MAT是Memory Analyzer的简称,它是一款功能强大的Java堆内存分析器.可以用于查找内存泄露以及查看内存消耗情况.MAT是基于Eclipse开发的,是一款免费的性能分 ...

  6. Eclipse Configuration

    *** Date: 2013年9月12日星期四中国标准时间上午8时41分50秒 *** Platform Details: *** System properties:applicationXMI=o ...

  7. (译)关于使用Eclipse Memory Analyzer的10点小技巧

    作者 Rave_Tian 2016.02.01 17:56* 字数 2988 阅读 520评论 0喜欢 0 分析和理解应用的内存使用情况是开发过程中一项不小的挑战.一个微小的逻辑错误可能会导致监听器没 ...

  8. 【转】Eclipse MAT内存分析工具(Memory Analyzer Tool)

    Eclipse MAT内存分析工具(Memory Analyzer Tool) MAT内存分析工具# MAT是Memory Analyzer的简称,它是一款功能强大的Java堆内存分析器.可以用于查找 ...

  9. 使用Eclipse Memory Analyzer Tool(MAT)分析故障

    Eclipse Memory Analyzer Tool(MAT)是一个强大的基于Eclipse的内存分析工具,可以帮助我们找到内存泄露,减少内存消耗. 工作中经常会遇到一些内存溢出.内存泄露等问题, ...

随机推荐

  1. JS 节点的属性 与 元素

    节点的属性{     nodeType 是节点的类型:     nodeNam 是节点的名字     nodeValue 节点的值 }可以用节点.属性 取得三个属性的值 节点.nodeType 出来的 ...

  2. scp命令限速远程拷贝

    示例: 限速40M拷贝 scp -rl 358400 expdp_all_3schema_20180427* 172.16.16.36:/data/dmpold/

  3. 记一个SpringBoot中属性注入失败的问题Consider defining a bean of type ''' in your configuration

    今天遇到的一个问题: 代码检查了好几次,都没有错误,但是启动时就会报错Consider defining a bean of type ''' in your configuration. 启动类在c ...

  4. C++_友元3-其他友元关系

    友元和类的关系还可以更复杂. 举个例子,假设出现了交互式遥控器,交互式遥控器能够让您回答电视节目中的问题,如果回答错误,电视将在控制器上产生嗡嗡声. 这个例子的问题,可以使用新的友元关系来解决.我把它 ...

  5. JavaScript笔记Array.filter(Boolean)

    ECMAScirpt5 中 Array 类中的 filter 方法使用目的是移除所有的 ”false“ 类型元素  (false, null, undefined, 0, NaN or an empt ...

  6. 【AC自动机】【树状数组】【dfs序】洛谷 P2414 [NOI2011]阿狸的打字机 题解

        这一题是对AC自动机的充分理解和树dfs序的巧妙运用. 题目背景 阿狸喜欢收藏各种稀奇古怪的东西,最近他淘到一台老式的打字机. 题目描述 打字机上只有28个按键,分别印有26个小写英文字母和' ...

  7. P4890 Never·island

    传送门 考虑把总区间长度减去最多能减少的区间长度 把所有区间离散化,对每一小段计算贡献 分类讨论一波,对于边界 $i,i+1$ ,设它们之间距离 $d$,$i$ 属于 $x$ 考察队的边界,$i+1$ ...

  8. 事件获取目标 currentTarget target srcElement 三者之间的区别和联系

    currentTarget   指的是触发事件的当前对象,可以是冒泡和捕获的对象,不一定是点击或者鼠标移入等事件的直接触发对象.可以是他的父元素等. target 指的是事件触发的直接对象.IE有兼容 ...

  9. Http多线程下载文件

    package unit; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.FileOutputSt ...

  10. [转] JAVA从本机获取IP地址

    [From] https://www.cnblogs.com/xiaoBlog2016/p/7076230.html 论述: 此篇博客是在工作的时候,需要获得当前网络下面正确的ip地址,在网上查阅很多 ...