如何在C#中显示方法参数提示框?

178

VS2010:

在VB中,我可以将光标放置在现有方法的参数括号内,在其后键入一个空格,这样就会弹出包含我所在参数描述的工具提示。但是在C#中则不行。为了显示出这个提示,我必须删除整个包括参数的括号,然后重新输入左括号。是否有快捷键或设置可以更改这种行为?我尝试按下ctrl、shift、alt键,但没有效果。


1
指向原始答案的指针:ctrl+k, p - Ognyan Dimitrov
2
@OgnyanDimitrov Ctrl+Shift+Space - Alex78191
6个回答

338

Ctrl+Shift+Space可以实现您想要的功能。

您可能想查看键位绑定海报。


10
据我所知,这不会在光标位于参数括号内部时触发参数信息提示。 - spender
5
看着这张图表,CTRL+Shift+Space 看起来是正确的选项。 - spender
3
谢谢!有效果。那么我就假设它无法更改为“自动”行为了?顺便说一下,这是一个与VS2010类似的链接:http://www.microsoft.com/downloads/en/details.aspx?FamilyID=92ced922-d505-457a-8c9c-84036160639f&displaylang=en - bretddog
2
请确保您没有安装Resharper,因为它会覆盖此快捷键。如果您已经安装了Resharper,可以在“工具>选项>键盘”菜单中删除覆盖:搜索带有“CodeSmart”的命令。 - Protector one
6
这句话的意思是:“这个叫什么?我想重新映射它。” 它似乎被称为 Edit.ParameterInfo - user2684182
显示剩余3条评论

41

在VS2015中,按下Ctrl-K Ctrl-I即可。以防未来的人们想知道这个问题。


19

我不完全理解你的意思。但是我使用这段代码来实现方法参数的提示工具。

/// <summary>
/// Do work function
/// </summary>
/// <param name="id">This is user's Id.</param>
/// <param name="name">This is user's Name.</param>
/// <param name="surname">This is user's surname. </param>
private void DoWork(int id, string name, string surname)
{ 
    // do stuff
}

20
我相信他已经有了XML文档。问题是如何在现有方法调用中显示工具提示。 - Cody Gray

8

使用VsVim扩展的Visual Studio 2019

在C#和C++中,它可以在NORMALINSERT模式下工作:

Ctrl+Shift+Space

确保将插入符号放置在第一个括号后面:

C#

"Value".Contains(|   <-- caret

C++

glClearColor(|  <-- caret

你如何遍历参数? - AnotherDeveloper

6
Ctrl + K, Ctrl + P

Ctrl + Shift + Space 无法使用时,对我很有效。或许是由于 Resharper 的原因?


1
很遗憾,2022年它不起作用。如果我没记错的话,2019年的Visual Studio可以使用。 - sergiol

2
最可靠的方法(由于插件等)是在设置中查找它。
  1. 打开设置窗口:工具 -> 选项
  2. 进入 环境 -> 键盘
  3. (可选)通过 显示包含命令: 字段过滤命令(例如,在其中输入“param”)
  4. VS 2017、2019 和 2022 中,名称为“Edit.ParameterInfo”(默认绑定为 CTRL + SHIFT + P
  5. ReSharper 2021 中,名称为 ReSharper.ReShareper_ParameterInfoShow

此外,这里有一个MS文档中所有快捷方式的列表,其中包含命令名称和说明。我发现在其中搜索命令比在应用程序内部的设置中更容易。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接