doctorjs(он же jsctags) не работает с vim+tagbar

Я использую Windows 7 64bit...

Я установил nodejs 0.6.11 установщиком MSI, путь установки - "C:\Program Files (x86)\nodejs", он был автоматически добавлен установщиком в мой%PATH%, я установил doctorjs, выполнив следующие действия:

  1. Я скопировал файлы doctorjs в папку "C:\Program Files (x86)\nodejs\doctorjs"
  2. Я создал jsctags.cmd, заполненный контентом, скопированным с https://gist.github.com/1438882
  3. Я добавил следующие строки в мой _vimrc:

let g: tagbar_type_javascript = {\ 'ctagsbin': 'C: \ Program Files (x86) \ nodejs \ jsctags.cmd' \}

Проблема в том, что когда я запускаю jsctags.cmd "{My js folder}", он генерирует файл тегов только с содержимым ниже:

! _TAG_FILE_FORMAT 2 / расширенный формат /!_TAG_FILE_SORTED 0 /0= не отсортировано, 1= отсортировано, 2= свернуто /!_TAG_PROGRAM_AUTHOR Патрик Уолтон /pwalton@mozilla.com/!_TAG_PROGRAM_NAME jsctags //!_Tub_GR_GR_GR_GR / jsctags / GitHub репозиторий /!_TAG_PROGRAM_VERSION 0.1 //

И когда я запускаю: tagbaropen в vim, он ничего не показывает для текущего файла js..

Пожалуйста, направьте меня туда, где я ошибся, спасибо!

2 ответа

Поскольку вы получаете какой-то вывод, похоже, что вы правильно реализовали суть. Но, может быть, ваше ожидание того, как использовать его в командной строке, отличается от того, как оно действительно работает?

FYI: jsctags.cmd "{my js folder}" возвращает пустой файл тегов на моей машине тоже. Я не думаю, что командный интерфейс еще очень зрелый... похоже, создание файла тегов для всей папки невозможно - пока...

Пытаться jsctags.cmd "{file}", Это должно создать населенный пункт tag файл.

Также обратите внимание, что tagbar вызывает jsctags следующим образом: jsctags -f - {file}, Это передает поток на стандартный вывод. Так что, если вы отлаживаете, попробуйте эту форму команды.

Как еще один совет отладки, измените ваш пакетный файл для вывода отладочной информации. то есть: добавить строки, как это:

echo "%~dp0"\"node.exe"  "D:\opt\node\doctorjs\bin\jsctags.js" %* > d:\debug.txt

Ищу в d:\debug.txt позволит вам увидеть, как выглядит команда, как она вызывается из тэга.

Кстати: суть, которую вы используете, была моей... Мне интересно, не достаточно ли я протестировал этот пакетный файл с папками, в которых есть пробелы. Проведите несколько тестов в обеих папках с пробелами и без них, чтобы увидеть, есть ли разница. Если вы поймете, как это работает / не работает, дайте мне знать, и я смогу продолжить расследование.

Ваша проблема может быть связана с коммитом нарцисса, который вы клонировали для doctorjs. Перейдите в папку narcissus в папке doctorjs и запустите

git checkout 4ae5aff8b3

Это должно переключить голову на правильную версию файла.

Другие вопросы по тегам