在开发过程中,一般会遇到些了一个函数想测试一下。最简单的办法就是在代码中直接增加一个main函数然后来运行一下。但是,手写是不是很麻烦?
还是开发一个插件吧,插件不做别的,就专门在当前代码中申城一个main函数。【如果已经存在一个main函数了则不再生成】
这里有一个介绍插件开发的。介绍的比较详细。
根据这里的来做,可以大概的给一种资源,比如说文件夹、文件等添加右键菜单。
【我要开发的插件就是添加一个右键菜单然后给代码增加一个main函数,但是不是像链接中那样,需要在package explorer中右键文件。而是在代码editor中右键添加】
步骤可以完全按照上面的链接。需要改动一个地方:就是在输入objectClass的时候,需要使用org.eclipse.core.runtime.IAdaptable。
按照链接中的所有步骤做完之后,需要在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文件中右键单击,即可看到:
点击了Add function main只会,main函数的代码就在剪贴板上了,即可粘贴到代码里啦!
---------------------------------------------------------------------
状态栏也会提示:
------------------------------------------------------------------------------
eclipse的插件项目在导出的时候,可以按照如下的步骤进行导出:链接在这里
-------------------------------------------------
插件下载地址:http://download.csdn.net/detail/imzoer/4968738