1

Я относительно новичок в emacs и использую emacs версии 21.3.1 и пробую ctags для emacs (в основном, чтобы перейти к определениям).

Я работаю с большим решением с большим количеством проектов. Проблема в том, что всякий раз, когда я пытаюсь перейти к тегам под курсором, используя команду M-. , он пытается найти таблицу тегов из текущей директории исходного файла.

Мой файл TAGS находится в корне моего решения. Поэтому я должен указать на него, используя Mx visit-tags-table [путь к моему файлу тегов].

Есть ли способ установить это при запуске emacs, чтобы мне не приходилось каждый раз указывать на это?

2 ответа2

3

Кажется, вы хотите установить переменную tags-file-name .

Одним из способов было бы установить его в вашем .emacs , что-то вроде:

(setq tags-file-name "path/to/file")

Я бы не стал этого делать, так как он будет фиксировать таблицу тегов глобально, и в случае, если вы захотите использовать другую таблицу (скажем, для другого проекта), это не сработает.

Кажется, что вы могли бы использовать так называемые локальные переменные и установить их для каждого файла. Сделайте C-h v tags-file-name RET чтобы увидеть больше информации.

0

Вот рецепт, который гарантирует, что у вас всегда будет файл тега обновления, загружаемый автоматически, когда и где вы запускаете emacs.

  1. Создайте файл emacs_startup.bash в каталоге вашего проекта, который содержит это:

    find . -name "*.yourCodeFileExtensionHere" -print | etags -
    cp TAGS ~/CurrentTagsCopy
    emacs 
    
  2. chmod u+x emacs_startup.bash

  3. В вашем основном файле конфигурации emacs добавьте эту строку:

    (setq tags-file-name "~/CurrentTagsCopy")
    
  4. Чтобы начать работу, перейдите в каталог вашего проекта и выполните ./emacs_startup.bash .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .