Visual Studio颜色/突出显示方法是否可以使用某些属性

问题描述:

是否有可能获得Visual Studio(2010)或ReSharper,使用不同的颜色使用这些方法上的自定义属性来呈现方法调用。例如:Visual Studio颜色/突出显示方法是否可以使用某些属性

[Arrange] 
private void ArrangeSomeVariablesAndSetup() 
{ 
    ... 
} 

[Act] 
private void ActOnThoseVariablesOrDoSomethingInteresting() 
{ 
    ... 
} 

[Assert] 
private void AssertThatSomethingHappeningThatWasExpecting() 
{ 
    ... 
} 

然后调用这些方法时,Visual Studio中应使它们在基于属性颜色,

[Test] 
public void MyTest() 
{ 
    ArrangeSomeVariablesAndSetup(); <-- Renders in green 
    ActOnThoseVariablesOrDoSomethingInteresting(); <-- Renders in blue 
    AssertThatSomethingHappeningThatWasExpecting(); <-- Renders in yellow 
} 

(属性名称和颜色是纯粹用来作为一个例子,也是我这并不一定是限制单元测试)

+1

不是开箱即用,但您可以自己做。请参阅[扩展编辑器](http://msdn.microsoft.com/zh-cn/library/dd885242.aspx)。 – 2012-04-18 14:40:11

如果你正在寻找能够突出测试方法的东西(就像我一样),我写了一个扩展Stay Frosty Method Block Highlighter,它包括一个方法块高亮规则,允许你测试方法放置一个tr基于可配置的属性,围绕它们的安全框。

默认情况下,它包含通常出现在NUnit或MSTest单元测试方法中的属性,但是,您可以使用任何您想要的属性。我将其配置为在我的个人配置中突出显示Benchmark类。唯一的缺点是“属性方法”都是相同的(可配置的)颜色。

我希望能够在节假日中扩展它,以便您可以根据方法的属性定义无限数量的规则/颜色对 - 数据部分全部完成,我只需重构几个位围绕渲染。

你已经特别询问了关于Visual Studio 2010的知识(尽管这是在2012年,所以这将是当时最有可能的版本)。该扩展支持2013和2015,但基于属性的方法块仅在Visual Studio 2015中受支持,因为它依赖Roslyn进行解析。我已经将它移植到2013版本,但是,它的解析器的性能是不可接受的。作为一个周末项目,我没有时间整理它,以便以前的版本无法使用这些功能。

希望有帮助!

+0

马修,你的扩展很棒!请开发2017版! – AsValeO 2017-08-11 07:04:21