MyEclipse插件开发-在当前代码中增加main函数的插件

在开发过程中,一般会遇到些了一个函数想测试一下。最简单的办法就是在代码中直接增加一个main函数然后来运行一下。但是,手写是不是很麻烦?

还是开发一个插件吧,插件不做别的,就专门在当前代码中申城一个main函数。【如果已经存在一个main函数了则不再生成】

这里有一个介绍插件开发的。介绍的比较详细。

根据这里的来做,可以大概的给一种资源,比如说文件夹、文件等添加右键菜单。

【我要开发的插件就是添加一个右键菜单然后给代码增加一个main函数,但是不是像链接中那样,需要在package explorer中右键文件。而是在代码editor中右键添加】

步骤可以完全按照上面的链接。需要改动一个地方:就是在输入objectClass的时候,需要使用org.eclipse.core.runtime.IAdaptable。

MyEclipse插件开发-在当前代码中增加main函数的插件_第1张图片

按照链接中的所有步骤做完之后,需要在action类中添加我们的功能代码:具体写在run方法中。

整个action的代码如下:

packagecc.popup.actions;

import java.awt.Toolkit;
import java.awt.datatransfer.Clipboard;
import java.awt.datatransfer.StringSelection;
import java.awt.datatransfer.Transferable;

import org.eclipse.jface.action.IAction;
import org.eclipse.jface.action.IStatusLineManager;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IActionBars;
import org.eclipse.ui.IActionDelegate;
import org.eclipse.ui.IObjectActionDelegate;
import org.eclipse.ui.IWorkbenchPart;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.internal.WorkbenchWindow;

/**
 *
 * @author naughty
 *
 */
public class NewAction implements IObjectActionDelegate {

 private Shell shell;

 /**
  * Constructor for Action1.
  */
 public NewAction() {
  super();
 }

 /**
  * @see IObjectActionDelegate#setActivePart(IAction, IWorkbenchPart)
  */
 public void setActivePart(IAction action, IWorkbenchPart targetPart) {
  shell = targetPart.getSite().getShell();
 }

 /**
  * @see IActionDelegate#run(IAction)
  */
 public void run(IAction action) {
  // MessageDialog.openInformation(shell, "Cc",
  // "New Action was executed.");
  try {
   Clipboard clip = Toolkit.getDefaultToolkit().getSystemClipboard();
   setClipboardText(
           clip,
           "public static void main(String[] args) {\n\t\t// TODO todo.generated by zoer\n\t}");
   WorkbenchWindow workbenchWindow = (WorkbenchWindow) PlatformUI
           .getWorkbench().getActiveWorkbenchWindow();
   IActionBars bars = workbenchWindow.getActionBars();
   IStatusLineManager statusLineManager = bars.getStatusLineManager();
   statusLineManager
           .setErrorMessage("main function has been appended to your clipboard! paste it where you like!");

  } catch (Exception e) {
   e.printStackTrace();
  }
 }

 private void setClipboardText(Clipboard clip, String writeMe) {
  Transferable tText = new StringSelection(writeMe);
  clip.setContents(tText, null);
 }

 /**
  * @see IActionDelegate#selectionChanged(IAction, ISelection)
  */
 public void selectionChanged(IAction action, ISelection selection) {

 }

}

其中run函数中,调用系统的剪贴板将main函数的代码写到剪贴板上即可。

------------------------------------------------------------------------

使用此插件的方法:

将cc.jar拷贝到plugin目录下重启eclispe即可。

在java文件中右键单击,即可看到:

MyEclipse插件开发-在当前代码中增加main函数的插件_第2张图片

点击了Add function main只会,main函数的代码就在剪贴板上了,即可粘贴到代码里啦!

---------------------------------------------------------------------

状态栏也会提示:

------------------------------------------------------------------------------

eclipse的插件项目在导出的时候,可以按照如下的步骤进行导出:链接在这里

-------------------------------------------------

插件下载地址:http://download.csdn.net/detail/imzoer/4968738

你可能感兴趣的:(MyEclipse插件开发-在当前代码中增加main函数的插件)