Awesome
Overview
JumpMarks is an Xcode plugin to navigate your project files by numbered bookmarks. When developing applications, it is often not enough to be able to jump between just two places in our code by navigating forward and backward in history. There may be logical components that we jump around perhaps between model, view, and controller (or view model). When refactoring, we may jump around to different files in our project to compare the old and new blocks of code. Before a code review, we may set all of the locations that we want reviewed in the IDE.
Whatever the need is to navigate your code efficiently, JumpMarks allows you to set numbered bookmarks (0-9) to jump around these points in your code. Simply type Shift + Option + [0-9]
to set a mark at the currently selected line in your open file editor, and then type Option + [0-9]
to jump back to that mark later.
In order to use this plugin in Xcode 8 and above, you must unsign the Xcode.
Installation
Install by either:
1. Use Alcatraz (Easy Mode)
- Install from Alcatraz
or
2. Build from Source (Manual Labor)
- Build the Xcode project. The plugin will be installed in
~/Library/Application Support/Developer/Shared/Xcode/Plug-ins
. - Restart Xcode.
To uninstall, remove the plugin file JumpMarks.xcplugin
from ~/Library/Application Support/Developer/Shared/Xcode/Plug-ins
and restart Xcode.
Usage
Toggling JumpMarks:
Toggle by typing <kbd>Shift</kbd> + <kbd>Option</kbd> + [<kbd>0</kbd>-<kbd>7</kbd>]
Go to specific JumpMark:
Jump directly to numbered mark by typing <kbd>Option</kbd> + [<kbd>0</kbd>-<kbd>7</kbd>]
Go to next/previous JumpMark:
Jump to next/prev set mark by typing <kbd>Option</kbd> + <kbd>]</kbd> or <kbd>Option</kbd> + <kbd>[</kbd>, respectively
Other options can be found in the JumpMarks
submenu added in the Editor
menu in the menu bar.
Marks will be persisted in a plist file named ${USER}.jumpmarks in the project's xcuserdata.
Acknowledgements
- The idea came from DPack, a plugin for Visual Studio that had this functionality that I wanted to port over.
- The xCode Template plugin used to create this project: https://github.com/kattrali/Xcode-Plugin-Template