0

文字列と値のペアを渡して値を強調表示できるビジュアル スタジオ拡張機能を作成しようとしています。

特定のコードを検索する拡張機能があり、例として、それが実行され、すべての if ステートメントが返される可能性があります。

If(someString == someOtherString){
  return “This was something”;
}

If(someStringElse == someOtherString){
  return “This was interesting”;
}

この例では、私の値は、の一部である開き括弧である可能性があります

If(someString

MSDN サイトのチュートリアルをいじってみましたが、オール オア ナッシングしか表示されないようです。すべての開いている括弧を強調表示することができますが、必要なコードブロックのみに制限することはできません(検索したいコードブロックを渡します)

4

1 に答える 1

1

そのプロトタイプに従っている場合は、ここでこれらの行を調整できます。

//Find the new spans
FindData findData = new FindData(currentWord.GetText(), currentWord.Snapshot);
findData.FindOptions = FindOptions.WholeWord | FindOptions.MatchCase;

wordSpans.AddRange(TextSearchService.FindAll(findData));

TextSearchService.FindAllAddRangeは、渡されたテキストに一致するエディター内のスパンのリストを返しています。. そのロジックを必要に応じてカスタマイズします。明らかに、強調表示したいものがキャレットの位置に依存しない場合は、 を決定するために削除できるコードがかなりありますcurrentWord

于 2013-06-10T22:16:45.527 に答える