Resharper - 在C#中使用"prop"快捷方式时禁用"帮助"

Sk9*_*k93 8 c# resharper autocomplete visual-studio-2015 resharper-9.2

我对Resharper的一个功能非常恼火,我无法找到如何独立禁用.

关闭Resharper,每当我输入propVS2015并按下时TAB,我会得到以下自动生成的代码:

public int MyProperty { get; set; }
Run Code Online (Sandbox Code Playgroud)

而我则能够之间切换int,并MyProperty重复按TAB一次.我也可以使用自动完成功能填写变量类型.

例如,假设我想创建一个名为"test"的属性为"string"的属性,我会执行以下操作:

  1. 类型 prop
  2. TAB以生成属性代码模板
  3. 类型 stri
  4. 按下TAB以自动完成变量类型string
  5. TAB移动到变量名称占位符
  6. 类型 test
  7. Return完成

完善.

然而,在启用Resharper的情况下,虽然步骤1,2和3仍然有效,但在此之后它们都会进入底池!

如果我按TAB尝试自动完成变量类型,光标只需移动到变量名称,将变量类型保留为stri.

如果我然后按TAB(或甚至SHIFT+TAB)再次尝试回到它,它只是完成该行.


为了让事情变得更清楚,我提供了两个GIF来证明我的问题.

第一个显示Resharper禁用时会发生什么: 在此输入图像描述

虽然这个说明了我目前在启用Resharper时遇到的挫败感: 在此输入图像描述

Bra*_*ter 5

我知道这是一个旧的(呃)问题并且已经有了答案;但是,我想为未来的 SO 读者提供一种解决方案,允许人们继续使用 Visual Studio 的 IntelliSense,而不是 Resharper 的。

我遇到了与 OP(原始海报)相同的问题,并发现该问题是由与 Resharper 的实时模板冲突引起的。启用 ResharperpropTab + Tab,after 的解析将解析 Resharper 的prop实时模板,而不是 Visual Studio 的prop代码段。您可能已经注意到,在 OP 的第二个屏幕截图(启用了 Resharper 的那个)中,分辨率的prop数据类型显示为TYPE而不是int. 这是因为 Resharper 的实时模板已将此参数名称设置为TYPE,而 Visual Studio 的代码段int默认设置为相同的参数。这就是促使我查看 Resharper 的实时模板以寻求解决方案的原因;瞧,关闭prop实时模板解决了这个问题。

转到 Resharper 的模板资源管理器 ( Resharper -> Tools -> Templates Explorer),您将看到一个名为prop. 只需清除prop实时模板的复选框,Visual Studio 的prop代码段解析以及与此相关的数据类型解析将重新开始工作。

在此处输入图片说明

在此处输入图片说明


Pau*_*aul 2

您似乎遇到了智能感知设置冲突。重新启用 Resharper,然后更改此设置:

Resharper->Options->IntelliSense->General

将选择从“Visual Studio”更改为“Resharper”,单击“保存”,所需的行为应该是您的。

在此输入图像描述