ctags.exe и etags.exe возвращают Permission denied

Я имею ctags.exe а также etags.exeустанавливается через установщик scoop и приложение emacs.
Независимо от того, как я его запускаю, я всегда получаюPermission deniedвывод ошибок.
Будь то с правами пользователя CMD или администратора (вещь с повышенными разрешениями).

tomas@NUC8I7HVK D:\playground\c\milton\src
# ctags.exe .
.: Permission denied

$ C:\Users\tomas\scoop\apps\emacs\current\bin\ctags.exe .
.: Permission denied

Это используемая версия:

# ctags.exe -V
ctags (GNU Emacs 26.2)
Copyright (C) 2019 Free Software Foundation, Inc.
This program is distributed under the terms in ETAGS.README

Я бы сказал, что это Windows 10, хотя я не нашел никакой помощи в Интернете.

3 ответа

ctags.exeвключенный в Emacs для Windows, у меня не работает.
Я пробовал универсальные-ctags, которые действительно работают.

tomas@NUC8I7HVK D:\playground\c\milton\src
$ scoop search ctags
'extras' bucket:
    emacs (26.3) --> includes 'ctags.exe'
    universal-ctags (2020-03-12)

'main' bucket:
    ctags (5.8)

tomas@NUC8I7HVK D:\playground\c\milton\src
$ scoop search universal-ctags

64-разрядная версия Windows 10

Вы не сказали, что не удалось создать файл тегов.

"Вы можете увидеть такие сообщения, как" Предупреждение: невозможно открыть файл с исходным кодом '...': Permission denied", пока etags создает файл тегов. Эти предупреждения можно игнорировать".

Как использовать ctags

Я нашел обходной путь для использования etags в деревьях каталогов, которые могут вас заинтересовать. Вы можете запустить цикл for и использовать флаг -a для добавления к файлу TAGS следующим образом:

      for /r %y in (*.c) do etags -a %y

Параметр /r в цикле for будет выполнять цикл for в каждом каталоге дерева.

Также можно сделать bat-скрипт:

      for /r %%y in (*.c) do etags -a %%y
for /r %%y in (*.h) do etags -a %%y
Другие вопросы по тегам