导航到 VS Code 中的 Ruby 函数定义

Don*_*kby 10 ruby visual-studio-code

我对 Visual Studio Code 很陌生,我正在尝试编辑一些 Ruby 代码。我安装了Ruby support,并启用了语言服务器,但是Ctrl单击函数名称不起作用,F12. 这两个功能都适用于 Python 代码。

如何从函数调用导航到 Ruby 代码中的定义?

这是我尝试过的 Ruby 代码:

def foo
    puts "In foo."
end

foo()
Run Code Online (Sandbox Code Playgroud)

这是我的设置:

{
    "explorer.confirmDelete": false,
    "explorer.confirmDragAndDrop": false,
    "terminal.integrated.fontSize": 15,
    "git.confirmSync": false,
    "ruby.useLanguageServer": true,
    "editor.rulers": [80, 120]
}
Run Code Online (Sandbox Code Playgroud)

这是运行良好的 Python 代码:

def foo():
    print('In foo.')


foo()
Run Code Online (Sandbox Code Playgroud)

小智 27

  1. 尝试在您的设置中设置 "ruby.intellisense": "rubyLocate" 。
  2. 检查 yout 项目上的文件夹 .vscode 文件 -> settings.json -> {"ruby.intellisense": "rubyLocate"}

  • 我只需要执行第一步。我的项目中没有 .vscode 文件。在右键单击显示“转到定义”之前,我确实必须退出 VS Code 并重新打开它。 (3认同)

Don*_*kby 9

感谢Chris 的建议,我得到了更好的错误信息。遵循这一原则,我发现 Ruby 的代码导航似乎需要第二语言服务器:solargraph。我不知道您是否需要两者,但我现在可以导航到 Ruby 定义。我也有自动完成功能。

  • Peng Lv 的 Ruby 现已弃用。他们建议使用“Ruby LSP”,但“转到定义”现在不再为我工作了 (10认同)
  • 这对我有用,只是插件不导航到常量定义。 (3认同)