Once-a-year Black Friday deals are coming. Read more.
Give your simulator superpowers

RocketSim: An Essential Developer Tool
as recommended by Apple

Command-click on code options and possibilities in Xcode

Command-click no longer jumps to definition by default since Xcode 9 is introduced. It opens up a handy menu instead with a lot of options for quick editing, like:

  • See all callers
  • Edit all in scope and renaming
  • Extracting methods

The old command-click behaviour can be restored in the settings or simply mimicked by using control + command + click

Navigating through callers

Navigating through callers
Navigating through callers

This option allows us to see all callers for a method or parameter. This can be handy to find out if a method or property is used and which dependencies it has.

Stay updated with the best of Swift & SwiftUI

Join over 20,005 Swift developers in SwiftLee Weekly for exclusive tips and updates. Don’t miss out – subscribe now:

You can always unsubscribe, no hard feelings.

Edit all in scope and renaming

Edit all in scope and renaming
Edit all in scope and renaming

Quickly rename a method or parameter together with all its definitions within the same file. Refactoring the definition throughout the whole project can be achieved with the Refactor->Rename option in the right-click menu.

Extracting methods

Extracting a method
Extracting a method


Extracting methods is a great way of refactoring code. By command-clicking a bundle of code, we enable this refactoring method which extracts the piece of code into a new separated method.

A more detailed look into refactoring in Xcode can be read at the official Swift blog: Swift Local Refactoring.

Restoring the old behaviour

The new behaviour is for some of us just something they can’t get used to. You can restore this old behaviour by going to the navigation settings page in Xcode.

Restoring old command-click on code behaviour
Restoring old command-click on code behaviour

If we like to use the menu in some cases we can simply use the key combination of control + command + click to directly jump to the definition.

 
Antoine van der Lee

Written by

Antoine van der Lee

iOS Developer since 2010, former Staff iOS Engineer at WeTransfer and currently full-time Indie Developer & Founder at SwiftLee. Writing a new blog post every week related to Swift, iOS and Xcode. Regular speaker and workshop host.

Are you ready to

Turn your side projects into independence?

Learn my proven steps to transform your passion into profit.