导航到VS代码中的Ruby函数定义

btxsgosb  于 2022-11-04  发布在  Ruby
关注(0)|答案(5)|浏览(184)

我对Visual Studio Code还很陌生,我正在尝试编辑一些Ruby代码。我安装了Ruby support,并启用了语言服务器,但按住Ctrl键并单击函数名不起作用,F12也不起作用。这两个特性对于Python代码都很好用。
在Ruby代码中,如何从函数调用导航到其定义?
下面是我尝试的Ruby代码:

def foo
    puts "In foo."
end

foo()

以下是我的设置:

{
    "explorer.confirmDelete": false,
    "explorer.confirmDragAndDrop": false,
    "terminal.integrated.fontSize": 15,
    "git.confirmSync": false,
    "ruby.useLanguageServer": true,
    "editor.rulers": [80, 120]
}

下面是运行良好的Python代码:

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

foo()
snz8szmq

snz8szmq1#

在VSCode中,导航到Ruby函数定义称为“转到编辑器中的符号...":

(Windows:Ctrl + Shift + O。Mac:命令+ Shift + O)。
目前,这在VSCode中还不能直接使用,但是VSCode Ruby Symbols是一个实现它的轻量级扩展。

gg0vcinb

gg0vcinb2#

多亏了Chris的建议,我得到了一个更好的错误消息。按照这个建议,我发现Ruby的代码导航似乎需要第二语言服务器:solargraph。我不知道你是否需要这两个,但我现在可以导航到Ruby定义。我还必须自动完成工作。

更新【2022】

回到Ubuntu 22.04上的VSCode1.67.0,我不再需要solargraph了。但是,我确实费了点劲才弄清楚让它工作的确切步骤:
1.打开文件:首选项:扩展名。
1.搜索Peng Lv的Ruby并安装。
1.打开文件:首选项:设定。
1.单击右上角的按钮以打开JSON设置文件:

1.添加这些设置:

{
    "ruby.useLanguageServer": true,
    "ruby.intellisense": "rubyLocate"
}

1.重新启动VSCode。

u3r8eeie

u3r8eeie3#

1.尝试设置“ruby.intellisense”:设置中的“rubyLocate”。
1.检查文件夹.vscode文件在你的项目-〉设置. json-〉{“ruby.intellisense”:“Ruby定位”}

bqucvtff

bqucvtff5#

如果这对其他人有帮助:根据我自己的经验,您需要在Rails repo中安装solargraph/在VSCode中启用solargraph,并且在VSCode设置中指定rubyLocate作为Ruby intellisense方法。“转到定义”对于只安装了solargraph的Rails项目不起作用,但是一旦我将rubyLocate设置为intellisense方法(默认设置为“false”),它就开始起作用了。

相关问题