My Favorite New Delphi 10.3 Rio Features
If you code a large share of your day, the IDE, or Integrated Development Environment, plays a key role in how productive you are. Getting around quickly and being very familiar with shortcut keys can save a lot of time. Several years ago, I bought Castalia, a popular Delphi IDE plugin that added several productivity enhancements. One of my favorite enhancements was stack-based bookmarks. You could hit F2, go navigate through your code or even bounce to a different file then by simply hitting Escape, you'd be right back where you left off and the temporary bookmark that had been left would be removed.
In 2014, Embarcadero purchased the product from TwoDesk, offered it for free to registered users of Delphi XE7 and then integrated parts of it into XE8. I was maintaining products in Delphi XE and XE2 and had let my Delphi subscription lapse so didn't pay much attention to it. Later, when I renewed, I found there were no more updates to Castalia and the stack-based feature I had loved didn't seem to exist. I was disheartened.
I forgot about it and started using manually created bookmarks more often when using Delphi 10 Seattle. The problem with them is they're only useful within the current source file and once you have several bookmarks in several different source files, it's easy to confuse yourself with which one goes where.
So when Delphi 10.3 came out and had a couple of new plugins available from it's GetIt Package Manager that provided this forgotten capability, I was elated. Reading about the Bookmarks and Navigator plugins, I found that stack-based bookmarks had been finally integrated into the Delphi IDE in 10.1 Berlin, but the hotkey, instead of being the simple function key used by Castalia was an obtuse, hard-to-remember combination of Ctrl+K & Ctrl+G. What? Why would they do that? Are they not creative enough to come up with something easier to remember than that?
But another, equally exciting plugin, also by Parnassus, is Navigator. This goes hand-in-hand with Bookmarks because it helps you jump quickly to places you might likely go temporarily, then quickly get back to work. For example, when I'm coding, I often realize I need to include a unit to support a method I need. So I have to go up to the implementation section, add a unit under the uses section, then go back to my code to continue. With the Navigator plugin, I can hit Ctrl+G (for Go), down-arrow two times to the Implementation-Uses section and hit Enter. That creates a stack-based bookmark where I am, jumps me up to the implementation section of my Delphi unit, I type in the name of the unit I need, possibly navigate inside and check the syntax, then simply hit Escape and I'm right back to where I can continue coding. Sweet!
Admittedly, this isn't really a built-in feature of Delphi, it's a third-party product they acquired (just like Castalia a few years prior) and are offering free. But at least now I know about it and once again have the convenience and productivity boost of fast navigation and stack-based bookmarks.
I just hope Embarcadero does not change the Navigator's hot key to some weird Ctrl+key combination that is hard to remember.