`
redheart_2006
  • 浏览: 22486 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类

eclipse 插件开发基本操作

阅读更多

菜单详解http://www.itpub.net/showthread.php?threadid=1226436

1.给edit里写东西
 public void run(IAction action) {
  IEditorReference[] editors = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getEditorReferences();
  int length = editors.length;
  TextFileDocumentProvider tfdp = null;
  FileEditorInput input = null;
  System.out.println("editos amount is -->"+length);
  for (int i = 0; i < length; ++i){
    IEditorPart editor = editors[i].getEditor(false);
   input = (FileEditorInput)editor.getEditorInput();
    tfdp = ((TextFileDocumentProvider)((ITextEditor)editor).getDocumentProvider());//.connectToXCDE(input);
    MessageDialog.openInformation(shell, "Ex", "Test Action was executed.");
    String path = input.getFile().getFullPath().toString();
    System.out.println("path--------------------->"+path);
    IDocument document = tfdp.getDocument(input);
    try {
     document.replace(2, 6, "zouweizouwei");
    
    } catch (BadLocationException e) {
     e.printStackTrace();
    }
  }
  
 }
2.视图(view)里打开东西
  2.1 打开本地的文件,参考了挂eclipse线程的机制
 private static void openlocalFiles(IWorkbenchPage page,String filterPath) {
 
    IFileStore fileStore =  EFS.getLocalFileSystem().getStore(new Path(filterPath));
    System.out.println("fileStore.getName()===>"+fileStore.getName());
   // fileStore =  fileStore.getChild(names[i]);
    IFileInfo fetchInfo = fileStore.fetchInfo();
    if (!fetchInfo.isDirectory() && fetchInfo.exists()) {
     //IWorkbenchPage page =  window.getActivePage();
     try {
      IDE.openEditorOnFileStore(page, fileStore);
     } catch (PartInitException e) {
      String msg =  NLS.bind(IDEWorkbenchMessages.OpenLocalFileAction_message_errorOnOpen, fileStore.getName());
      IDEWorkbenchPlugin.log(msg,e.getStatus());
      MessageDialog.open(MessageDialog.ERROR,new Shell(), IDEWorkbenchMessages.OpenLocalFileAction_title, msg, SWT.SHEET);
     }
    }
  }
  2.2 打开工作视图中的文件
       IDE.openEditor(page, file);

JD-Eclipse 很好的反编译plugins

一类,已在哪些地方引用? 
ctrl+Shift+g
 
2010.1.14
eclipse 规定display 与其上的控件必需在一个thread上,所以用display.asyncExec(eclipse插件开发笔记 wizards)
如果不同编辑器对应的模型实在是整不一起去还可以用适配器,当模型变化时,编辑器肯定会收到通知,这样就更新编辑器了
2010.1.15
想出一个很好的方法去查看eclipse 的相关功能点:alt+shilf+F1,alt+shilf+F2设断点,然后调试。
newWizard加入一些文件和jar到classpath里已解决。
GMF的一个操作视频
关键字: gmf demo video 视频
视频地址:
http://www.eclipse.org/gmf/tutorial/viewlets/tutorial.html


GMF的mindMap、TaiPan等demo的CVS下载地址:
:pserver:anonymous@dev.eclipse.org:/cvsroot/modeling


-------------------------------------
将应用默认使用XP风格
文章分类:Java编程 关键字: 将应用默认使用xp风格
http://www.eclipse.org/swt/javaw.exe.manifest这个链接上下载javaw.exe.manifest文件,放在jre下的bin目录里面就OK了
http://msdn.microsoft.com/en-us/library/ms997646.aspx这里有解释 

OverrideMethodsAction
刷新文件
IResource res = ResourcesPlugin.getWorkspace().getRoot();
   try {
    res.refreshLocal(IResource.DEPTH_INFINITE, null);
   } catch (CoreException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }

2010.02.02
eclipse 取图片的几种方法.
1.直接在xml里配
2.Activor里有getImageDescriptor(String path);更好的是通过其写一个缓冲类。
3. URL url = FileLocator.find(Platform.getBundle("org.zte.conn"),
    new Path(path), null);
  ImageDescriptor contributedImageDescriptor=  ImageDescriptor.createFromURL(url);


IFile eclipseFile = ResourcesPlugin.getWorkspace().getRoot().getProject("project").getFile(new Path("folder/file.txt"));
   IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();

图片在树里要从小到大,不然会很不好看,会接伸

new Image(Display.getCurrent(), getClass().getResourceAsStream("/org/zw/bpel/image/remove.gif"))

 

2010.03.10

 

public Object execute(ExecutionEvent event) throws ExecutionException {
IStructuredSelection selection = (IStructuredSelection) HandlerUtil
.getActiveMenuSelection(event);
HandlerUtil.getActiveShell(event)

IStructuredSelection selection = (IStructuredSelection) HandlerUtil
.getActiveSite(event).getSelectionProvider().getSelection();
   IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();

IPreferenceStore store = ClassFTPPlugin.getDefault().getPreferenceStore();

 IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);

 Object active_part = HandlerUtil.getActivePart(event);
   Object editor = HandlerUtil.getActiveEditor(event);

 

IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindowChecked(event);
  
      Object active_part = HandlerUtil.getActivePart(event);
   Object editor = HandlerUtil.getActiveEditor(event);
   
   // Check to see if the command was fired from the Editor..
   if(active_part == editor)
   {
    Object obj = HandlerUtil.getActiveEditor(event).getEditorInput();
    if(obj instanceof IFileEditorInput)
    {
     IFileEditorInput f = (IFileEditorInput) obj;
     IFile file= f.getFile();
     System.out.println(file.getProjectRelativePath());
     IFile[] files = new IFile[]{file};

得到eclipse的版本号

EclipseVersionRetriever.getMajorVersionNumber() >= 3

ve里边很好的dialog

IStructuredSelection selection = (IStructuredSelection) HandlerUtil
  .getActiveSite(event).getSelectionProvider().getSelection();
   Object obj =   selection.getFirstElement();
   if(obj instanceof IProject){
  ImageDialog image = new ImageDialog(window.getShell(),(IProject)obj);
  image.open();}

分享到:
评论

相关推荐

    Eclipse插件开发学习笔记.pdf

    Eclipse插件开发学习笔记将带领我们深入了解Eclipse插件开发的方方面面。 首先,我们需要了解Eclipse插件的基础概念。在Eclipse中,插件主要由一系列的扩展点(Extension Points)组成,这些扩展点定义了插件可以...

    Eclipse插件开发学习笔记全篇+源码.rar

    在这一篇中,你将学习到Eclipse插件开发的基础知识,包括: 1. 插件体系结构:理解Eclipse的插件模型,如何通过插件来构建可扩展的应用。 2. OSGi框架:Eclipse基于OSGi运行,了解OSGi的概念和它在插件中的作用。 3....

    Eclipse插件开发(第3版 - 高清).pdf.zip

    《Eclipse插件开发(第3版 - 高清)》是...通过阅读《Eclipse插件开发(第3版 - 高清)》,开发者不仅可以掌握Eclipse插件开发的基本技能,还能了解到如何构建高效、可扩展的插件系统,从而提升软件开发的效率和质量。

    eclipse插件开发PDF

    首先,Eclipse是一个用Java编写的开源集成开发环境(IDE),而Eclipse插件开发是指通过编写插件来扩展Eclipse的功能,实现从一个基本的代码编辑器到可以支持多种语言和框架的开发平台。Eclipse插件架构允许开发者...

    Eclipse插件开发 第1篇到第4篇 开发基础 核心技术 高级进阶 综合实例 eclipse 插件安装方法.zip

    在《Eclipse插件开发 学习笔记 第3篇 高级进阶》中,开发者将会学习到更多高级主题,比如命令框架(Command Framework)、透视图(Perspectives)、视图(Views)、编辑器(Editors)和操作(Actions)。这些是构建...

    Eclipse插件开发教程PPT Eclipse插件开发教程PPT

    Eclipse插件开发教程PPT是针对开发者设计的一份详细教学材料,旨在帮助他们了解并掌握如何利用Eclipse平台进行插件开发,从而定制自己的开发环境。以下是基于这个教程的几个关键知识点: 1. **Eclipse插件体系结构*...

    Eclipse插件开发方法与实战 2006 pdf 464页

    此书可能涵盖了Eclipse插件开发的各个方面,包括基本概念、开发流程、实战演练等。它不仅为初学者提供了入门知识,还为有经验的开发者提供了深入的实践案例。通过系统学习,开发者可以全面掌握Eclipse插件开发的方法...

    Eclipse插件开发文档

    2. "Eclipse插件开发系列.pdf":可能是一个系列教程,涵盖从基础到高级的插件开发技巧。 3. "Eclipse入门--Eclipse的使用简介及插件开发.pdf":适合初学者,介绍Eclipse基本操作和初步的插件开发概念。 4. "Eclipse-...

    Eclipse插件开发系列

    Eclipse插件开发系列主要涉及的是如何利用Eclipse平台进行扩展和定制,使其满足特定的开发需求。Eclipse作为一个开放源代码的集成开发环境(IDE),具有强大的可扩展性,其核心架构支持通过插件机制来增加新功能或...

    Eclipse插件开发 第1篇到第4篇 开发基础 核心技术 高级进阶 综合实例 eclipse 插件安装方法

    4. **透视图(Perspectives)、视图(Views)、编辑器(Editors)和操作(Actions)**:这些是Eclipse插件开发中的基本元素,它们构成了用户界面的主要部分。学习如何创建和定制这些组件以提供特定功能。 5. **调试...

    ECLIPSE插件开发 原书第3版.part1

    《Eclipse插件开发(原书第3版)(畅销插件开发指南新版)》既包含了开发Eclipse插件的基础理论,也涵盖了大量关于Eclipse插件开发的细节。 《Eclipse插件开发(原书第3版)(畅销插件开发指南新版)》不仅适用于Eclipse插件...

    Eclipse插件开发笔记—PDF—带目录

    《Eclipse插件开发》由浅入深、有重点、有针对性地介绍了Eclipse插件开发技术,全书分为4篇共24章。第一篇介绍Eclipse平台界面开发的基础知识,包括SWT控件的使用、界面布局、事件处理等内容;第二篇是插件开发核心...

    神州数码 Eclipse插件开发面试

    Eclipse是一款广泛使用的开源集成开发环境(IDE),尤其在Java开发者中非常流行...以上就是Eclipse插件开发的基本知识要点。在神州数码的面试中,展示你对这些概念的理解和实际操作能力,将有助于你在竞争中脱颖而出。

    Eclipse 插件开发指南

    总之,Eclipse插件开发是一个充满挑战和机遇的领域,掌握了其核心原理和技术要点后,开发者可以为Eclipse添加无限可能,满足各种开发需求。无论是初学者还是经验丰富的开发者,都能在Eclipse插件开发中找到乐趣和...

    ECLIPSE插件开发 原书第3版.part4 克莱伯格(Eric Clayberg)

    《Eclipse插件开发(原书第3版)(畅销插件开发指南新版)》既包含了开发Eclipse插件的基础理论,也涵盖了大量关于Eclipse插件开发的细节。 《Eclipse插件开发(原书第3版)(畅销插件开发指南新版)》不仅适用于Eclipse插件...

    Eclipse插件开发

    它对Eclipse插件开发进行了全程详细指导,内容不仅包括Eclipse使用入门、Eclipse基础结构、SWT、JFace、操作、视图、透视图、标记、性质、构建器等插件开发必备知识,还介绍了实现帮助系统、国际化、创建扩展点、...

    eclipse插件开发ppt

    【Eclipse插件开发】是IT领域中针对Eclipse集成开发环境进行功能扩展的一种技术。Eclipse是一个开放源代码的、基于Java的可扩展开发平台,它的核心是插件,而插件是Eclipse功能实现的基本单位。通过开发Eclipse插件...

    eclipse插件开发demo源码

    这个"eclipse插件开发demo源码"提供了一个入门级别的示例,帮助开发者理解并掌握如何构建自定义的Eclipse插件。 首先,Eclipse插件是基于OSGi(Open Service Gateway Initiative)框架的,它允许模块化开发,并且在...

Global site tag (gtag.js) - Google Analytics