在Visual Studio中自动完成时自动添加'this'标识符

3
我使用StyleCop的自定义规则和它的ReSharper插件来在我输入代码时自动检查代码。StyleCop中的规则SA1101规定,调用当前类成员需要以this.开头,以表明它确实是在当前类中定义的。
是否有一种设置方式,在自动完成类成员时自动添加this.前缀,以便我不必记住如何输入或之后添加?
让我们以public bool Running { get; set; }为例:
我先输入"Run",然后按Tab,现在它变成了Running,但我想它应该是this.Running
这将节省大量时间和打字。
请注意,Resharper中的选项ReSharper => Options => Code Editing => C# => Formatting Style => Other => "Force 'this.' qualifier for instance member"(由Jon提到)无法按照预期工作。无论是在语句结尾添加一个;(这是可以接受的),还是在按下Tab键后,都不能向类成员添加this. 前缀。

1
这是适用于您的编码风格的规则吗?我所能想到的始终将成员限定为“this”的唯一原因是为了避免与方法参数名称冲突,即您具有支持字段“name”和方法参数“name”。但是,如果您成员变量的风格类似于“_name”,那么我认为到处都使用“this”只会使代码混乱。 - Ed S.
1
不是想表现聪明,但如果你自己添加前缀的话,可能会节省你的时间。 - Jon Martin
1
@EdS.:请注意,该规则适用于当前类的成员,而不是其任何基类的成员。因此,如果您始终使用并省略它,它确实提供了一定程度的信息。 - Jon
1
@Jon:保持一致性总是好的,没错,但除了我之前提到的目的外,它还有什么作用呢?如果你看到this,真的会帮助你知道成员是在当前类中定义的吗?我只是觉得这并不实用,特别是在Visual Studio让跟踪代码和查找定义和重写位置变得非常简单的情况下。 - Ed S.
1个回答

2

如果你访问

ReSharper => Options => Code Editing => C# => Formatting Style => Other

有一个名为"强制使用'this.'限定符用于实例成员"的选项。

启用它应该可以按照您的意图工作。


尝试过在语句末尾添加;或在Tab之后添加,但它并没有更新。 - caesay

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接