ChatGPT解决这个技术问题 Extra ChatGPT

Keyboard shortcut for Jump to Definition

I'm looking for a keyboard only shortcut for Jump to Definition. The built-in shortcut requires the mouse: ⌘ + Double click.

I've tried to add a regular keyboard shorcut for the Edit>Find>Jump to Defintion menu command, but, alas, it will only work when the method name is selected. I'd like to be able to position the cursor within the method name, class name, or other symbol, and hit something like ⌘+Shift+L.

Does anyone know of a solution, perhaps using a script, for the problem?

Update: The keyboard shortcut works sometimes and sometimes not. When I position the text cursor on a method call with no parameters and press +Shift+L it takes me to the definition. But it doesn't work for a method that takes an id parameter. However it works if the parameter is an int.

I have submitted a bug report to Apple.

I'm having a similar problem here. It seems to be related to whether the word for which you're looking up the definition is selected or not. Weird thing is, I've just transferred my system and it was working fine on the old one...
This is not a keyboard shortcut -- Do a ⌘ + click
Did you figure out how to pop back to the previous context
You can pop back by swiping to the right on the track pad

T
Thomas Kekeisen

In Xcode 4.5.2 the shortcut now is ^ + ⌘ + J (more readable Ctrl + Cmd + J).


Yeah that's the shortcut and it works. You can reconfigure it in Preferences/Key Bindings
Any idea if it's possible to jump to the implementation(s) when using protocols? It would open a selection popup or something if there are multiple implementations.
a
atulkhatri

For Jump to Definition feature, you have the following 4 options:

Ctrl + Command + J Ctrl + Command + Left Click (One finger tap) Command + Right Click (Two fingers tap)

XCode 9 only:

Go to Xcode => Preferences => Navigation => Change Command-click on Code to Jumps to Definition and then use Command + Left Click (One finger tap)


I always like to add [Option] to option 1 to open it in the assistant editor.
s
samus

For XCode (tested in Swift) following keyboard shortcuts work. Found very useful:

To go to the Implementation (probably definition in Obj-C) :

Ctrl + Command + J

To pop back to Previous context :

Ctrl + Command + ←

To go to the Forward context :

Ctrl + Command + →


FYI: < and > are not arrows ... I would use "left arrow" and "right arrow". took me a while to understand.
N
Naishta

https://i.stack.imgur.com/VkBll.png


C
Community

Try the following: Cmd+Option+ (or Cmd+Shift+D and select from list) or see this link re assigning shortcuts (this last option is probably what you tried already - it may require selecting the method).


That will take me to the header file, or the declaration. I need to get to the code, the definition. And yes, I've tried the shortcut re-assigning.
Yes, I see that's your comment on the SU link, sorry. When I set up the keyboard shortcut Cmd + Shift + J for the menu item Jump to Definition, it seems to work (in Xcode 3.2.1), even when the cursor is in a method, but I don't have any selection. By the cursor I mean the flashing text insertion cursor, not the mouse pointer. Sorry, I'm being a bit slow, but perhaps you could give an example of where it doesn't work?
S
Steven Gardner

May Be it can work

https://i.stack.imgur.com/j0Wb1.png

or try this way

https://i.stack.imgur.com/ZedK7.png


What does this have to do with the original question?