Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

A few years back I started doing work for a company where Eclipse was the standard (familiar huh!). I spent six weeks feeling like I was an unproductive failure until I gave up and unilaterally decided that I had to go back to Intellij otherwise I'd go insane. I really tried. It didn't seem to be built to work in the same way my brain did.

I bet it has improved loads since I last used it, and hopefully my brain would deal with it better, but I live in fear of ending up in a situation where it is mandatory to use it and I had to take the job for financial reasons. Well, living in fear is an overstatement. I'm sure I'd learn, with a kind of weary resignation and resentment.

Has anyone been put in such a position? The only times I've since been put in a place with loads of Eclipse where you have to use locked down client machines such as financial institutions, I've just said, I need Intellij, and it has been fine, thankfully.



I have been in the oposite position, where I came from Eclipse background, and had to use IntelliJ. Lets just say that I wasn't a happy camper for a while.

IntelliJ might be a tad better usability wise, but Eclipse has so many extensions, tools and more as it is the default IDE for a lot of projects/ecosystems.

I think it is a matter of preference, and what you are used to.


I've been in exactly your position. I was a huge fan of IntelliJ IDEA, to the point that I raved about it in the (very informal) interview. They were using Eclipse. Adapting wasn't all that difficult for me, much more stuff is similar than different between the two.

I think Eclipse is fantastic these days, enabling rapid navigation of huge codebases and helping me to understand unfamiliar code. The refactoring tools are also fantastic and I use them constantly, ie. regular development includes frequent refactoring.

But I'm sure I'd be really happy with IntelliJ, too. I still think it looks a lot better, Eclipse could really do with a drastic facelift; the most recent release just makes things worse.


I really should take it for a spin again and find if I find it as intolerable as I did then, as an exercise in keeping flexible.

I'm not usually inflexible, I'm happy flipping back and forth between very different development environments usually. As we've seen there are people who feel just the opposite as me in the thread too, no doubt it is partially down to how one builds mental models and how well they fit the abstractions chosen in both IDE's for various concepts.


> enabling rapid navigation of huge codebases and helping me to understand unfamiliar code

Can you provide a link to a guide going over some techniques for using Eclipse to its potential? My inability to rapidly navigate large code bases using Eclipse is one of the reasons I dislike using it so much - I usually end up grepping in iTerm instead of trying to use Eclipse to search.


I don't really know of any guide, though I'm sure they are out there. Briefly:

Call hierarchy (Ctrl-Meta-H?) is fantastic; it works on everything, not just on methods. Press it on an object's field finds all methods accessing it, and all methods calling those methods, etc. You can expand the tree at will and jump around the code. It's smart enough to deal with anonymous classes definition and access. I think it's hard to overstate how useful this is. Find references (Ctrl-Shift-G?) I hardly use anymore because call hierarchy is basically a functional superset, but it's also fantastic.

Class hierarchy is hardly exotic, but it's still useful.

Ctrl+click/F3 jumps to declarations (and implementations for interface methods). Also hardly exotic, but you simply use it all the time in lieu of more regular navigation. On a sidenote: while debugging, ctrl-shift-click runs the paused program until it steps into the selected call, moving the editor to the line.

Within files, usages of the variable/type/exception are highlighted, and you can jump between the positions using the keyboard. They are also highlighted in the scroll bar, so you can immediately see if this field is used just once or twice, or everywhere. Also within files, Ctrl-O opens the file's outline, letting you jump to methods, types and fields using the keyboard.

I'm sure I'm forgetting some and there are other tools I don't know/appreciate yet. The only time I use grep in the Java projects I'm working on is when I need to deal with resources. In my pet javascript projects, OTOH, I use :grep constantly (feeling super clumsy all the while). I looked at the transmission code (which is C) on the weekend and I almost went insane because I had no kind of introspection/tooling initally (later on, ctags improved things somewhat).


Wow, how did I not know about call hierarchy. Thanks.


There's a code browsing view (window -> open perspective -> browsing) but i never use it.

For me i only need the following to zip through a sizeable code base with just a few key combos in eclipse:

* F3 - go to definition of thing under cursor

* ctrl+g - search for all usages of thing under cursor (used sparingly, too slow)

* ctrl-shift-t - find & open type

* ctrl-shift-r - find & open resource (these 2 should be merged!)

* ctrl-e + start typing the name of an open window to switch to it

* ctrl+shift+F4 i'm in too deep, close all open editors

* ctrl+/ fold all methods, i never warmed to ctrl+o or F4 for an overview of the code in a module / class

I have a couple of non standard bindings i set for things like show me the version control log for this file.

It all falls apart when you want to navigate within an editor a-la vim motions.


I was in that position 5 years ago. I really tried - spent time learning keystrokes etc. What got me was the lack of integration and lack of basics. For example, Find Usages and Search were incredibly crap - which is a major problem when you've been brought onto a new project and you need to read and understand the code base. Perhaps things have improved since then. Ended up installing IntelliJ on the sly (advantage of a personal license!)


With you on the personal license, only reason I could get it installed on locked down bank hardware.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: