VS Code 中可以将鼠标悬停在变量上并查看其定义位置的功能的名称是什么?

What is the name of the capability in VS Code where you can hover over a variable and see where it's defined?

提问人:24n8 提问时间:12/4/2021 最后编辑:24n8 更新时间:12/4/2021 访问量:5200

问:

当您将鼠标悬停在 VS Code 中的变量(例如函数名称)上时,会出现一个小弹出窗口,显示函数的定义位置和其他一些快速详细信息。此功能的名称是什么?

我正在一台新计算机上设置 VS Code,我正在尝试获得该功能,但不确定它叫什么。

visual-studio-code 术语

评论


答:

5赞 Gino Mempin 12/4/2021 #1

内置功能恰如其分地称为悬悬停

例如,内置的 Go to Definition 的文档将其提及为:

如果将鼠标悬停在符号上,则会出现声明的预览Ctrl

在各种特定于语言的功能中也提到了它,例如 HTML Hover 的这个功能:

悬停

将鼠标移到 HTML 标记或嵌入样式和 JavaScript 上,以获取有关光标下符号的详细信息。

HTML Hover

相关的内置设置按 分组,例如:*.hover.*

// Prefer showing hovers above the line, if there's space.
"editor.hover.above": true,

// Controls the delay in milliseconds after which the hover is shown.
"editor.hover.delay": 300,

// Controls whether the hover is shown.
"editor.hover.enabled": true,

...

// Show tag and attribute documentation in hover.
"html.hover.documentation": true,

// Show references to MDN in hover.
"html.hover.references": true,

...

但是,内容取决于文件的语言(如 VS Code 右下角的状态栏所示)和/或已安装的扩展。例如,您说“显示函数的定义位置”,但对于我的 Python 工作区,它们通常只显示函数签名和文档:

sample hover popup for Python

因此,如果您正在寻找悬停弹出窗口的特定行为/内容,则必须检查内置设置和扩展设置。

扩展修改悬停行为/内容的方式也称为显示悬停者,因此特定于扩展的设置也引用它也是有意义的:hover

显示悬停

悬停显示有关鼠标下方的符号/对象的信息 光标。这通常是符号和描述的类型。

animation of Show Hovers, taken from the VS Code docs

评论

0赞 24n8 12/5/2021
Hovers 是否带有“Intellisense”?我发现 Intellisense 扩展倾向于提供此功能
0赞 Gino Mempin 12/5/2021
@24n8我想说的是,它是同一系列功能的一部分。Intellisense 是更通用的术语,不特定于 VS Code,指的是 IDE 中可帮助你读取/写入代码的功能,例如建议/自动完成、突出显示和鼠标悬停时的信息。我在这里没有提到它,因为 Intellisense 上的 VS Code 文档没有提到任何鼠标悬停或悬停行为:code.visualstudio.com/docs/editor/intellisense
1赞 24n8 12/5/2021
啊,我明白了。在我发布这篇文章之后,我安装了一个 Intellisense 扩展(在我的情况下用于 C/C++),这似乎提供了悬停功能。这个功能对你来说很不稳定吗?我发现有时它有效,有时无效,我不知道为什么。
1赞 Gino Mempin 12/5/2021
@24n8 这对我来说效果很好,尽管我不再做 C/C++。它确实是特定于语言和扩展的。只是内置的不是那么有用,所以我认为这就是为什么 VS Code 为语言扩展作者提供了一种改进行为/内容的方法。如果遇到问题,可能需要将其报告给扩展作者。