#elixir
#elixir
Вопрос:
Я попробовал плагин Elixir для Jet Brains и два из них для VS Code, но пока ни один из них надежно не приводит меня к определению функций и модулей. По-видимому, одна из причин заключается в том, что elixir-lsp не может обрабатывать данные внутри scope
блоков (https://github.com/elixir-lsp/elixir-ls#known-issueslimitations ).
Комментарии:
1. Я могу подтвердить, что плагин intellij работает, проблема была в последних версиях IDE, intellij всегда вносит критические изменения, и для обновления плагина требуется некоторое время.
Ответ №1:
У меня есть временное решение для этого с использованием универсальных Ctags.
На Mac:
brew install --HEAD universal-ctags/universal-ctags/universal-ctags
/usr/local/bin/ctags --exclude=node_modules -R .
Добавьте что-то подобное в свой ~/.vimrc:
set tags=tags,./tags,../tags,../../tags,../../../tags,../../../../tags,../../../../../tags
Затем запустите Vim для некоторых файлов Elixir и используйте ctrl-] для перехода к определениям, ctrl-O для перехода назад.
Чтобы упростить жизнь, я добавил эту цель Makefile:
echo '
.PHONY: tags
tags:
/usr/local/bin/ctags --exclude=node_modules -R .
' >> Makefile
Фальшивая строка сообщает Make всегда запускать команду, даже если файл тегов уже существует.
В VS Code есть плагин под названием ctagsx, который хорошо работает с этими файлами тегов. Я использую его вместе с плагином ElixirLS, и, похоже, это работает до сих пор.
До сих пор я не нашел способа заставить JetBrains / Intellij IDE работать с этими файлами тегов.
Комментарии:
1. Примечание: удобно также распаковать исходный дистрибутив Elixir в подкаталог и перезапустить
make tags
, чтобы вы также могли перейти к определениям основных модулей и функций.