菜单详解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();}