Today I started using my Mac at work for java programming. When moving from windows to mac I also wanted to ditch IntelliJ and start using Emacs for java programming. This will definitely require a bunch of custom Emacs helpers in order to help navigate large projects.
One of the first things I needed to find was a project manager that allowed me to search only files in a certain project. I want to be able to grep from the project root and open files from the project root. It looks like projectile solves both problems!
Along with projectile comes GNU Global support! Getting this just involved installing ctags and global:
brew install ctags brew install global --with-exuberant-ctags
(add-hook 'java-mode-hook (lambda () (ggtags-mode 1) (setq c-basic-offset 4 tab-width 4 indent-tabs-mode t)))
Now when I visit a java file I can generate (or regenerate) my tag file with
C-c p R. Once that is done I can navigate tags via
normal tags commands
in Emacs as well as special ggtags commands that make use of global’s extra