在Visual Studio 2015中是否有C#的"转到变量类型声明"功能或免费插件吗?

JBe*_*rer 11 c# plugins hotkeys visual-studio-2015 vs-community-edition

void MagicalFunction(MagicalType magic)
{
    ...
    magic.Poof("something");
    ...
    var foo = magic.GetFoo();
    ...
}
Run Code Online (Sandbox Code Playgroud)

按变量上的热键magic将导航到类型的定义MagicalType.

按热键foo将会定义Foo因类型推断而无法在此处直接看到的类型.

Resharper插件具有此功能(称为Go To Type of Symbol),但有内置替代或免费扩展吗?

Sve*_*aup 7

右键单击"var"关键字,从上下文菜单中选择"转到定义",它将转到变量的推断类型的类型定义.我安装了一些工具,比如提到的Productivity Power Tools,所以不确定这个选项是否可以通过干净的VS2015获得.

  • @JeffSaremi不,不是.用户想要找出没有var的符号的基础类型.示例.Select(product => product.ApplyDiscount())方法中的参数,其中product之前没有var. (2认同)

Jua*_*anR 6

您正在寻找的功能是"导航到".

出于某种奇怪的原因,键盘快捷键已从VS 2015中删除.您可以通过进入"编辑"菜单来查看.该选项将在那里,但没有分配给它的快捷方式.

您可以手动修复此问题.默认值为:

CTRL +,

转到工具>选项>环境>键盘,搜索"Edit.NavigateTo"并重新分配快捷方式.然后,您可以将光标放在变量上并点击快捷方式,并在右上角覆盖一个小窗口,其中包含可能的候选项,其中一个是类型定义.

  • VS 2017中的`Edit.NavigateTo`在哪里? (2认同)

PMV*_*PMV 5

有点.

你可以在F12上按"魔法"来达到它的定义,然后再按F12进入它的类.

另外,虽然你不能通过F12在"foo"上获得任何有意义的东西,因为它只会突出你已经在线上的那条线,如果你在foo之前的"var"中使用F12,它会跳到你的Foo类,即使推断出这种类型.

  • 我已经一直使用这个*double*'Go To Definition'(默认键:F12)方法.不是解决方案. (4认同)