【发布时间】:2017-10-23 09:28:18
【问题描述】:
我想用剃须刀助手替换剃须刀页面上有一些重复的 HTML。我正在使用 resharper 2017,并希望按模式搜索功能可以为我节省一些时间,但我不知道如何让它做我想做的事。我不确定我是否试图将它用于错误的目的,或者我是否只是使用不当。
这是我要替换的 HTML 的(一小部分):
<li role="presentation" data-bind="visible: includeMtbf">
<a href="#mtbf-tab" role="tab" data-toggle="tab">Rolling and Monthly MTBF</a>
</li>
<li role="presentation" data-bind="visible: includeMtbfWithoutMonthly">
<a href="#rolling-mtbf-tab" role="tab" data-toggle="tab">Rolling MTBF</a>
</li>
<li role="presentation" data-bind="visible: includeMtbfByArea">
<a href="#mtbf-by-location-tab" role="tab" data-toggle="tab">Rolling MTBF by Location</a>
</li>
我编写了以下剃须刀助手:
@helper BuildTab(string tabId, string inclusionVariable, string tabText)
{
<li role="presentation" data-bind="visible: @inclusionVariable">
<a href="#@tabId" role="tab" data-toggle="tab">@tabText</a>
</li>
}
现在我只需要将原始 HTML 替换为对助手的调用:
@BuildTab("mtbf-tab", "includeMtbf", "Rolling and Monthly MTBF")
@BuildTab("rolling-mtbf-tab", "includeMtbfWithoutMonthly", "Rolling MTBF")
@BuildTab("mtbf-by-location-tab", "includeMtbfByArea", "Rolling MTBF by Location")
为了澄清我想要实现的目标,我已经手动完成了它们,但是有没有办法让 resharper(或 Visual Studio)为我这样做?
我编写了以下模式供 resharper 搜索:
<li role="presentation" data-bind="visible: $inclusionVariable$">
<a href="#$tabId$" role="tab" data-toggle="tab">$tabText$</a>
</li>
但我不知道如何设置占位符类型以匹配可能出现的任意文本。将它们设置为内容占位符后,它们不会正确匹配,但其他类型似乎都不合适。这可能吗(使用 resharper 或我不知道的 Visual Studio 功能)?
【问题讨论】:
标签: visual-studio razor resharper