ReSharper接口命名

时间:2013-04-24 18:10:09

标签: c# resharper

在ReSharper中,如果我在类上使用“实现接口”操作,则会创建一个名为Implementation of IInterface的区域。但是,如果我手动实现接口然后运行代码清理,它会将我的接口成员包装在名为IInterface Members的区域中。

为什么它使用两种不同的命名约定?如果有办法将其标准化?

1 个答案:

答案 0 :(得分:1)

根据Reordering Type Members的R#文档,代码清理应重新排序并将已实现的接口包装在命名区域中:

R# ImplementsInterface XML Rules

  

此XML代码与实现接口环绕的成员匹配   它们通过已实现接口的名称进行区域和排序。   $ {ImplementsInterface}变量包含接口的名称   正在实施。如果您不想在周围插入区域   接口实现,删除Group标签和ReSharper将   只是根据接口的名称对成员进行排序   实施

检查您的设置,看看您是否覆盖了默认行为。另一方面,我没有亲自测试代码清理与重新排序和区域包装,所以这是一个最好的猜测。但是,希望它可以指出你正确的方向。

修改
在更详细地查看文档并使用R#浏览所有可编辑模板之后,我认为没有办法编辑区域标签的文本。

我反编译JetBrains.ReSharper.Feature.Services.CSharp.dll并发现了我认为该地区标签的来源:

  • 命名空间:JetBrains.ReSharper.Feature.Services.CSharp.Generate
  • 分类:CSharpGeneratorContext
  • 方法:InsertWithRegionsCSharpGeneratorContext

这两种方法都在dll中嵌入了字符串"Implementation of " + <some code>,因此您似乎无法编辑默认文本。