我怎样才能为 Elixir 获得可靠的跳转到定义?
How can I get reliable jump-to-definition for Elixir?
我尝试了 Jet Brains 的 Elixir 插件,其中两个用于 VS Code,但到目前为止 none 它们可靠地引导我定义函数和模块。显然部分原因是因为 elixir-lsp 无法处理 scope
块 (https://github.com/elixir-lsp/elixir-ls#known-issueslimitations).
内的东西
我有一个使用 Universal 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
然后在某些 Elixir 文件上启动 Vim 并使用 ctrl-] 跳转到定义,ctrl-O 跳回。
为了让生活更轻松,我添加了这个 Makefile 目标:
echo '
.PHONY: tags
tags:
/usr/local/bin/ctags --exclude=node_modules -R .
' >> Makefile
PHONY 行告诉 Make 总是 运行 命令,即使已经有一个标签文件。
VS Code 有一个名为 ctagsx 的插件,可以很好地处理这些标记文件。我将它与 ElixirLS 插件一起使用,到目前为止似乎可以正常工作。
到目前为止,我还没有找到让 JetBrains/Intellij IDE 使用这些标记文件的方法。
我尝试了 Jet Brains 的 Elixir 插件,其中两个用于 VS Code,但到目前为止 none 它们可靠地引导我定义函数和模块。显然部分原因是因为 elixir-lsp 无法处理 scope
块 (https://github.com/elixir-lsp/elixir-ls#known-issueslimitations).
我有一个使用 Universal 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
然后在某些 Elixir 文件上启动 Vim 并使用 ctrl-] 跳转到定义,ctrl-O 跳回。
为了让生活更轻松,我添加了这个 Makefile 目标:
echo '
.PHONY: tags
tags:
/usr/local/bin/ctags --exclude=node_modules -R .
' >> Makefile
PHONY 行告诉 Make 总是 运行 命令,即使已经有一个标签文件。
VS Code 有一个名为 ctagsx 的插件,可以很好地处理这些标记文件。我将它与 ElixirLS 插件一起使用,到目前为止似乎可以正常工作。
到目前为止,我还没有找到让 JetBrains/Intellij IDE 使用这些标记文件的方法。