Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save riteshhgupta/88d41433c037066c6c14989c06d2d24b to your computer and use it in GitHub Desktop.
Save riteshhgupta/88d41433c037066c6c14989c06d2d24b to your computer and use it in GitHub Desktop.
Add support for a better Xcode's Jump to Next Counterpart in Swift

If you work on a Swift project that follows the Model-View-ViewModel (MVVM) architecture or similar, you may want to jump to counterpart in Xcode from your view to your model, and then to your view model. (ie. by using Ctrl+Cmd+Up and Ctrl+Cmd+Down).

You can do this in recent versions of Xcode by setting a configuration default.

From a terminal, just type this command and press Enter:

defaults write com.apple.dt.Xcode IDEAdditionalCounterpartSuffixes -array-add "ViewModel" "View"

Restart Xcode and navigate to one of your Swift model files. You’ll see counterparts more tailored to your project architecture now:

https://user-images.githubusercontent.com/1573717/68997038-34190300-08a2-11ea-8e40-d74adc3a02db.png

Ctrl+Cmd+Up and Ctrl+Cmd+Down will cycle those files and their interfaces generated by SourceKit.

If you want to revert the change, simply run this in a terminal and restart Xcode:

defaults delete com.apple.dt.Xcode IDEAdditionalCounterpartSuffixes

This configuration used to work for the Objective-C family of languages, but recent versions of Xcode seem to have added support for Swift too.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment