Это Far Manager плагин для навигации по исходному коду, проиндексированному с помощью утилиты Ctags.
- Переход к объявлению имени
- Автодополнение (code completion)
- Поиск имени по всему репозиторию
- Поиск имени в текущем файле
- Поиск и открытие файла по имени
- Топ посещаемых имен и файлов
- Список членов класса
- История навигации по исходникам
- Создание базы данных Ctags для выбранного корня репозитория
- Переиндексация редактируемого файла и репозитория
- Макрос с горячими клавишами
- При открытии репозитория в меню "Manage Repositories" плагин переместит вас в ту папку где вы работали над проектом #93
- Навигация полностью переработана. Опции "Go back" и "Go forward" стали более удобными и предсказуемыми #94
- Плагин стал стабильнее. Пофикшено: #95, #96, #97
- Теперь можно обновлять индекс редактируемого файла (#79)
- Самые посещаемые теги выводятся в топе всех меню (#87, #88, #90). Это поведение можно отключить: F11->Ctags Source Navigator->Plugin configuration->Recent tags in the first place
- Плагин стал чуть чуть удобнее. Зацените обновленное меню "Manage repositories", теперь там можно смотреть историю заргуженых репозиториев, перемещаться в корень репозиторя, и делать любой репозиторий библиотечным (permanent)
- Плагин стал немного быстрее. Пофикшен медленный поиск коротких имен (#85)
- Плагин стал стабильнее. Пофикшены баги: #77, #83, #84, #86, #89
- Плагин стал стабильнее. Пофикшены баги: #70, #71, #75
- Загрузите последний релиз со страницы релизов
- Извлеките содержимое архива в папку FarManager/Plugins/ctags
- Установите макрос с горячими клавишами. Скопируйте скрипт ctags_hotkeys.lua в папку %FARPROFILE%\Macros\scripts
После копирования скрипта перезапустите Far Manager
copy ctags_hotkeys.lua "%FARPROFILE%\Macros\scripts"
Плагин поддерживает Universal Ctags, Exuberant Ctags и ctags из проекта Cygwin. Откройте F9->Options->Plugins configuration->Ctags Source Navigator, поместите путь до ctags.exe в едитбокс 'Path to ctags.exe' и нажмите OK.
Если вы Lua разработчик, вам понравится Yet Another Lua TAgs
Эту штуку легко интегрировать в плагин как кастомный ctags индексатор. Скачайте свежий релиз, распакуйте его и пропишите полный путь до скрипта ctags_wrapper.bat расположенного в <распакованный_релиз_yalta>\yalta\ctags_wrapper.bat в 'Path to ctags.exe' меню конфигурации плагина.
-
Используйте плагин в непроиндексированных файлах. Плагин автоматически проиндексирует текущий открытый файл при вызове меню плагина
-
Проиндексируйте репозиторий. Для этого вы можете использовать ctags плагин: перейдите в папку репозитория, переместите курсор на папку, которую вы хотите индексировать, или на папку
'..'
, если вы хотите индексировать весь репозиторий. Нажмите F11->Ctags Source Navigator->Index selected directory. Файл тегов будет создан внутри выбранной папки, и все символы будут автоматически загружены в плагин. Если у вас уже есть репозиторий, индексированный утилитой ctags, вы можете загрузить индексный файл (tags), чтобы сообщить плагину, что вы намерены работать с этим репозиторием. Это можно сделать несколькими способами:- Ничего не делать: при попытке поиска имени плагин сам предложит загрузить один из файлов тегов, который он нашел в родительских каталогах.
- Переместите курсор на файл тегов и просто нажмите Enter.
- Переместите курсор на файл тегов, нажмите F11->Ctags Source Navigator->Load tags file (самый скучный способ загрузки тегов).
- Загрузите недавно открытый файл тегов. Нажмите F11->Ctags Source Navigator->Load from history и выберите файл тэгов.
Теперь плагин «знает» о символах в вашем репозитории, и вы можете использовать плагин для поиска имен.
-
По умолчанию плагин не выполняет поиск имен для репозиториев, в котором вы не находитесь в данный момент. Однако это поведение можно поменять для некоторых репозиториев, сделав их библиотечными (permanent). Чтобы сделать репозиторий библиотечным, перейдите в нужный репозиторий и наберите меню F11->Ctags Source Navigator->Add permanent repository. После этого плагин предложит вам на выбор tags файл, который соответствует репозиторию. Чтобы репозиторий перестал быть библиотечным, вам необходимо зайти в меню F11->Ctags Source Navigator->Manage repositories, выбрать соответствующий репозиторий и нажать комбинацию клавиш Ctrl+Del.
-
Откройте файл с исходным кодом, перейдите к имени, объявление которого вы хотели бы найти. Нажмите F11->Ctags Source Navigator->Go to, и плагин автоматически переместит курсор к объявлению этого имени. Если имя имеет несколько объявлений (например, в C++ определение имени также является объявлением, поэтому в этом случае у вас будет два объявления), плагин предложит загрузить одно из них.
-
Для автодополнения имени нажмите F11->Ctags Source Navigator->Complete symbol
-
Вы можете вернуться на то место откуда перешли используя планин нажав F11->Ctags Source Navigator->Go back
-
Перемещайтесь между текущей и предыдущей позиции используя опцию Go back вместе с F11->Ctags Source Navigator->Go forward
-
Вы можете просмотреть список членов класса. Для этого установите курсор на имя класса, а затем нажмите F11->Ctags Source Navigator->Class members
-
Вы можете просмотреть имена, объявленные в текущем файле. Нажмите F11->Ctags Source Navigator->Search name in opened file и начните печатать (или вставьте из буфера обмена) имя, которое вы хотите найти.
-
Вы можете искать имена по всему репозиторию. Эта опция работает как в главном меню плагина так и в меню редактора. Нажмите F11->Ctags Source Navigator->Search name in entire repository и начните печатать (или вставьте из буфера обмена) имя, которое вы хотите найти.
-
Вы можете искать и открывать файлы, которые были проиндексированы. Эта опция доступна в главном меню и в меню редактора, нажмите F11->Ctags Source Navigator->Search file by name и начните печатать (или вставьте из буфера обмена) имя файла, который хотите открыть.
-
Вы можете отфильтровать любую выдачу, а так же результаты фильтрации. Нажмите Tab в любом меню с выбором имен или файлов чтобы начать фильтровать результат, Esc - чтобы перейти к предыдущему фильтру и Ctrl+Z чтобы закрыть меню.
-
Если кодовая база устарела, вы можете переиндексировать репозиторий. Нажмите F11->Ctags Source Navigator->Reindex repository в главном меню или в меню editor и плагин предложит вам переиндексировать один из tags файлов, которые он нашел. Если во время индексирования что-то пойдет не так (например, вы отмените операцию) плагин откатится к старому tags файлу.
- Go to -
Ctrl+F
- Complete name -
Ctrl+Space
- Go back -
Ctrl+G
- Go forward -
Ctrl+D
- Search name in opened file -
Ctrl+Shift+X
- Search name in entire repository -
Ctrl+Shift+T
- Search file by name -
Ctrl+Shift+R
- Search name in entire repository -
Ctrl+Shift+T
- Search file by name -
Ctrl+Shift+R
Если у вас есть крутая идея новой фичи или вы обнаружили ошибку, пожалуйста, создайте ишью. Нажмите на звездочку в правом верхнем углу страницы, если вам нравится этот плагин
Код этого плагина основан на исходном коде оригинального Ctags Source Navigator плагина. Изначально я планировал просто портировать его под третий Far. Однако чтобы плагин можно было использовать пришлось все серьезно переделать и добавить фичей (и фичей будет еще больше!). Поэтому я решил стать мантейнером плагина. Спасибо Константину Ступнику, автору оригинального плагина Ctags Source Navigator.