Як завантажити / встановити 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.