Resharper 结构查找和替换
我有大量重复代码,我希望在遗留代码库中替换它们,并找到了 Resharper 的 结构搜索和替换功能非常适合该任务。然而,我在使其符合我的模式时遇到问题。
我希望快速修复的模式是:
public string PropertyName
{
get { return base.GetSubNode(_parameterNode, "ElementName").InnerText; }
set { base.GetSubNode(_parameterNode, "ElementName").InnerText = value; }
}
将其替换为:
public string PropertyName
{
get { return GetProperty("ElementName"); }
set { SetProperty("ElementName", value); }
}
我创建了一个模式:
public string $propName$
{
get { return base.GetSubNode(_parameterNode, $elementName$).InnerText; }
set { base.GetSubNode(_parameterNode, $elementName$).InnerText = value; }
}
如果我进行搜索,该模式会匹配,但不会导致可用的快速修复。如果我为 getter 和 setter 创建一个单独的模式,我会得到快速修复,但 getter 模式会同时匹配 getter 和 setter。
getter 模式:
base.GetSubNode(_parameterNode, $elementName$).InnerText
如何快速修复此 getter/setter 对?
I have a massive amount of repeating code that I wish to replace in the legacy code base and found Resharper's Structural Search and Replace feature to be a good match for the task. However I have problems making it match my patterns.
The pattern I wish to have quick-fixes for is:
public string PropertyName
{
get { return base.GetSubNode(_parameterNode, "ElementName").InnerText; }
set { base.GetSubNode(_parameterNode, "ElementName").InnerText = value; }
}
It's to be replaced with:
public string PropertyName
{
get { return GetProperty("ElementName"); }
set { SetProperty("ElementName", value); }
}
I created a pattern:
public string $propName$
{
get { return base.GetSubNode(_parameterNode, $elementName$).InnerText; }
set { base.GetSubNode(_parameterNode, $elementName$).InnerText = value; }
}
The pattern matches if i do a search, but does not result in a quick fix being available. If I instead create a separate pattern for the getter and setter I get quick fixes, but the getter pattern matches both the getter and the setter.
The getter pattern:
base.GetSubNode(_parameterNode, $elementName$).InnerText
How can I get quick-fixes for this getter/setter pair?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
以下搜索/替换模式的工作方式类似于 ReSharper 6.1 中的超级按钮:
将其保存到 .dotsettings 文件,并通过 ReSharper > 导入到您的 ReSharper 安装中。管理选项> [图层名称]>导入/导出设置>从文件导入
The following search/replace pattern works like a charm in ReSharper 6.1:
Save it to a .dotsettings file, and import to your ReSharper installation via ReSharper > Manage Options > [layer name] > Import/Export Settings > Import from file