如何让 Visual Studio 智能感知显示 XML 注释的备注部分?

Posted

技术标签:

【中文标题】如何让 Visual Studio 智能感知显示 XML 注释的备注部分?【英文标题】:How to make Visual Studio intellisense to show the remarks portion of XML comments? 【发布时间】:2012-01-28 13:35:02 【问题描述】:

在输入代码时,我非常喜欢 Visual Studio 2010 (Professional) 的智能感知功能,尤其是我能够查找正在使用的类型的 XML cmets。 (见Documentation from Microsoft)。到目前为止,这有效。 但是XML代码cmets的备注部分没有显示出来。

我认为这是一个非常有用的功能,因为通常有一些有用的信息无法从摘要中轻易猜出。 (这就是为什么我们有一个评论部分,我猜)

如何在智能感知级别探索 Visual Studio 2010(专业版)中的备注部分?(我使用 DevXpress Coderush,如果这很重要,但我不这么认为)。 p>

【问题讨论】:

这很容易产生笨拙的 IntelliSense 工具提示。 <remarks> 部分不打算从 IntelliSense 显示,而是包含不需要立即获取的信息。您可以阅读对象浏览器中的注释或从 XML cmets 自动生成的实际文档。 @CodyGray:是的,但我必须在对象浏览器窗口中搜索类型。考虑到这太烦人了,我已经“在代码中确定”我想要了解什么类型的信息。还是我忽略了对象浏览器中的一个功能,例如“光标上的轨道类型”或其他什么? F12 键自动显示所选对象的来源(如果可用),或在对象浏览器中显示。 (嗯,实际上,这取决于您选择的 VS 设置。更多信息here。) 好的,这将带我去 cmets... 考虑将其发布为答案。如果没有更好的解决方案,我会接受。 我希望有一个选项来显示备注和返回值描述,如果只是因为 MS 总是无法在摘要中包含基本信息!最典型的情况是每当我遇到一个不熟悉的集合类。例如,如果键不存在,Dictionary getter 索引器(多么好的一个术语!)会抛出异常,但摘要没有提到它 - 只有备注才提到。如果项目不存在,HashSet.Remove(T item) 不会尖叫(正如人们所期望的那样,考虑到哈希集的用途和 bool 返回值,但仍然如此)。类似的东西。 【参考方案1】:

Visual Studio v16.6.5 在“文本编辑器 > C# > 高级 > 编辑器帮助”中有一个选项,叫做“在快速信息中显示备注”。它是最近添加的,默认启用,但我没有找到任何关于它的发行说明或文档。我检查了 16.5.2 版本,它没有这样的选项。

启用后,快速信息会在添加段落分隔符(空行)后显示 备注 部分。当没有 summary 部分时,段落分隔符仍会添加到 remarks 之前(不确定这是否是故意的)。

returns 部分现在也以类似方式显示,在 remarks 部分之后,由单词“returns”分隔。但似乎没有禁用此选项的选项。

【讨论】:

这是VS2019,我需要先更新,因为这似乎确实很新! 我检查了,它确实在那里,默认启用。所以,这使得这个问题在未来变得过时了。但是,我不会更改已接受的答案,因为该问题明确指的是较旧的 VS 版本。您可能会考虑使用此答案创建一个新的(wiki)问题,以便为这个好地方赢得当之无愧的声誉。 我有 99% 的把握,即使在添加此选项设置之前,VS 2019 也会默认显示备注(但我认为它从未显示过“返回”)。然后在过去一周左右,我注意到它不再显示;我找到了设置并为我选中了复选框。我把它取消选中然后重新检查它,并且评论又开始显示......【参考方案2】:

将光标放在类/函数/您想查看完整 cmets 的任何内容上,然后按 F12。展开编辑器窗格左侧的 cmets 部分。

【讨论】:

感谢您的意见。然而,这不是我最初想要的,因为我失去了当前的光标位置。我一直在寻找可以在不离开编辑器的情况下弹出的内容。 和我一样。从一整天的谷歌搜索来看,您唯一的选择似乎就是将自定义作品放入 resharper 中。我没有研究那个对我不起作用的解决方案,主要是因为我不使用 resharper。 这是最好的解决方案(嗯,唯一的)有帮助的解决方案,因此接受它。 Ctrl 带您回到之前的光标位置 :) Resharper 的东西是github.com/MrJul/ReSharper.EnhancedTooltip

以上是关于如何让 Visual Studio 智能感知显示 XML 注释的备注部分?的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio Code 智能感知随时显示一个建议

带有 Dojo/Dijit 的 Javascript 智能感知是 Visual Studio 2008

Visual Studio javascript 文件中丢失了智能感知和语法高亮显示

Visual Studio:智能感知问题和 Linux 兼容性

Visual Studio javascript 智能感知自定义

在 Visual Studio Code 中反应智能感知