My IDEA Evaluation - Eclipse is better
I've been trying to use IDEA (on OS X) for the past few weeks and I keep reverting back to Eclipse for features that seem to be missing. I know the features must be there, but I just can't find them. Why else would everyone like it so much? Sidenote: I've never used IDEA for a feature that doesn't exist in Eclipse - I'm sure there are some, I'm just not using them. It sure would be cool if someone created a HowTo explaining how to migrate from Eclipse to IDEA. In the meantime, I'll settle for posting my questions here:
- Debugging in Tomcat - I'm currently using Sysdeo's Tomcat Plugin in Eclipse for Tomcat 4.1.27. It's super easy to setup and use - I expect the same ease-of-use from IDEA. I haven't looked much, but I'd love to hear feedback on IDEA's Tomcat debugging support.
- Renaming a variable in a JavaBean renames getter and setter methods. Sounds simple enough, in my 10 second search, I couldn't find it. In Eclipse, right-click -> Refactor -> Rename.
- Override/Implement methods (from parent classes and interfaces). Right click -> Source -> Override/Implement methods in Eclipse.
I'll add more as I think of them throughout the day. So far, I like IDEA, but to be honest - it's not saving me any time over Eclipse. It also locks up as much as Eclipse and it's responsiveness is still a big sluggish on OS X (10.2.8) with 1 GB of RAM (1.33 MHz processor). Hopefully Panther will make both IDEs faster. Two weeks ago, I was thinking of buying it (as well as Dreamweaver) - now I'm frustrated with IDEA's lack of features and Dreamweaver's slowness. I'll probably pass on shelling out the cash since Eclipse and BBEdit are giving me all the features I need in IDEA and Dreamweaver.
Posted by Erik on October 20, 2003 at 12:33 PM MDT #
Posted by Erik on October 20, 2003 at 12:34 PM MDT #
Posted by nicolas on October 20, 2003 at 01:10 PM MDT #
Tomcat: I didn't find it particularly difficult to configure this =/ I guess mileage varies.
Rename: Refactor->Rename. It will ask if you want to rename the getter/setter or not.
Override/Implement: The aformenetioned keystrokes, or Code Menu -> Override Methods / Code -> Implement Methods.
Or even easier, when you declare it to implement/extends it will give you a context option (the little lightbulb) that will let you bring this up immediately.
As has been pointed out, IDEA has an excellent help system if you try it. I have found that finding how to do things doesn't require me to go to the help, usually -- at least not as much as in Eclipse. The only real bug I have seen on 3.0.X series on my TiBook is that sometimes a dialog box won't die if I go through a specific sequence of things. It seems much snappier to me than Eclipse, but the latest Eclipse milestones are supposed to make Eclipse bearable on OS X, and I haven't played with the last couple milestone releases.
I think, in the long run, the more open model Eclipse is developed under will make it win out. It hasn't yet, in my opinion, though.
Posted by Brian McCallister on October 20, 2003 at 01:48 PM MDT #
Posted by Brian McCallister on October 20, 2003 at 01:49 PM MDT #
Posted by No one on October 20, 2003 at 02:06 PM MDT #
Support for JetBrains/IntelliJ in PDF form linked prominently on the company's home page.
Also, there is a whole big "Web Applications" configuration for your project, it supports starting web apps in debug mode from a Tomcat install elsewhere on your machine, happily grabbing a context and overriding its docBase for you, etc etc.
I have no idea where you got your ideas No One, but they are absurd.
Posted by Brian McCallister on October 20, 2003 at 02:21 PM MDT #
btw - I like the email feature for comments on your blog.
-Brian
Posted by Brian McCallister on October 20, 2003 at 02:28 PM MDT #
Posted by Kris Thompson on October 20, 2003 at 02:29 PM MDT #
Posted by Grzegorz Mucha on October 20, 2003 at 02:49 PM MDT #
Posted by Göran Damberg on October 20, 2003 at 02:56 PM MDT #
Posted by Prashant Rane on October 20, 2003 at 03:43 PM MDT #
Posted by Zohar on October 20, 2003 at 04:24 PM MDT #
Posted by Ara Abrahamian on October 20, 2003 at 06:28 PM MDT #
Posted by Matt Raible on October 20, 2003 at 08:20 PM MDT #
Posted by Johann Reyes on October 21, 2003 at 12:16 PM MDT #
The refactoring support in Eclipse does not match that in IDEA. Changing perspectives in Eclipse is painful - I don't really like the metaphor. Eclipse freezes up, which I assume means it's doing a garbage collection - you can tell IDEA is doing this because the trash icon in the bottom right will show that most of the allocated memory is being used. If you're using Tomcat 3 - I spent most of last year developing a Tomcat-based solution with IDEA - debugging is simple: if none of the other sources have the information you need have a look on jguru, I posted how to set up IDEA for Tomcat debugging there.
Re: Zohar's comments: +1 informative.
Posted by Walter Rumsby on October 22, 2003 at 08:49 PM MDT #
As far as debugging Tomcat in Eclipse, it's a breeze - drop in the plugin, configure and run. With IDEA, I've tried this howto and I get the strangest thing. I can start Tomcat but it says "Apache Tomcat/5.0" and I don't even have 5.0 installed on my system. None of my apps run but the default Manager and Admin apps. It's probably because I'm running 4.1.27, but I'm not about to revert to Tomcat 4.0.x just so I can debug in IDEA. I'll continue to use Eclipse for that.
I do have to admit that the JSP support in IDEA is very good - Ctrl+B to go to an included file rocks. I can't import tag libraries to get code completion in Tag Libraries. I tried in both 3.0.5 and 957, but no luck in either (on OS X). I read the documentation and tried and tried again, but no luck. Oh well, none of my other editors support JSP Tag completion so I can't argue too much.
A lot of folks keep suggesting I use MyEclipse for JSPs in Eclipse, but I've tried to install it twice (on XP and OS X) with no luck. I don't like to waste my time on bad installers, so I'll continue with BBEdit and Homesite when using Eclipse.
Posted by Matt Raible on October 22, 2003 at 09:08 PM MDT #
More on this...
As an example of IDEA's superior refactoring, I just created a JUnit test case with Eclipse. Eclipse created a default constructor<c ode>public ProviderRegistrationTaskTest(String arg0)</code>. Well <code>arg0</code> is the test case's name, so I refactored this to <code>name</code>. IDEA would also update the <code>@param</code> tag in the JavaDoc. By default Eclipse doesn't. Furthermore IDEA has really nice code formatting features, so IDEA would make sure that the method signature is formatted the way I want it, i.e. <c ode>public ProviderRegistrationTaskTest( String name )</code>.
Sure, Eclipse's implementation is not the end of the world, but it's symptomatic of the fact that while Eclipse, in a general sense does the same things as IDEA, IDEA does them better. Also, I'm running IDEA at home on OS X 10.2.8 with a sub-1GHz G4 and performance is nice and fast.
Posted by Walter Rumsby on October 22, 2003 at 09:10 PM MDT #
Posted by Matt Raible on October 22, 2003 at 09:18 PM MDT #
They didn't really mandate Eclipse - rather they didn't want unlicensed copies of IDEA in use (I own my own license, so I guess technically I could use it). Actually I fired up IDEA yesterday and spent an hour trying to get it to work with our project, but there's so much code and it's so structured around Eclipse (e.g. I've set up debug options for debugging that require certain JVM flags) and the set up of the whole project is quite... idiosyncratic... I figured it wasn't worth the effort to get IDEA running (contract is only for a couple of months - I can live without IDEA for a couple of months at work).
Posted by Walter Rumsby on October 22, 2003 at 09:29 PM MDT #
Oh yeah, the way Eclipse handles instances of non-imported classes sucks too: hang around, wait, double click. I find myself writing X.toString();, saving the class, waiting for the red underline squiggle, double clicking, choosing the class I want, then finally getting the method I want.
Posted by Walter Rumsby on October 22, 2003 at 10:34 PM MDT #