如何在 Resharper 的 IntelliSense 中显示所有 Visual Studio 的代码片段?

How to show all Visual Studio's code snippets in Resharper's IntelliSense?

Resharper 的 IntelliSense 仅显示其自己的实时模板,但不显示 Visual Studio 的代码片段。

有没有办法让 Resharper IntelliSense 显示所有 VS 代码片段?

在 Resharper 的模板资源管理器中,我发现它有许多标记为 Imported Visual C# Snippets

的 Live Snippets

但它并没有导入全部,只导入了其中的一部分。例如,Resharper 没有从 Visual Studio 导入 propfull 代码片段(正如您在第一个屏幕截图中看到的 propfull 不在列表中):

我在 Resharper 中找不到一个功能可以手动导入 VS 代码片段,一个一个地导入,或者一起导入。我在 Resharper 的实时模板管理器中尝试了 Import... 按钮,但显然它只允许导入实时模板(.DotSettings 和 .XML 文件,而不是 .snippets 文件),但不允许导入代码片段文件。是否可以通过某种方式导入 VS 代码片段?

我只想以某种方式让所有 VS 代码片段在 Resharper IntelliSense 中工作。也许有一些第三方工具可以将片段转换为实时模板之类的?谢谢。

ReSharper 不会在安装或首次启动时导入任何 VS 模板。您在模板资源管理器中看到的所有模板均已手动添加到 ReSharper 的默认设置中 - 没有 "Code Snippets to Live Template" 转换器 https://youtrack.jetbrains.com/issue/RSRP-273779.

因此,如果您想在 Live Templates 中获取 propfull 模板,您必须手动创建它 - 打开 ReSharper | Tools | Templates Explorer | Live Templates | C# | New Template 并在其中输入以下代码:

private $TYPE$ _$Var$;

public $TYPE$ $Property$ 
{ 
    get { return _$Var$; } 
    set { _$Var$ = value; } 
}

并调整 Var 占位符:Value -> Choose Macro -> "Value of another variable with the first characters in lower case" -> OK -> "another variable" -> Choose "Property"。还有Editable Occurrence -> Not editable。然后将新添加的模板的占位符顺序更改为以下内容: - Type - Property - Var

在这种情况下,Var 将从 属性 继承一个正确的名称。

只是为了完成我就是这样做的 这张图片显示了代码。正如亚历山大所做的那样。

这张图片是Resharper Template编辑器中需要的配置 在 Visual Studio

另一种插入模板的方法是Resharper 的Mnemonic 包扩展。该包有很多 C# 的实时模板。 查看扩展