Resharper - 在 C# 中使用 "prop" 快捷方式时禁用 'help'
Resharper - Disable 'help' when using "prop" shortcut in C#
我对 Resharper 的一项功能感到非常恼火,我就是找不到如何独立禁用它。
在关闭 Resharper 的情况下,每当我在 VS2015 中键入 prop
并按 TAB
时,我都会得到以下自动生成的代码:
public int MyProperty { get; set; }
然后我可以通过再次按下 TAB
来在 int
和 MyProperty
之间反复切换。
我还可以在键入时使用自动完成功能填写变量类型。
例如,假设我想创建一个名为 "test" 且类型为 "string" 的 属性,我将执行以下操作:
- 输入
prop
- 按
TAB
生成属性代码模板
- 输入
stri
- 按
TAB
自动完成变量类型string
- 按
TAB
移动到变量名占位符
- 键入
test
- 按
Return
完成
完美。
然而,在启用 Resharper 的情况下,虽然步骤 1、2 和 3 仍然有效,但之后一切都将投入使用!
如果我按 TAB 键尝试自动完成变量类型,光标会简单地移动到变量名称,变量类型仍为 stri
。
如果我然后再次按 TAB
(甚至 SHIFT+TAB
)尝试返回它,它只会结束该行。
为了让事情更清楚,我提供了两个 gif 演示我的问题。
第一个显示禁用 Resharper 时发生的情况:
虽然这说明了我目前在启用 Resharper 时遇到的挫败感:
您的智能感知设置似乎存在冲突。
重新启用 Resharper,然后更改此设置:
Resharper->Options->IntelliSense->General
将选择从 "Visual Studio" 更改为 "Resharper",点击“保存”,您就会得到想要的行为。
我知道这是一个老(呃)问题并且已经有了答案;但是,我想为未来的 SO 读者提供一种解决方案,允许他们继续使用 Visual Studio 的 IntelliSense 而不是 Resharper 的。
我遇到了与 OP(原始发布者)相同的问题,发现该问题是由与 Resharper 的实时模板冲突引起的。启用 Resharper 后,Tab + Tab
之后 prop
的解析会解析 Resharper 的 prop
实时模板,而不是 Visual Studio 的 prop
片段。您可能已经注意到,在 OP 的第二个屏幕截图(启用了 Resharper 的屏幕截图)中,prop
的分辨率显示为 TYPE
而不是 int
的数据类型。这是因为 Resharper 的 Live Template 已将此参数名称设置为 TYPE
,而 Visual Studio 的代码片段默认将相同的参数设置为 int
。这就是促使我查看 Resharper 的实时模板以寻求解决方案的原因;你瞧,关闭 prop
Live Template 可以解决这个问题。
转到 Resharper 的模板资源管理器 (Resharper -> Tools -> Templates Explorer
),您将看到一个名为 prop
的实时模板。只需清除 prop
实时模板和 Visual Studio 的 prop
片段解析以及相关数据类型解析的复选框,即可重新开始工作。
我发现这些快捷方式在不禁用任何东西的情况下仍然有效,但有时此功能会停止工作。
目前使用 R# 2018.2,默认键盘映射设置为 IntelliJ IDEA 方案(因为我也使用 java)并且快捷方式都可用,但是当它们停止工作时关闭所有选项卡并重新打开选项卡你正在努力正常修复它。
无需重新启动或重置。
我对 Resharper 的一项功能感到非常恼火,我就是找不到如何独立禁用它。
在关闭 Resharper 的情况下,每当我在 VS2015 中键入 prop
并按 TAB
时,我都会得到以下自动生成的代码:
public int MyProperty { get; set; }
然后我可以通过再次按下 TAB
来在 int
和 MyProperty
之间反复切换。
我还可以在键入时使用自动完成功能填写变量类型。
例如,假设我想创建一个名为 "test" 且类型为 "string" 的 属性,我将执行以下操作:
- 输入
prop
- 按
TAB
生成属性代码模板 - 输入
stri
- 按
TAB
自动完成变量类型string
- 按
TAB
移动到变量名占位符 - 键入
test
- 按
Return
完成
完美。
然而,在启用 Resharper 的情况下,虽然步骤 1、2 和 3 仍然有效,但之后一切都将投入使用!
如果我按 TAB 键尝试自动完成变量类型,光标会简单地移动到变量名称,变量类型仍为 stri
。
如果我然后再次按 TAB
(甚至 SHIFT+TAB
)尝试返回它,它只会结束该行。
为了让事情更清楚,我提供了两个 gif 演示我的问题。
第一个显示禁用 Resharper 时发生的情况:
虽然这说明了我目前在启用 Resharper 时遇到的挫败感:
您的智能感知设置似乎存在冲突。 重新启用 Resharper,然后更改此设置:
Resharper->Options->IntelliSense->General
将选择从 "Visual Studio" 更改为 "Resharper",点击“保存”,您就会得到想要的行为。
我知道这是一个老(呃)问题并且已经有了答案;但是,我想为未来的 SO 读者提供一种解决方案,允许他们继续使用 Visual Studio 的 IntelliSense 而不是 Resharper 的。
我遇到了与 OP(原始发布者)相同的问题,发现该问题是由与 Resharper 的实时模板冲突引起的。启用 Resharper 后,Tab + Tab
之后 prop
的解析会解析 Resharper 的 prop
实时模板,而不是 Visual Studio 的 prop
片段。您可能已经注意到,在 OP 的第二个屏幕截图(启用了 Resharper 的屏幕截图)中,prop
的分辨率显示为 TYPE
而不是 int
的数据类型。这是因为 Resharper 的 Live Template 已将此参数名称设置为 TYPE
,而 Visual Studio 的代码片段默认将相同的参数设置为 int
。这就是促使我查看 Resharper 的实时模板以寻求解决方案的原因;你瞧,关闭 prop
Live Template 可以解决这个问题。
转到 Resharper 的模板资源管理器 (Resharper -> Tools -> Templates Explorer
),您将看到一个名为 prop
的实时模板。只需清除 prop
实时模板和 Visual Studio 的 prop
片段解析以及相关数据类型解析的复选框,即可重新开始工作。
我发现这些快捷方式在不禁用任何东西的情况下仍然有效,但有时此功能会停止工作。
目前使用 R# 2018.2,默认键盘映射设置为 IntelliJ IDEA 方案(因为我也使用 java)并且快捷方式都可用,但是当它们停止工作时关闭所有选项卡并重新打开选项卡你正在努力正常修复它。
无需重新启动或重置。