Navigating around Fire

Fire offers a sophisticated and powerful model for navigating around the IDE and the various places in your code that you work with, aided by two user interface elements, and many helpful keyboard shortcuts.

For using the mouse, Fire of course has the Navigation Pane on the right, which offers several tabs that let you navigate around your code (by project structure/files, by types, by search results, and – while debugging – by stack frames).

The navigation pane can be shown and hidden by pressing ⌘0, to get out of your way and maximize screen real estate – and you will find that you often do not need it.

At the top of the editor, there's the Jump Bar, which combines elements from the navigation pane in hierarchical structure based around your current active view. Here too, you can navigate though the folders and files in your project, their types and members, as well as other nodes – such as build messages, or debug stack frames.

The Jump Bar always stays in sync to reflect exactly the view you are looking at.

Just as important that the navigation UI, Fire provides a set of keyboard shortcuts that work throughout the IDE to help you navigate around your code. These shortcuts are designed in a way to be consistent and and intuitive to learn.

  • ^⌘-Left/Right lets you navigate back and forth between the places you have recently been. Every time you move around the IDE, Fire keeps track and adds your location to a navigation stack. Pressing ^⌘-Left takes you back a step to where you came from, and ^⌘-Rightmoves you forward again. The navigation stack even persists across restarts of Fire.

  • ^⌘-Up/Down navigates between the items in the Jump Bar. This could mean going between files in the same folder, going from one build message to the next, or going up and down the call stack while debugging. You can also go up and down between types or members within the same file – all depending on what is currently selected in the Jump Bar.

Build Message Navigation

The Jump Bar is also the primary place to work with Build Messages – such as errors, warnings or hints generated from your code.

After a build, you will usually press ⌥⌘M to jump to the first error (or the first warning, if there were no errors) that was generated (or ⌥⇧ ⌘M to jump to the first error in the current file). Of course you can also use the mouse to select a build message in the Jump Bar manually.

Once a build message is active in the Jump Bar, you can use the ^⌘-Up/Down shortcut from above to navigate back and forth between the different messages emitted by your build, in the order they came in.

Fire will automatically move between files, or move you around inside the current file, to show you the appropriate message in context. And of course Fire shows you the build messages right inside the editor, inline with your code.

Sometimes, more than one message is generated for the same line of code. There could have been two errors, or an error with an additional hint that gives you more information. You can use ⌥⌘-Left/Right to cycle through the different messages on the same line.

By default, Fire shows shortened messages inline that are concise and to the point, but omit some details that usually can be inferred by context. For example, they might omit the name of an unknown identifier, because that name is already highlighted in the code itself. You can use ⌥⌘L to toggle between seeing the short and the full error message.

Finally, you can use ⌥⌘-Up/Down to navigate between all the build messages in the current file, based on their position.

In summary: ^⌘- shortcuts navigate on a higher level, between items in the jump bar – be they build messages or otherwise. ⌥⌘- shortcuts navigate at a lower level, between messages in the same file.

As a related shortcut that might come in handy, ⌥⌘B lets you jump directly to the full textual build log, in case you need to inspect that in more detail.

Other Editor Navigation

Additional navigation shortcuts:

  • ^⌥-Left/Right turns the current token (or selection) at the cursor into a search term and finds the next or previous occurrence.
  • ^⌥-Up/Down in Oxygene source files jumps up to the declaration or down to the implementation of a class or method.

And of course the usual OS X standard text navigation shortcuts apply as well:

  • ⌘-Left/Right jumps to the start or the end of the current line.
  • ⌘-Up/Down jumps to the top or the bottom of the current file.
  • ⌥-Left/Right jumps from one word or token to the next.