Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Choose between open declaration/implementation on Ctrl + click in IntelliJ IDEA

Details:

  • IDE: IntelliJ IDEA 14
  • O.S.:: Windows 7

If I want to navigate to the declaration of a method I can choose one of the following approaches:

  • press Ctrl + left click
  • right click > Go To > Declaration
  • press Ctrl + B

If I want to navigate to the implementation of a method I can choose one of the following approaches:

  • press Ctrl + Alt + left click
  • right click > Go To > Implementation(s)
  • press Ctrl + Alt + B

In Eclipse, if I press Ctrl and the mouse is over a method, a popup appears and I can choose what to do (go to Implementation/Declaration). If I press "left click" ( Ctrl is still pressed ) the first option will be chosen.

enter image description here

How can I achieve the same / a similar behavior in IntelliJ IDEA ?

like image 520
ROMANIA_engineer Avatar asked Nov 24 '14 15:11

ROMANIA_engineer


People also ask

How do I open the implementation method in IntelliJ?

To navigate to the implementation, press Ctrl+Alt+B .

How do I navigate to declaration in IntelliJ?

Choose Navigate | Go to Declaration in the main menu, press F12 , or click the symbol while holding the Ctrl key.

What does Ctrl do in IntelliJ?

Pressing ⌘/ (MacOS) or Ctrl+/ (Windows/Linux) anywhere on a line will comment out this line of code with a line comment. Pressing the same shortcut will un-comment the line if it is already commented. If we select a whole code block, we can use ⌥⌘/ (MacOS) or Shift+Ctrl+/ (Windows/Linux) to add a block comment.

How do I navigate between projects in IntelliJ?

Switch between projects If you have several opened projects at the same time, you can switch between them using the following options: Switch to the next project window: Ctrl+Alt+] (Window | Next Project Window) Switch to the previous project window: Ctrl+Alt+[ (Window | Previous Project Window)


3 Answers

There is not a built-in option for this. You would need to configure a custom quick list to do such.

  1. Open the Settings dialog and go to "Quick Lists" (It's under "Appearance & Behavior" in IDEA 14)
  2. Click the add button enter image description here to the right of the middle pane
  3. Give your list a name
  4. Click the add button enter image description here to the right of the far right pane (where is reads "no actions")
  5. Add the Go to Declaration action (Main Menu > Navigate > Go to Declaration)
  6. Add the Go to Implementation(s) action (Main Menu > Navigate > Go to Implementation(s))
  7. Click Apply
  8. Go to Keymap in the settings
  9. Under the "Quick List" node, find the Quick List you just created and map a short-cut (keyboard or mouse) to it. You can, of course, remap one of the shortcuts used by the Go to Declaration or the Go to Implementation(s) action
  10. Click OK to close out of the settings and give it a try.

Note that in the quick list that opens, you will have numbers next to each action for quick selection.

Edit: Adding a screenshot of final quick list for additional clarity

enter image description here

like image 110
Javaru Avatar answered Oct 17 '22 07:10

Javaru


I was looking for the same thing, because I was also used to it in Eclipse. Nevertheless, in 99% of the cases, I went to the implementation. If that's your case too, you may consider changing the Ctrl+click shortcut in IntelliJ:

  • Open File → Settings... → Keymap
  • Search for "implementation", and identify the item "Main menu → Navigate → Implementation(s)" in the list
  • Right-click the item and choose "Add Mouse Shortcut"
  • Add the Ctrl+click shortcut by making a Ctrl+left click on the window
  • When hitting the OK button, you have two choises :
    • Remove the existing shortcut (opening the declaration)
    • Leave the existing shortcut : In that case, when using then Ctrl+click, both the declaration and the implementation will be opened (at least when they are in different files)

I know this answer comes like 2 years too late, but hopefully it may help others?

EDIT : This shortcut also applies when you want to navigate to the declaration of a super class. Therefore, my "99%" first declared above drops a bit. I've added the ctrl + right-click as a shortcut to go the declaration (which conflicts with no other shortcut - but you need a mouse with at least two buttons...).

like image 38
Nedorot Avatar answered Oct 17 '22 06:10

Nedorot


If you select the method and hit Ctrl+T it will show the implementations of the methods. You can click on the options to navigate to that implemented method. Hope this helps.

like image 5
Sabarish Avatar answered Oct 17 '22 05:10

Sabarish