One of the oldest and most general code navigation tools is tags. The idea is that you generate a tags database for your code base and then use it to tell your editor where to find the definition of a variable, function, class, or whatever. I used to use tags when I was a Vim user but haven’t bothered since I moved to Emacs. Mostly that’s because I don’t deal with large code bases anymore so I don’t have the need. Of course, that means I never bothered to learn how to work with them in Emacs.
Marius MÃ¥rnes Mathiesen has written an excellent post on using tags with Emacs. He covers all the basics, including how to generate the tags database and keep it up to date. If you deal with large code bases and don’t already have a tool that works for you, take a look at his post. Tags may be just what you need. Even if you already have a solution, it’s worth taking a look to see if tags will suit you better.