VSCode goto实现,goto定义,goto类型定义,差异

问题描述 投票:0回答:1

我注意到VSCode有以下内容

  • 转到实施
  • 转到定义
  • 转到类型定义

我对这些如何工作有点困惑,有时他们甚至打开了一个窥视定义。有人可以提供一个关于此用法的实际例子。我找到了以下Difference between Goto Definition and Goto Implementation in Visual Studio,但缺乏goto类型定义。

visual-studio-code
1个回答
0
投票

好吧,去类型定义完全按照它说的做。

VS Code documentation为我们提供了所有信息:

转到类型定义

某些语言还支持通过从编辑器上下文菜单或命令选项板运行“转到类型定义”命令来跳转到符号的类型定义。这将带您到符号类型的定义。命令editor.action.goToTypeDefinition默认情况下不绑定到键盘快捷键,但您可以添加自己的自定义键绑定。


关于你的问题:

有时他们甚至开辟了一个窥视定义

它会在找到多个候选人时显示peek定义弹出窗口,并留给您选择跳转的位置。

我对这些如何运作感到困惑

这些术语对某些语言有意义,例如C#,以及对VS Code的完全支持。在其他语言中,例如Ruby,尽管有接口,但VS Code似乎不支持Go To Implementation。然后你有JavaScript,没有接口,在这种情况下Go To Implementation路由到Go To Definition

有人可以提供一个关于此用法的实际例子。

你已经有了Go To ImplementationGo To Definition,在这里它是Go To Type Definition(因为它已经有一段时间我没有编写这种类型的语言,我可能在某些细节上错了):

1: class Animal
2: end
3:
4: Animal dog = new Animal();

在线4

  • Go To Type Definition符号“狗” - > l1
  • Go To Definition符号“狗” - > l4
  • Go TO Definition符号“动物” - > l1
© www.soinside.com 2019 - 2024. All rights reserved.