2012-04-18 60 views
3

是否有可能獲得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

回答

1

如果你正在尋找能夠突出測試方法的東西(就像我一樣),我寫了一個擴展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

相關問題