Visual studio 2012 基于传入代码块的Visual Studio扩展突出显示
正在尝试编写一个VisualStudio扩展,它将允许我传入一个字符串和值对,并突出显示该值 我有一个查找特定代码的扩展,示例是它运行并可能返回所有if语句Visual studio 2012 基于传入代码块的Visual Studio扩展突出显示,visual-studio-2012,visual-studio-extensions,Visual Studio 2012,Visual Studio Extensions,正在尝试编写一个VisualStudio扩展,它将允许我传入一个字符串和值对,并突出显示该值 我有一个查找特定代码的扩展,示例是它运行并可能返回所有if语句 If(someString == someOtherString){ return “This was something”; } If(someStringElse == someOtherString){ return “This was interesting”; } 在本例中,我的值可能是 If(someString
If(someString == someOtherString){
return “This was something”;
}
If(someStringElse == someOtherString){
return “This was interesting”;
}
在本例中,我的值可能是
If(someString
我在MSDN网站上玩过这个教程,但它似乎只显示了一个全有或全无。我可以让它突出显示所有的圆括号,而且我似乎不能将它限制为我想要的代码块(传入我想要搜索的代码块)如果您遵循该原型,那么您可以在这里调整这些行:
//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
我不清楚您在这里想要什么,我也怀疑这是一个“XY问题”,您真的想在这里解决一些不同的问题。你用的是哪个教程?这似乎是标准的Find功能可以或多或少地找到您想要的语句……我正打算通过这个来尝试了解扩展。