Як завантажити / встановити TAGS з запуску emacs?


1

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

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

Мій файл TAGS знаходиться в корені мого рішення. Так що я повинен вказати на нього за допомогою M-x visit-tags-table [шлях до мого файлу тегів].

Чи є спосіб встановити це, коли я запускаю emacs, так що мені не потрібно кожного разу вказувати на нього?


Ви маєте на увазі навіть після повідомлення Emacs, де знаходиться файл TAGS, він продовжує запитувати про його розташування?
choroba

Як тільки я це вкажу, він більше не запитує. Я просто хочу, щоб це було зроблено під час запуску.
joonho

Незважаючи на це, мені вдалося встановити його в моєму файлі .emacs, додавши (setq tags-table-list '("[шлях до мого файлу тегів]"))
joonho

Ви використовуєте emacsclient? Не відкривайте новий emacs для кожного файлу, який потрібно редагувати.
choroba

Відповіді:


3

Схоже на змінну tags-file-name є той, який ви хочете встановити.

Одним із способів було б встановити його у своєму .emacs, щось на зразок:

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

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

Здається, ви могли б використовувати так звані локальні змінні і встановіть цей параметр на файл. Зробіть C-h v tags-file-name RET щоб отримати додаткову інформацію.


Ваш метод працював теж. Однак я вирішив не встановлювати теги при запуску з точної причини, про яку ви згадали. Дякую.
joonho

0

Ось рецепт, який гарантує, що у вас завжди буде завантажений файл тегів uptodate автоматично, коли і де б ви не запускали 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.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.