Is there any plugin for emacs to automatically update the TAGS file in my C project (for example on buffer save or access) or create a new one if there is no TAGS file present?
Here is how I generate a TAGS file for a C project:
That will create a TAGS file in the current directory for all sub directories and files.
Here is a emacs function that does the exact same thing:
(defun compile-tags ()
"compile etags for the current project"
(interactive)
(cd "YOUR_DIRECTORY")
(compile "find . -name \"*.[chCH]\" -print | etags -"))
NOTE: if you are on windows you'll need to install cygwin and make sure c:\cygwin\bin
is in your path so that you get find
in your path. Also make sure the emacs bin directory is in your path so that you can get etags
as well.