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. 5A - Matrix

    #include <iostream> using namespace std; int n, m, q; struct node { int v; // 节点权值 int r; // 右 ...

  2. Qt 学习之路 2(61):使用 SAX 处理 XML

    Qt 学习之路 2(61):使用 SAX 处理 XML  豆子  2013年8月13日  Qt 学习之路 2  没有评论 前面两章我们介绍了使用流和 DOM 的方式处理 XML 的相关内容,本章将介绍 ...

  3. MacOs桌面自动被打乱的原因

    1 系统设置--Mission Control -- 自动根据最近使用情况排序的勾勾去掉

  4. mac 添加环境变量

    1.Mac系统的环境变量,加载顺序为: a. /etc/profile b. /etc/paths c. ~/.bash_profile d. ~/.bash_login e. ~/.profile ...

  5. LeetCode记录之35——Search Insert Position

    这道题难度较低,没有必要作说明. Given a sorted array and a target value, return the index if the target is found. I ...

  6. 链表 206 Reverse Linked List, 92,86, 328, 2, 445

    表不支持随机查找,通常是使用next指针进行操作. 206. 反转链表 /** * Definition for singly-linked list. * struct ListNode { * i ...

  7. Codeforces - 617E 年轻人的第一道莫队·改

    题意:给出\(n,m,k,a[1...n]\),对于每次询问,求\([l,r]\)中\(a[i] \ xor \ a[i+1] \ xor \ ...a[j],l<=i<=j<=r\ ...

  8. 什么是RFID? 射频识别技术的特点及工作原理!

    RFID即Radio Frequency Identifcation,就是射频识别技术,这篇给大家讲述的就是这个射频识别技术.这里就涉及到射频,电磁学等等知识.看完这篇,你应该会对这些知识有些了解,大 ...

  9. git push的一些坑

    在安装git的时候我们一般会自己设置一个用户名和邮箱,这个一般设置为全局的用户名,如下所示 git config --global user.name "xxx" git conf ...

  10. Kafka消费不到数据的特殊情况

    我大约是把kafka消费不到数据的特殊情况都经历了一遍了吧= =. kafka消费不到数据的原因,首先检查配置之类的,如是否设置了group.id,对应的topic是否正确等等,这些不多说. 下面是我 ...