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.FindAll正在返回编辑器中与传入的文本匹配的跨度列表。没有什么能阻止您在调用之前简单地更改跨度或计算新的跨度AddRange。将该逻辑自定义为您想要的任何内容。显然,如果您要突出显示的内容不取决于插入符号的位置,那么您可以删除相当多的代码来确定currentWord.

于 2013-06-10T22:16:45.527 回答