Ever wanted to jump to the uses clause, to a class’s constructor, to a property definition? Navigator lets you move between any section of code quickly, easily, and without your fingers leaving the keyboard. There’s also a minimap – a miniature version of your code, showing the structure and letting you scroll just like a scrollbar.
How do you quickly navigate to a uses clause in plain Delphi? Perhaps you leave the keyboard, grab the mouse, move to the scrollbar, and drag it up or down until you find what you’re looking for. Or, perhaps you press Ctrl-F to search, type ‘uses’, press F3 F3 F3 to skip past all the times ‘uses’ is in a comment or method, cycle around to the top of the unit, press F3 again to skip the interface uses, and finally arrive at the implementation uses clause.
Navigation shouldn’t be like that.
Welcome to Parnassus Navigator.
Navigator brings all parts of your code to your fingertips, letting you move between methods, classes, types, or in fact unit sections or items of any kind quickly, without disturbing your workflow, and without leaving the keyboard.
Press Ctrl+G (G to go) and Navigator will show you a window with everything in your current unit. Start typing, and the results are filtered. Press Enter and bam! There you are, right at the place you need.
Want to go somewhere? Press Ctrl+G to Go.
Navigator lists all unit sections (uses, interface, implements, type, const…), types (classes, records, interfaces, enums, sets…), methods, fields, and properties in each type, and standalone methods.* It even shows property getters and setters as you type the property name. It can be invoked by either mouse or keyboard, which means you can move somewhere in your code without breaking your workflow. It’s fast, efficient, and designed for real work.
* The Go To window only handles Delphi / Pascal files, not C++.
Minimap: see your code.
What if you want an overview of your code? You want to see the structure? Get an overview? Scroll by clicking somewhere you can see, not by dragging a grey scrollbar thumb? Navigator includes a minimap: literally, a miniature version of your code.
The entire unit is shown in a narrow bar on the right-hand side of the code editor, next to the scrollbar. You can see the currently visible portion, and click or drag to scroll: this is a scrollbar the way a code editor should be. The preview is fully syntax-highlighted for both Delphi and C++. Mouse over, and a preview hint will appear showing you the code under the mouse cursor. Click/drag to scroll, or double-click to move the editor cursor straight to the specific line.
There’s more: when you search in the Go To window, matching lines and the currently selected item are highlighted in the minimap too.
Parnassus Navigator is written in modern Delphi style, with modern libraries, and supports modern IDEs. It is explicitly written to have high performance, avoiding common plugin techniques that can slow down the IDE, and it integrates perfectly with the IDE itself.
It’s configurable. Don’t want the minimap? Turn it off. Only interested in class methods, not properties? Turn only those on. Want a bigger / smaller map when you switch between your laptop and desk? Change its size.
The UI and the internals are polished. The Go To window highlights the matching search subset in bold, even when it’s only part of a word. Extra information to help you navigate is in quiet grey: readable but not in your way. The minimap uses a custom, threaded rendering and syntax highlighting engine, is low priority and smart-updating to save battery, and is antialiased right down to its progress bar. Does antialiasing matter? No, but it’s indicative of the effort and polish that has gone into the product.