【问题标题】:Call Hierarchy in Visual Studio CodeVisual Studio Code 中的调用层次结构
【发布时间】:2019-05-06 15:44:39
【问题描述】:

我正在尝试在 Visual Studio/VSCodium 中找到“查看调用层次结构”功能。

我要做的是右键单击方法的名称(或按键盘快捷键),然后打开一个新窗格,显示调用单击的方法的所有方法,以及该方法的调用树。

我在 Eclipse 和 PyCharm 中找到了,但我只在 VSCode 中找到了“查找所有引用”。

编辑:我想在 Python 中做到这一点,但如果所有语言都存在这样的功能,那就太好了。

【问题讨论】:

  • 我已经(重新)打开了这个请求:github.com/microsoft/vscode-python/issues/12945
  • 我想知道这个功能是否仍在进行中。我正在寻找 VsCode 中 C/C++ 函数的调用层次结构/调用树视图。这对程序员来说是一个非常有用的功能。在使用 Eclipse IDE 近 10 年之后,我最近切换到了 VsCode。我们在 Eclipse IDE 中有这个调用层次结构,它在理解代码流时非常有用。如果 VsCode 自己不支持,如果有任何免费扩展可用,有人可以指导我吗?

标签: python visual-studio-code


【解决方案1】:

这是当前 (v1.33) 的预览功能。见release notes re: call hierarchy

调用层次结构视图显示来自或调用函数的所有调用,并允许 您可以深入了解来电者的来电者和来电者的来电。图片 下面显示了函数 foo 被 bar 和 bang 调用,然后 bar 被 bang 和 fib 调用。

这是一个预览功能,目前没有任何扩展 为其提供真实数据。但是,如果您是扩展作者, 我们邀请您验证我们提议的 API。如果你感兴趣, 有一个用于测试的示例扩展: https://github.com/jrieken/demo-callhierarchy.

已经有一个绑定命令editor.showCallHierarchy。您将不得不查看是否有任何 python 扩展支持此功能。

---------更新-------

v1.43 发行说明:https://github.com/microsoft/vscode-docs/blob/vnext/release-notes/v1_43.md#call-hierarchy-support-for-javascript-and-typescript


在 v1.50 Insiders' Build 中,可以取消/排除调用层次结构中的选定条目(可能在您查看该条目之后)。见https://github.com/microsoft/vscode/issues/98155

注意演示中的X 关闭按钮:

[感谢@VonC 找到此 PR 并指出]

【讨论】:

  • 请问有没有快捷方式可以打开这个视图?
  • @SternK Shift + Alt + H
  • 你也可以用 VSCode 1.50 PR github.com/microsoft/vscode/issues/98155987654328@更新这个非常好的答案
  • @VonC 谢谢我已将 v1.50PR 信息添加到答案中。
  • 我有 1.52.0 版,但我还没有这个? Shift+Alt+H 只打开帮助菜单。
【解决方案2】:

右键单击方法或函数然后选择查找所有引用(shift + alt + F12)您可以忽略声明引用并仅检查其他引用。

【讨论】:

  • OP 提到他们已经找到了这个功能。他们想要的是完整的调用层次结构(函数 A 由函数 B 和 C 调用,B 由 C、D、F 调用.....)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-11
  • 1970-01-01
  • 2020-10-11
  • 1970-01-01
  • 2020-02-20
  • 2014-05-08
相关资源
最近更新 更多