2012-03-12 46 views
5

我真的很喜歡VS11的新內置功能來查找「代碼克隆」,但似乎沒有任何配置它的方法。在Visual Studio 11中配置代碼克隆

一個例子將只顯示5行或更多的確切克隆。

現在它給出了精確的,強的,中等的和弱的匹配,它看起來像是10行或更多。如果我能夠配置它,這將有助於通過克隆工作,它會發現我肯定已經剪切和粘貼了多年的這些小方法。

UPDATE 這裏是從發行預覽版有關如何配置排除生成的文件

要排除代碼克隆分析通過T4模板生成的文件的能力,文檔註釋

  1. 將模板放在Visual Studio項目的子目錄中。將其命名爲例如GeneratedFiles。

  2. 一個新的文本文件添加到項目,並更改其名稱和擴展t4Exclusions.codeclonesettings

  3. 更改文件的內容如下:

<CodeCloneSettings><Exclusions><File> GeneratedFiles * .cs </File></Exclusions></CodeCloneSettings>

UPDATE - 2012年8月27日 我在Code Clone文檔中發現了這個,它在早期版本中沒有。這是找到長度小於10行的克隆的一種方法。

爲了找到一個特定的代碼片段

1. 高亮顯示的方法或一個get /集定義內的代碼片段的克隆。

注 - 您可以找到語句的克隆,但不能找到諸如字段,方法或屬性簽名之類的聲明。

2. 在片段的快捷菜單上,選擇在解決方案中查找匹配克隆。

如果您想知道解決方案中是否存在類似的方法或片段,請使用此方法。

回答

5

documentation

Clones that are less than 10 statements long are not discovered by this command. 
+1

這是MS克隆檢測器執行「基於標記的」克隆檢測的結果。如果閾值設置太低,則誤報凸起的數量和工具輸出變得無趣。 10行就足夠了,所以誤報率可以接受地小。還有其他的克隆檢測技術可以在小尺寸的情況下獲得良好的結果,而且誤報率很低,但是它們的擴展性並不好。 – 2012-03-13 00:22:15

+0

感謝您澄清此功能文檔的位置。很高興他們有一個功能來排除額外的文件類型,希望有一個用於它的用戶界面(像R#和它從分析中排除文件的方式)。不過,我仍然希望能夠關閉比賽的精確度,這樣我就可以看到精確的比賽。我想這是一個測試版。 – 2012-03-13 03:11:56

0

VS2015處理在確切/強/中克隆/弱2行以上。