difference between MultiSourceEditor and MultiPageEditorPart - eclipse

I found the source code for the Plugin Manifest Editor, from Eclipse, and noticed that it uses another class as model. The MultiSourceEditor.
In my editor I´m using MultiPageEditorPart. And I need to open 2 source files here with it.
Basically, what are the differences between them? Maybe I should switch to this one?
Thanks a lot.

org.eclipse.pde.internal.ui.editor.MultiSourceEditor is an internal editor used by the Plugin Development Environment. It extends FormEditor which itself is based on MultiPageEditorPart. The editor is just a specialized multi-page editor for PDE.
You must not use any internal classes, they are subject to change without notice - Eclipse API Rules of Engagement. You can, of course, look at the source code to see what it does.

Related

Need brief understanding on how eclipse autocomplete works

Hi I am interested in understanding how eclipse autocomplete works. I want to understand how eclipse distinguishes between local and global variables in a piece of Java code. I would also like to understand how eclipse stores method signatures for an infinite number of classes and how it associates a method to a given class. And is it possible for one person to develop an autocomplete feature for a language like JavaScript.
There is already an AutoComplete feature for Javascript. You just need to let Eclipse install the appropriate extensions.
Eclipse maintains a model of your program, including the project and all the dependencies. It's big, but it's not infinite. When you hit the dot, it figures out based on the variable type what the target type can be, and then displays the relevant methods based on its internal model.
This is easy for Java because you can usually know the static type. Much harder in other languages.
The Eclipse plug-in developer's guide discusses how different things, including the internal model and auto completion works. There are extension points to implement yiur own.

Extend or configure Eclipse compare files functionality

Eclipse has built in functionality for comparing files, but how can I configure that functionality? Say I create a new file type and want an external program do perform the diff. How do I set that up?
Can I create an Eclipse plugin to add my own plugin for handling file comparisons? Or perhaps that is the answer to the first question...
You may want to look at the EMF Compare Project which helps build compare editors for EMF models. If you don't have an EMF model for your file type, you can either create one or look through the source code of EMF Compare to see how it works.
The developer guide explains how to use the code to write your custom viewers.
There is a plugin integrating Beyond Compare into Eclipse. As it is open source, you might get a clue by looking at its sources.

How to extend netbeans javascript editor content assist to view Rhino accessible entities

I have introduced a Rhino-based scripting language. In this language, by its nature of course, it is legal to write something like:
var y = new org.mypackage.JavaClass();
print(y.javaMethodReturnsString());
Which means I'm mixing Java entities and Javascript entites.
I wish to make a netbeans editor plugin for my new language. This editor must feature content assist.
Now, the javascript entites appear in the javascript editor content assist by default.
I guess I can extend the netbeans javascript editor, but how? Which class is it?
Then, how do I extend the content assist scope with the java entities?
Or maybe I should make my own editor and "import" java and javascript content assist behavior? But again, how?
Thank you
EDIT: to have the java entities in the classpath, I followed this blog post :
Java Classes in Code Completion
by the way, this works only if edited document is in a source folder.
Still remains open the question about extending javascript editor. Anyone?
Even if this question was worth the Tumbleweed achievement, I found a solution myself. I've written a netbeans module to handle content assist on Rhino scripts. It's in early development and it's my first netbeans plugin but should be better than nothing.
The plugin can be turned on/off for javascript files and can be class-extended to suit any rhino-interpreted languages, which is the next thing I'm into.
Javascript Rhino context plugin

Add functionality to all Eclipse TextEditors

I need to add some functionality to eclipse text editors. The goal is to get a Graphics Context or add a SWT Canvas to any and all Eclipse AbstractTextEditors and package these modifications within a plug-in (so by installing the plugin I provide, the editor modification will work for the Java Editor, XML Editor, plain text editor, etc.). Are there any extension points that would suffice for this purpose, or is my best bet with a fragment? Any help is appreciated.
I would recommend looking at the source code for AbstractTextEditor to see if an extension point exists for this purpose. If an extension point exists, it will be evident in that class source.
I would wager that such extension point does not exist. You are left with opening an enhancement request and in the meantime patching the plugin containing AbstractTextEditor plugin to alter the source of that file. A fragment isn't going to do the trick. Another alternative to consider is to learn and apply a bytecode weaving framework such as AspectJ (http://eclipse.org/ajdt/).

Eclipse plugins for working with Apache Wicket projects

Are there any widely adopted, currently maintained Eclipse plugins for working with Apache Wicket projects? If so, where are they? Who maintains them? What do they do?
Take a look at Qwickie (eclipse plugin): https://github.com/count-negative/qwickie
The standard used to be wicket bench, but it has been discontinued and you can find a fork named stump.
I don't know stump, but wicket bench mainly had a refactoring listener (if you rename a java class, the HTML is also renamed) and some wizards (create a Panel with associated markup etc).
I haven't used bench in years, as it was rather buggy in newer eclipse versions. But I have made pretty good experiences using a custom set of eclipse HTML templates that you can download from this location: http://www.wicket-praxis.de/blog/wp-content/uploads/2010/01/wicket-template.xml
(German) description on this page: http://www.wicket-praxis.de/blog/download/
You can install these as HTML Code Templates in Eclipse:
Window -> Preferences -> Web -> HTML Files -> Editor -> Templates -> Import...
and that will enable wicket-specific template shortcuts in the HTML editor.
It's too bad you don't use IntelliJ IDEA. It has an excellent plugin called WicketForge.
Not right on the question, but not completely off it, either.
I have released a tool that can be used as an eclipse save action. It generates Java interfaces with constants for ids in wicket templates and resource keys from translation files, so that you don't need to use strings for component ids and translation keys, but can use these generated constants.
It can be integrated in eclipse quite simply as an annotation processor. After a save of a component the interfaces will be generated and built. See its readme:
https://github.com/neurolabs/wicket-id-bindings-generator
I'm maintaining it on github (feel free to fork/contribute) and am using it in all of my wicket projects.