【问题标题】:Resharper -is there a way to have it automatically update references?Resharper - 有没有办法让它自动更新引用?
【发布时间】:2014-07-30 01:14:47
【问题描述】:

我看到有人使用 resharper,我注意到每当他们更改属性名称时,它立即反映在所有对它的引用中。

所以我下载了 resharper 的试用版,它似乎仍然是一个手动的“全部替换”功能。它不会在我输入时实时更新。

Resharper 看起来很酷,但我想要我看到的这个特殊功能!与谷歌陷入了死胡同。

【问题讨论】:

    标签: vb.net visual-studio-2012 refactoring resharper


    【解决方案1】:

    你看到的可能是Live Template。那些可以包含占位符,并且同一个占位符可以在同一个模板中出现多次。当您插入模板时,光标会转到第一个占位符,您可以在其中键入新值,并且同一占位符的所有其他实例将在您键入时反映这些相同的编辑。

    例如ReSharper自带一个“dependencyProperty”Live Template,定义为:

    public static readonly System.Windows.DependencyProperty $propertyName$Property =
      System.Windows.DependencyProperty.Register("$propertyName$", typeof ($propertyType$), typeof ($containingType$), new PropertyMetadata(default($propertyType$)));
    
    public $propertyType$ $propertyName$
    {
      get { return ($propertyType$) GetValue($propertyName$Property); }
      set { SetValue($propertyName$Property, value); }
    }
    

    当您插入此模板时,您的光标会转到第一个占位符(上面表示为$propertyName$),您可以为该占位符键入一个值。 $propertyName$ 占位符的所有实例都将在您键入时使用相同的编辑进行更新。

    然后您可以点击 Tab,这会将您移动到下一个占位符 ($propertyType$),您可以类似地对其进行更新。如果您再次 Tab(以保留最后一个占位符),则退出占位符模式,模板变为可以正常编辑的纯旧文本。


    当您重命名一个局部变量时,您还会获得实时更新即键入行为。但是如果你看到这个属性,几乎可以肯定它是一个实时模板。 (属性重命名可能会影响多个文件,这可能需要一些时间,因此 ReSharper 会等到您确认重命名后再进行工作。它还会建议相关的重命名,例如对属性的支持字段进行相应的重命名,这也不是实用的实时更新。)

    【讨论】:

      猜你喜欢
      • 2015-01-20
      • 2022-06-14
      • 1970-01-01
      • 2020-12-11
      • 2019-07-01
      • 2013-06-06
      • 1970-01-01
      • 2022-01-26
      • 1970-01-01
      相关资源
      最近更新 更多