I want do something after my eclipse rcp has fully started up. What would be the best entry point for that (maybe an extension point)?
For my purpose I want to do some changes on an editor and save it after my application has started up.
There is a set of methods in the WorkbenchWindowAdvisor, one of them is 'postStartup()', which may be something you are looking for.
Related
We all know that by default eclipse saves application state in workbench.xmi and then recreates perspective only if this file is absent. However, I've got a project on e4 which ignores this file even though it exists and -clearPersistentState is NOT specified in arguments. I think there should be some piece of code somewhere responsible for this but the project is too big I don't know how to track it down. My goal is to make this app to use workbench.xmi once again to restore perspective.
To investigate why this happens I want to know which eclipse method is responsible for perspective restoration so I could make sure that this project at least launches this method. That's the main question.
The less main and the less clear question is how this default restoration behavior can be avoided? I mean where should I look for the possible source of this problem? Could there be some option in some .xml which makes the project forget about workbench.xmi? Could it be some sort of startup handler which manually restores default perspective? Maybe some hint about which methods are possibly should be involved in this so I could search for them. Any help is appreciated. Thanks in advance.
-UPDATE-
So it turned out that the problem arises because the project UI is defined in fragments rather than in main Application.e4xmi and eclipse has a bug due to which fragments UI merge with main application after previous state restoration thus replacing restored settings with predefined ones. This bug is discussed in this thread.
This useful article describes how one can manually save and load various application components. Another useful source of inspiration is the source code of ResourceHandler itself.
The main E4Application class controls loading and saving the application model.
E4Application calls a class implementing IModelResourceHandler to load and save the model and the persisted state. It is possible for an application to use its own version of IModelResourceHandler but normally the default org.eclipse.e4.ui.internal.workbench.ResourceHandler is used.
ResourceHandler uses the clearPersistedState, persistState and the deprecated deltaRestore options to control loading the persisted state. These values can be set by command line options.
Add apply="initial" to fragment tag in your plugin.xml to restore stored perspective from workbench.xmi
Example:
<fragment
uri="fragment.e4xmi"
apply="initial">
</fragment>
Is there a plugin that lets you manually add files to lists/categories? Something like Mylyn but manual and more files--kind of the way Gmail manages mail--a tagging system.
If I let mylyn manage my windows it actually closes them without any way to shut off (Something I absolutely cannot tolerate, I use my open windows to remind me of what I'm working on--my memory absolutely NEEDS the help)--on top of that it automatically adds files to lists just because that list happens to be open when I start doing something else.
I guess I'm thinking of a plugin that offers a different version of the "Package Explorer", one that is organized by task instead of by package hierarchy, and allows you to move files around at will.
...or is there a way to adapt an existing tool to do this (without actually moving the files around, of course!) Bookmarks don't seem to offer a "Grouping" but using a common first word for the description in my bookmarks may work... Any other ideas?
After messing with it a bit more, it looks like bookmarks might do what I want. It is possible to filter bookmarks by searching the subject string, so as long as I put tags in the subject string I can select a sub-filter and have it bring up all the relevant files for a given task.
I won't accept this for a while in case someone has a better answer (a plugin perhaps?)
I have recently come across the LESS Leaner CSS a template engine for CSS based on ruby. The idea sounded neat, but in practice we need to compile the program to get CSS. This is cumbersome as we make too many changes while working on CSS and for every edit we don't want to compile.
In Eclipse, there are "Save-Actions" but it handles only formatting changes.
Is there a way on saving the file in Eclipse, to call or trigger the compilation?
Its easy to do this in Vi or Emacs.
I think all you need is to define a custom Builder for your project. That way, you can run a program or an ant script whenever certain files change.
Right click on the project -> Properties -> Builders -> New
While the Builders are a good solution, keep in mind they only work when a build is issued - either using auto-build or using a manual build which is invoked, well, manually. If you are looking for something that will operate after a save, regardless of the auto-build state you will need to write a plugin which listens to resource changes in Eclipse.
You do that by creating a workspace change listener and installing it like that:
ResourcesPlugin.getWorkspace().addResourceChangeListener(
..., IResourceChangeEvent.POST_CHANGE);
I'm sure you can take it from here :-)
Some background:
I've created a Swing application which uses the Substance LaF (Thanks again, Kirill!)
Unfortunately Swing creates a panel somewhere outside the EDT thus leading to an exception message from Substance every time I start my application. By itself this exception is great, I already saved me from creating nasty multithread GUI bugs, but I often miss important outputs because the output window is already cluttered when my application does any real work.
The easiest way would be to patch the Substance source for my personal needs, but I'd rather leave it untouched. That's why I want to know...
Is it possible to clear the output window programmatically, either by calling a method from my application or something like a delayed Ant task?
Alternatively, can I temporarily disable any outputs from my application, including exceptions messages?
Here you are trying to tweak the default behavior of the Output Window which is a part of the NetBeans IDE. You will need to use the relevant NetBeans APIs. Please take a look at OutputWriter and OutputEvent
HTH.
I'm asking this in relation to Flex Builder, but it might apply to Eclipse in general.
Trace statements in Flex Builder get sent to an Eclipse Output Console. What is the easiest way to filter this text on the Eclipse side?
Specifically, I'd like to be able to filter (ignore) lines by patterns.
I came across Logback, but it seems like overkill for this scenario. Is there no way to script something like this Eclipse itself?
Nothing specific to FlexBuilder. If you need such a functionality, you'd need to write an Eclipse plug-in.
Take a look at grep-console one to start off.
Also GrepClipse may help. Also available on the Eclipse Martket.
there is also Easy Console Grepper
which opens up own console, easier at first then grep-console I think. Just define what You searching and it will show after console execution lines with searched expression.
Please use Easy Console Grepper Eclipse Plugin as this is much easier and more intuitive than grep-console.