Idea logo

The IntelliJ IDEA Blog

The Capable & Ergonomic Java IDE by JetBrains


Shiftless code completion and navigation in IntelliJ IDEA 10.5

With IntelliJ IDEA 10.5, you may press up to twice as less keys every day as you do now. Seriously! Here’s how.

The reason IDEs exist in the first place is that they make your life easier. In particular, they are able to generate code for you. An ideal IDE would do all the boring typing by itself, leaving you more time for thinking about the great software engineering problems you face. Unfortunately, such an ideal is not there yet. Currently, if you want an IDE to help you, you first have to help it help you. Usually this means giving it some cues on a word you have in mind, and it then tries to guess the whole word. So you can just type  NPE and smart IntelliJ IDEA will suggest that you must have meant NullPointerException. Or StBui for StringBuilder. I’m sure you get the idea. This handy “camel case” matching feature saves quite a lot of typing.

Here it gets complicated. In the first place, you had to so something (coding) and the IDE was there to help you. Now you have to do something easier, namely giving the cues to the IDE. But since this requires some action from you, why couldn’t IDE help you with this as well? This means helping you help the IDE help you :). But how can such a simple task as giving the cues be made even simpler?

As it’s easy to see from the examples, the “camel case” matching requires you to enter LOTS of capital letters. And this means pressing Shift quite often. Very often. In fact, almost always. But is this really needed? Following our colleagues from ReSharper team, we asked ourselves this question and, like they, have found no adequate reason. After that we just removed this requirement to press Shift in IntelliJ IDEA. Well, you can still do it, and the capital letters will match “camel hump” starts as they did before. But why bother if you can get the same result without Shift? OK, chances are that you’ll see a bit more variants in this case, but this still pays off in the productivity.

Shiftless matching is now everywhere in IntelliJ IDEA.

When searching for a class (Ctrl+N / Cmd+N):

When typing in the editor with the autopopup enabled:

In the File Structure popup (Ctrl+F12 / Cmd+F12):

So, grab an IntelliJ IDEA 10.5 EAP build, rest to your little fingers and enjoy!

Comments below can no longer be edited.

7 Responses to Shiftless code completion and navigation in IntelliJ IDEA 10.5

  1. Tim says:

    April 15, 2011

    Please make this configurable. It will a pain in the ass if you are working on huge class libraries where the camel case search really is nice to filter out most of the unwanted stuff.

  2. Ladislav Thon says:

    April 15, 2011

    God yes! I wanted this since my first days with IDEA, that was version 5 I think 🙂

  3. Yury V. Zaytsev says:

    April 18, 2011

    It seemed to me that case-insensitive completion have been there for ages, at least in PyCharm and I always turn it on when I re-install the IDE. Have you now made it a default setting or am I missing something?

  4. Jon Akhtar says:

    April 18, 2011

    Camel Humps always used to require capital letters – that is how it knew what prefixes to match.

  5. Tom Wad says:

    May 17, 2011

    Great feature! It’s like the now dead Eclipse GotoFile plugin that I’ve always missed in IntelliJ, but even better… 🙂 A million thanks!

  6. Peter Liljenberg says:

    January 2, 2013

    Was this feature never released, cause it doesn’t work for me in IDEA 12 🙂

  7. Peter Gromov says:

    January 9, 2013

    Peter, it works but you have to change Settings | Editor | Code completion | Completion case sensitive to “None”

Discover more