Ctags Source Navigator

Здесь можно обсудить ваш любимый плагин.
amigo421
Posts: 11
Joined: Tue 25 Mar, 2008 16:16

Ctags Source Navigator

Post by amigo421 »

Всем привет.

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

Язык - С
mibkay
Posts: 2
Joined: Mon 25 Apr, 2011 06:12

Re: Ctags Source Navigator

Post by mibkay »

http://ctags.sourceforge.net/ctags.html

Попробуй поглядеть в сторону:
ctags --list-kinds

и потом перечислить нужные "kinds" в ctags --c-types=+X-Y
−−<LANG>−kinds=[+|−]kinds
Specifies a list of language-specific kinds of tags (or kinds) to include in the output file for a particular language, where <LANG> is case-insensitive and is one of the built-in language names (see the −−list−languages option for a complete list). The parameter kinds is a group of one-letter flags designating kinds of tags (particular to the language) to either include or exclude from the output. The specific sets of flags recognized for each language, their meanings and defaults may be list using the −−list−kinds option. Each letter or group of letters may be preceded by either ’+’ to add it to, or ’−’ to remove it from, the default set. In the absence of any preceding ’+’ or ’−’ sign, only those kinds explicitly listed in kinds will be included in the output (i.e. overriding the default for the specified language).
As an example for the C language, in order to add prototypes and external variable declarations to the default set of tag kinds, but exclude macros, use −−c−kinds=+px−d; to include only tags for functions, use −−c−kinds=f.
amigo421
Posts: 11
Joined: Tue 25 Mar, 2008 16:16

Re: Ctags Source Navigator

Post by amigo421 »

я использую
ctags --language-force=c --c-kinds=+p

--language-force=c потому что на самом деле у меня не совсем С а очень похожий, и использует другие расширения файлов.

а вопрос на самом деле был не в утилите ctags, т.е. что она выдает с прототипами вполне работает с другими редакторами,
я так понимаю это ограничение плагина Ctags Source Navigator - он не умеет показывать и дополнять с использованием полного прототипа из ctags файлов.

т.е. проблема похоже в плагине :(
mibkay
Posts: 2
Joined: Mon 25 Apr, 2011 06:12

Re: Ctags Source Navigator

Post by mibkay »

Исходники, вроде, есть по той ссылке из первого поста. Можно начинать "допиливать".. :)
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Ctags Source Navigator

Post by John Doe »

2010-01-08

Code: Select all

Что нового в 0.93 по сравнению с 0.92:

  - с новым (5.5) ctags.exe не работал browse symbols of class.
  - browse symbols of class предалагал ввести имя класса если курсор
    стоял на первом символе имени.
Attachments
ctags-0.93-beta.7z
(58.4 KiB) Downloaded 163 times
eugene.manushkin
Posts: 32
Joined: Thu 03 May, 2018 13:17
Been thanked: 5 times

Ctags Source Navigator

Post by eugene.manushkin »

Хотел портировать этот плагин под третий фар, а в итоге пришлось сильно переделать чтобы плагин можно было использовать. Исходный код выложил на гитхаб (EugeneManushkin/CtagsSourceNavigator), как только пойму что плагин стабильный сделаю нормальный релиз. Сейчас можно скачать тестовую версию, доступны x86 и x64 платформы.
Что нового по сравнению с 0.93-beta:
  • Поддержан Exuberant Ctags и ctags входящий в cygwin
  • При создании tags файла плагин автоматически загружает все символы из него
  • Если для текущего файла tags файл не загружен, плагин предлагает самостоятельно найти и загрузить ближайший tags файл в одной из родительских директорий
  • Сделан поиск символов по всему проекту, который доступен из главного меню и из меню editor
  • Добавлена история загруженых tags файлов. Можно заргужать tags прямо из истории
  • Можно добавлять в autoload list из главного меню плагина, а не руками. (Возможно я выпилю вообще autoload list, мутная фича)
Известные проблемы:
  • Плагин не может загружать большие tags файлы (порядка 2Gb)
  • Плагин не находит ни одного символа, если после загрузки tags файла удалили индексный файл
  • Плагин создает индексный файл рядом с tags файлом, а должен где-нибудь в папке ProgramData или сконфигурированной папке
Attachments
ctags-2.1.0.5-x86.zip
(206.24 KiB) Downloaded 125 times
ctags-2.1.0.5-x64.zip
(238.58 KiB) Downloaded 132 times
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Ctags Source Navigator

Post by John Doe »

Известно ли вам о FarCtags?
Если да, то не могли бы вы описать отличия?
eugene.manushkin
Posts: 32
Joined: Thu 03 May, 2018 13:17
Been thanked: 5 times

Ctags Source Navigator

Post by eugene.manushkin »

Да, известно. Отличия:
  • В FarCtags нет goto declaration и code completion, можно только выбрать символ из списка
  • FarCtags работает только с текущим открытым файлом (либо непонятно как сделать чтобы он работал с репозиторием. Поправьте меня если это не так)
  • FarCtags индексирует текущий файл налету каждый раз, когда нужно поискать имя (поправьте меня если это не так). Ctags Source Navigator позволяет работать сразу с несколькими репозиториями, не индексируя их каждый раз
  • FarCtags доступен только из меню Editor, в то время как Ctags Source Navigator доступен из главного меню (можно искать имена в текущем репозитории из главного меню) и из меню эдитора
  • FarCtags почти не настраивается (можно неявно настроить используемую утилиту ctags). В меню F9->Plugins configuration плагина нет
  • Написан на паскале-подобном языке
eugene.manushkin
Posts: 32
Joined: Thu 03 May, 2018 13:17
Been thanked: 5 times

Ctags Source Navigator

Post by eugene.manushkin »

Версия 2.1.0.9 теперь доступна на плагринге.

Что нового:
  • Поддержан Universal Ctags
  • Можно загружать tags файлы просто нажимая на них в панели
  • Можно настроить маску tags файлов
  • Если tags файл не загружен для текущего файла, плагин предлагает загрузить на выбор все tags файлы, которые он нашел в родительских директориях
  • Поддержана вставка из буфера обмена в списках символов
  • Улучшен внешний вид меню
  • Пофикшена проблема с удалением tags.idx файла после загрузки tags файла
  • Плагин стал более стабильным
Плагин существенно улучшился по сравнению с 2.1.0.5, но тем не менее там работы еще выше крыши и багов полно. Вы можете помочь мне разрабатывать плагин если когда заметите неправильную работу/падение плагина добавите issue на гитхабе (ссылка на гитхаб в плагринге) с точным описанием воспроизведения проблемы.
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Ctags Source Navigator

Post by John Doe »

Было бы неплохо положить в архив хоть какой-нибудь readme.
eugene.manushkin
Posts: 32
Joined: Thu 03 May, 2018 13:17
Been thanked: 5 times

Ctags Source Navigator

Post by eugene.manushkin »

John Doe wrote: Tue 15 May, 2018 15:34 Было бы неплохо положить в архив хоть какой-нибудь readme.
Ридми в стиле "читайте инструкцию по ссылке" подойдёт или это моветон? Readme.md и readme-rus.md годные, но поскольку они в формате маркдаун их наверное нехорошо просто так закинуть в архив (или это нормально?). Попробую автогенерить по ним доки.
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Ctags Source Navigator

Post by HaRT »

eugene.manushkin wrote: Tue 15 May, 2018 18:27 в формате маркдаун их наверное нехорошо просто так закинуть в архив
Почему нет?! Голый маркдаун неплохо читается прямо в Фаре (особенно если уложен в какую-то разумную ширину). И всяко их наличие будет несравненно лучше, чем отсутствие стартовой инструкции. А если что-то сгенерить, то придётся переходить в какой-то внешний просмотрщик.
eugene.manushkin wrote: Tue 15 May, 2018 18:27 Ридми в стиле "читайте инструкцию по ссылке" подойдёт или это моветон?
На мой взгляд, ссылка была бы хороша, чтобы легко было быстро перейти на свежайшую версию документа.
Фар есть инструмент, а не нянька. © 2009 DrKnS
User avatar
John Doe
Бюрократ
Posts: 13807
Joined: Wed 27 Apr, 2005 20:42
Has thanked: 73 times
Been thanked: 426 times
Contact:

Ctags Source Navigator

Post by John Doe »

HaRT wrote: Tue 15 May, 2018 18:54 Голый маркдаун неплохо читается прямо в Фаре (особенно если уложен в какую-то разумную ширину).
Согласен.
https://raw.githubusercontent.com/Eugen ... DME-rus.md

Ширина, вертикальные отступы (например перед заголовками), отступы в списках (горизонтальные).
eugene.manushkin
Posts: 32
Joined: Thu 03 May, 2018 13:17
Been thanked: 5 times

Ctags Source Navigator

Post by eugene.manushkin »

Отступы и ширину пофикшу, пока добавил в ридми ссылки на плагринг и обсуждение и положил как есть.
User avatar
HaRT
Moderator
Posts: 10822
Joined: Tue 30 Aug, 2005 17:21
Has thanked: 221 times
Been thanked: 358 times

Ctags Source Navigator

Post by HaRT »

eugene.manushkin wrote: Thu 24 May, 2018 09:09 copying name from menu to clipboard (Ctrl+C or Shift+Insert shortcuts are supported)
Копирование на ShiftIns? Обычно же это CtrlIns. То ли в реализации отступление от конвенции, то ли в анонсе ошибка.
Фар есть инструмент, а не нянька. © 2009 DrKnS
Post Reply

Return to “Обсуждение плагинов”