2017-05-23 9 views
0

私は、かみそりのヘルパーで置き換えたいかみそりのページにいくつかの繰り返しHTMLを持っています。私はresharper 2017を使用しています。パターンで検索機能を使用すると、ここで時間を節約できることを期待していますが、私が望むようにする方法を考えることができません。私が間違った目的のために使用しようとしているのか、それともひどく使い切っているのかは分かりません。HTMLをかさばったカミソリのヘルパーに置き換えるにはどうすればよいですか?

これは私が交換したい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または私が知らないビジュアルスタジオ機能を使用していますか?)

答えて

1

私はresharperがこれを処理できるとは思いませんが、正規表現を使用してすべてのファイルを検索して置き換える場合のようです。 サムシング(未テスト)のような: パターン

<li\s+role="presentation"\s+data-bind="visible:\s*(\w+)">\s*<a\s+href="#([\w\-]+)"\s+role="tab"\s+data-toggle="tab">([\w\s]+)</a>\s*</li> 

を探す

@BuildTab("$1", "$2", "$3") 

は、すべての元のコードがどのように定期的に依存しますが、あなたが対処するための検索正規表現を変更することができるかもしれないパターンを交換してください不規則に

関連する問題