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

Posted

技术标签:

【中文标题】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?VS Code 中的功能名称是什么,您可以将鼠标悬停在变量上并查看它的定义位置? 【发布时间】:2022-01-10 05:17:09 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

内置功能被恰当地称为hoverhover

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

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

在各种特定语言的功能中也提到了这一点,例如html Hover:

悬停

将鼠标移到 HTML 标记或嵌入样式和 javascript 上以获取有关光标下符号的更多信息。

相关的内置设置按*.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 工作区,它们通常只显示函数签名和文档:

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

扩展修改悬停行为/内容的方式也称为Show Hovers,因此扩展特定设置也将其称为hover 是有意义的:

显示悬停

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

【讨论】:

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

以上是关于VS Code 中的功能名称是啥,您可以将鼠标悬停在变量上并查看它的定义位置?的主要内容,如果未能解决你的问题,请参考以下文章

鼠标悬停在rails中的按钮上时弹出内容

当您将鼠标悬停在某物上时,这个弹出的东西是啥? [复制]

官宣|VS Code 1.59 发布!Terminal 可以跨窗口移动了!

使悬停功能与移动设备兼容

如何将鼠标悬停在角度自动完成选项上

如何更改 VS 2010 中的轮廓悬停颜色?