Is there an easy way to get a list of the plugins from an old version of Eclipse into the latest version. I have my current version with all the plugins I want. Now I want to upgrade to the nice shiny and new version but I need to make sure all my current list of plugins work. I would prefer to have to hunt and peck to install plugins in the latest version. I would think there would be a file in the old installation I could just copy into the new installation and tell eclipse install all these plugins if compatible.
Generally the simplest way to get the correct plugins is to use the Eclipse tools to get the plugins from their update sites. This ensures you have the correct / latest version that works with the version of Eclipse you are now using.
You can get the list of updates sites used from the old Eclipse by selecting Windows / Preferences / "Install/Update" / Available Software Sites. Select the update sites you want to keep, then click Export... You can then import them into the new Eclipse. Just beware update sites that are Eclipse version specific!
WindowBuilder is composed of SWT Designer and Swing Designer and makes it very easy to create Java GUI applications without spending a lot of time writing code. Use the WYSIWYG visual designer and layout tools to create simple forms to complex windows; the Java code will be generated for you. Easily add controls using drag-and-drop, add event handlers to your controls, change various properties of controls using a property editor, internationalize your app and much more.
WindowBuilder is built as a plug-in to Eclipse and the various Eclipse-based IDEs (RAD, RSA, MyEclipse, JBuilder, etc.). The plug-in builds an abstract syntax tree (AST) to navigate the source code and uses GEF to display and manage the visual presentation.
I think I am in minor part of ABAP developers, who first had to switch from eclipse to SE80 and not the other way round. When I started my adventure with ABAP, I was already used to eclipse so naturally from java development that I was shocked with SE80 tool. It was so difficult to use class builder, search for any object or be limited by few dialog sessions only. In this blog I try to recall what I missed so much in SE80 and why I moved back again to eclipse quickly after it has been released for ABAP development.
This is argument used by SAP when they recommend to use eclipse. I totally agree with this statement. Wizzard and dialogs that help to build class and methods are useful for beginners as they clearly point what to fill and where. However for developer who works with code daily, learning syntax is not a big deal and handling code as text only is much faster. I will bet that writing example calculator class with 4 basic arithmetic operations will be done faster in eclipse than in SE80 dialogs.
That is big advantage. You can cache your development locally and synchronize it when there is connection to server. Just be careful with data synchronization, to update right version and not loose your development. Also switching between read/edit mode does not require special button. Just start typing and editor will lock file for you automatically.
In fact at the moment it is limited offline mode but still - current changes will not be lost when network goes down. I can still read all loaded files and modify those in which I started to type in before network was disconnected.
That was a nightmare in SE80 for me. How can it be, that only 6 objects can be opened for edition at the same time? And if we run program and have single debugger session opened, 2 slots are already taken so we are left with 4 objects opened. Of course it is possible to do development, but I remember how often I had to close one place to jump into another, then I had to close it again and find original place. In eclipse there are convenient tabs that allows to open as many source objects as we want. We can also save context of opened elements, but I describe it later in point 9.
That is extremely useful and important for me. I like to have control over things that I see. With eclipse flexible windows positioning I can easily set up main source editor in the center, supported by second dialog which show me another source code that I am updating (test class for example) and having third window with preview on database table to see possible input/output values. No need to jump between different windows as in case of SAP GUI, everything is in one place, customized for own needs. Why not to use full screen of wide monitor when it is possible?
With eclipse you can press CTRL + SHIFT + A and type letters combination for any object that you want, including wildcards (like zcl*adam*). I do not care if this is class, function module or database table - everything is accessed through one shortcut. And how fast it works, certainly much better than searching for anything in SE80.
Also when you are in the class, just press CTRL + O and start type any method/attribute name like mt_* to see all member tables etc. See how fast and easy it is.
SE80 has some basic refactoring options like changing name of objects or inserting pattern. That is nice. However eclipse offers much more. In current version that I have, I can:
- rename variables that are not used outside class;
- remove unused variables from part or whole class;
- use code templates shown in code completion that can be easily extended in eclipse settings;
- extract methods automatically;
Eclipse allows user to create new methods extremely fast. It is enough to declare input and output variables that we want to have and write new method call like it would exist. Then press CTRL + 1, ENTER, confirm wizzard and method definition with empty implementation are generated.
This function is very useful if we need to create new method in class - just type it in definition section with parameters, and create implementation signature with Quick Fix. Editor will jump into new method so you can start coding there. Also refactoring becomes much simpler, just prepare parameters with defined type and write method call that you need, wizzard will generate it for you.
Even simpler option is to use Extract Method function (CTRL + SHIFT + M). Just select piece of code that you want to extract and let the tool care about creating method definition, implementation and proper parameters types.
We often have things that are left to do. Have you ever found in source code comments like "*TODO - need to be refactored later" ? Instead of making comments in code it is better to add it to own editor. Eclipse keeps list of Tasks to be done. We can have general task or task which is assigned to the place in code - then by double click we can directly jump into place that needs to be fixed.
Eclipse allows to register all opened objects and assign them to context saved in "Tasks list" view. You can create many tasks, each for new development for example. Just select right click on task and Activate option to have all objects from context loaded to eclipse. If you finish work with task, just choose option Deactivate. This will close all tabs and save the context, so you can open next task to work on. This is very useful option if we need to switch between development, loads context of changes within seconds. Keep in mind that embedded SAP GUI dialogs are not loaded back.
In addition tasks can be created locally for own needs or also on the repository server. It means that we can share task context with other developers. It makes it so easy to pass the task with all "touched" classes and context to other person.
Although SE80 has also good sequential history of steps performed on dialogs, eclipse offers more. Alt + Left/Right jumps between editor history, but you can also click small arrow that will expand wider list of dialog steps history. You can press CTRL + Q to jump directly to last edition place.
Also the history of searches is kept in memory. If you search references to objects from eclipse (CTRL + SHIFT + G), the history can be easily recalled from "Search" view. It means that you can quickly display already used search results if you need to jump between different paths. That is helpful. In SE80 you can keep history of searches only in sequence (you can search, go into code, then go back).
There are many other advantages that I could highlight about ABAP in eclipse. I will just mention shortly other things that I like:
- Embedded SAP GUI when needed.
- Text highlighting and selection.
- Package hierarchy clearly visible.
- Compatibility with SE80 development where possible (same shortcuts).
- Fast fuzzy search in many places (use * for any character).
- Dedicated tabs (placeholders) in the text class editor so I see clearly where to put main code, local types or unit test classes.
Although I am big fan of ABAP in eclipse, I want to mention also some disadvantages that I see in my current version (SAP version 731, ABAP Tools 2.02) . I will just write it shortly to not discourage people from using it:
- Implicit enhancements are not visible in eclipse. I cannot edit them or see code references from enhancements in searching results. That is why if I know that my code is used also from implicit enhancement, I had to go to embedded GUI and search by standard "Where-Used List".
- Debugger in eclipse works only in some landscapes in my system, not in older versions. I like both debuggers, SE80 is still more powerful, offering many advanced options however eclipse debugger is easy to use and sufficient for basic needs.
- Watch out for parallel work in SE80 and in eclipse for the same source code. I had case when my changes done in SE80 were overridden in eclipse, after dialog prompt where I chose wrong option by mistake. Just be careful. Anyhow it is good that we can work transparently from any editor on same source.