I downloaded Eclipse 3.7/Indigo release. Since I got my Mac so recently, I waited to install development tools and create a new Mac workspace until Indigo came out. My first set of installs on a Mac had some extra unexpected surprises of course. Installing Postgres didn’t go nearly as smoothly as Eclipse. Check back for the blog post on that!
Downloading
I went with the JavaEE developer release since it has web functionality built in. I confirmed I had a 64 bit machine by running uname -a. I also finally realized the clue that I’ve clicked download. It’s that the download icon turns into a progress icon or changes the icon to my most recent download.
Installing
When I selected the download, it automatically unzipped it to downloads. I then dragged it to the applications folder and added Eclipse to the dock as described. Somehow I downloaded Helios instead of Indigo and had to do it again. Not sure how that happened since I downloaded on Indigo release day. I’ll assume I was tired.
Eclipse itself
My plugin install list contains what I used in Eclipse 3.6 plus a number of others. This time I used Marketplace Client to try to get the plugins. It’s nice that you can browse plugins and get ideas for things to install that you didn’t know about. It’s not much easier to install, but it wasn’t exactly hard before.
Plugin | Purpose | Marketplace Experience |
---|---|---|
Sysdeo | Tomcat integration | Listed, but no install link. Still must install by unzipping into plugins directory. |
EclEmma | Code Coverage | Smooth – click and install |
PMD | Static analysis | Listed, but no install link. Had to use install site link directly. |
Subversive | To access Subversion repositories | Smooth – click and install |
eGit | To access Git repositories (or run your own locally) | Smooth – click and install |
Hibernate Tools | JPA assistance | Did not install. There was a conflict with the built into JPA perspective in the JEE version of Eclipse. While I usually hand create my entities, I like having the plugin available but this isn’t a big deal. The built into one appears to do the same thing. And more likely, I wouldn’t use them either. |
Groovy | Groovy project/editor and console | Couldn’t find in Marketplace, but think it is there. Installed from install site link. |
Freemarker IDE | Freemarker syntax highlighting and macro assistance. | Didn’t look in Marketplace. I didn’t know this existed, but JBoss supplies it at the same URL as Hibernate Tools and I found it by accident. Since JForum (CodeRanch) uses Freemarker, this could be helpful. Trying it for five minutes, the syntax highlighting made the install worth it. |
m2Eclipse | Maven | Smooth – click and install |
What I like
In Eclipse 3.6, there were only 4 features I liked enough to remark upon. This time, there are twice as many!
- A few versions of Eclipse ago if you had m.method(one, two) and tried to delete the “method” followed by autocomplete, it left the parenthesis and parameters alone. Since at least Eclipse 3.5, it would add an extra set of parens and parameter templates. Horribly annoying.
In Eclipse 3.7, it goes back to the original behavior. Very excited about this fix!This wasn’t reproducable, I think it was luck. - JPA annotation autocomplete got better. This is a minor convenience.
- Secure storage – passwords are now stored encrypted on disk. This does mean anyone who uses your computer/account can commit on your behalf. Not a problem on my home computer.
- “Document proxy icons in Cocoa” – you can drag an icon in the title bar to another application. Sounds like it has potential.
- You can open the same file in different editors at the same time. This is nice because I sometimes like to be in the visual and XML views.
- Being able to filter the compiler settings preferences. (That list has grown so long it is hard to find specific options.)
- Compiler setting to ignore unavoidable generics problems (when calling legacy code.) This is nice because it avoids false positives. There is a risk because you have to be extra careful in that space, but I’ll find that in unit test.
- Paste URL into JUnit view – useful for loading an Ant or Maven junit report XML file from a nightly build.
And my worst feature
- The extract method keyboard shortcut is gone! I use this one a lot. It was there on Mac Eclipse 3.6. You can still use the menus, but that is less efficient.
Mac Stuff
Since I had downloaded Eclipse 3.6 for the Mac, I installed it as well to see what was a Mac issue and what was an Eclipse 3.7 issue. Here’s what is not new in Eclipse 3.7, but was new to me.
- In Safari, control left/right arrow take you the beginning/end of the line. Which is convenient because shift + control + arrow highlights the line. (I learned today that the command/apple key does the same as control although it is more awkward to type.) In Eclipse, command left/right arrows takes you to the beginning/end of the line but control does not. Luckily, command + arrow does work in Safari so I’ll be using that shortcut now. (It would be nice if there was a standard across applications for this – pgadmin doesn’t work the same way as either of these and I haven’t found the keyboard shortcut there yet.)
- My integration tests went down from three minutes to seven seconds! This isn’t a Mac thing – it’s a six year old machine vs brand new machine. But still cool. I didn’t know they could run so fast.
- I changed the Mac system preferences to turn on “Use all F1, F2, etc keys as standard function keys”. Having to press “fn” to use the debugger was quite annoying. I use the special keys a lot less than the function keys overall. And when I am changing the sound volume, I’m not in the middle of typing/debugging. I wish I could change it on only one of my two keyboards. (I’m using a standalone keyboard where I care about the function keys being reversed.) Not important, but it would be cool if I could switch to use the built in keyboard without the function key.
Spoke too soon. The autocomplete still sometimes adds the (). It seems to be at least somewhat fixed though.
Did you know you can “import” an old installation? Eclipse 3.7 then tries to install all plugins that are installed in the old version.
Missing Hibernate Tools is a deal breaker for me. Not because of creating entities, but because of the mapping diagram and the JPQL (or HQL…) editor and live evaluation.
Neither #3 nor #5 seem new to me?
Actually, Command+Left/Right IS the standard that is supposed to apply across all applications. Control+Left/Right is just a secondary that was added to some, so Eclipse in this case is following the standard, but Safari added the Control+Left/Right to address the fact that Command+Left/Right is also used for moving back and forward in navigation history, if you’re not currently in a text field.
@ What you like, point 1.
Is it really how it now works? I’m on Ubuntu and I seem to be getting the old behaviour.
Like, 1: it might make worth upgrading just for that! I was wondering if the improvements was worthwhile for me…
Worst, 1: color me stupid, but I am not sure what this extract feature is (I suppose it is related to refactoring, which I don’t do much). But you can probably edit the key bindings, no? I always tweak them to my habits/taste.
Why do you need the Sydeo plugin? I thought the Web configuration (which I manually added to the Java edition for Helios) already provides a good wrapper around Tomcat and other servers, so such plugin looked quite obsolete.
PhiLho, you should really look into the refactorings – semantic refactorings are the #1 reason to use an IDE instead of an editor and external tools (and Eclipse’s implementation is a very good reason to go for it, unless you are a vivid user of Idea, of course ;-)! Especially “Extract method” is important. While you can alter any keybindings I think the main tools should stay. There are others that are not that important.
I don’t want and can speak for Jeanne here, of course, but in my experience the Sysdeo plugin is used because it seems easier than the WTP (which is the server wrapper), is known for longer and sometimes people don’t find the settings that don’t touch an external server and just control it. With the default setting you “loose” (i.e. it’s not used when the server runs) the standard webapp directory and the applications installed there, like Tomcat manager and the samples. This can be configured, but the settings GUI is not very good there and the setting can’t be changed while an application is assigned to the server.
If you install the complete JBoss tools you even get additional server control buttons for servers configured via WTP.
@Hauke: my old installation is on a different computer in this case so it’s less useful to import. #3 might be a Mac thing. #5 apparently isn’t new in 3.7. It wasn’t there in 3.4 and I never noticed it show up.
@Mike: It works that way every once in a while, but not often or even the majority of the time.
@PhiLho: Yes, extract method is a refactoring. I don’t *need* the sysdeo plugin. I want it because I can stop/start Tomcat in one click. It’s more convenient than the server view.
I mean, I can’t see the improvement. I’m still getting the old and annoying behaviour (post Eclipse 3.5).
I’m starting to think it was coincidence or I was really lucky. It only happened a couple times and I don’t see a pattern.
A reader on reddit pointed out that you can assign the keys manually under workspace preferences. I had to unmap Git’s merge from option+command+m and remap extract method under “in windows”. Extract method works again!
Thank you for that post! I’m using Eclipse 3.6 and was thinking several days whether I should upgrade or not. Your post really helped me 🙂
Wouldn’t it make sense to update the article then?
Updated. I forgot to do that earlier…
Pingback: installing postgres and tomcat on the mac | Down Home Country Coding With Scott Selikoff and Jeanne Boyarsky
Hi,
Good to hear that you have eclipse running on macbook. I installed eclipse but it’s failing to connect to internet and not downloading plug-ins. I tried on internet for past 2 hrs and most of the links google presented did not reveal solution just it’s a common problem. Wonder if you can let me know what setting is needed in eclipse or macbook for eclipse to connect to internet to download plugins.
Pingback: eclipse juno (4.2) review | Down Home Country Coding With Scott Selikoff and Jeanne Boyarsky