2009-09-16 53 views
2

有什麼辦法可以在VS2008中爲未使用的使用語句生成警告嗎?我知道有Edit->Intellisense->Organize Usings->Remove Unused Usings,但如果這是一個編譯時間警告將會很好。任何方式爲未使用的使用產生編譯器警告?

+0

vs2008:43的用途。 visual-studio-2008:3447使用。你認爲哪個更合適? – 2009-09-16 19:22:06

+0

爲什麼社區只是設置爲用更合適的標籤替換vs2008? – 2009-09-16 19:27:11

+0

@Joel:我沒有得到那個評論.. – 2009-09-16 19:27:14

回答

3

如果您使用ReSharper,默認情況下,它會以不同顏色顯示未使用的使用情況(作爲錯誤分析側邊欄中的警告),並且如果突出顯示它們,則可以將它們更改爲顯示爲錯誤。不幸的是,它不會阻止它編譯,但它確實提醒你它們沒有被使用。

+0

ReSharper是.net開發人員使用的常用工具嗎? – 2009-09-16 19:35:11

+0

是的,ReSharper是常用的。 – 2009-09-16 19:56:23

+0

我拒絕在沒有它的VS中開發。 – 2009-09-16 20:27:00

2

不,因爲它不是編譯器問題,所以不能生成編譯器警告。編譯器警告只有在找到死代碼點時纔會生成,例如空catch語句。或者一個未使用的變量。基本上任何可能導致運行時問題的東西。由於使用語句與運行時無關,並且是文本文件的更多樣式問題,因此它們不會生成警告。

但是,您可以使用像reSharper這樣的工具來提醒您未使用的使用語句。

0

我想這不是一個編譯器警告,因爲其無論在什麼絕對沒有後果......

8

我們試圖對其中有問題的代碼幾乎可以肯定是壞,誤導或無用的情況下創建的警告。而且,由於許多人在「警告爲錯誤」的情況下編譯,所以我們有很高的標準;引入虛假或多餘的警告是不好的。

想象一下,您正在編譯時默認打開「warnings as errors」。想象一下,我們實現了你想要的功能。你開始了一個新的項目,我們爲您生成:

using System; 
using System.Text; 
using System.Linq; 

class Program 
{ 
    static void Main(string[] arguments) 
    { 
    } 
} 

,我們立即告訴你,你有一個錯誤在你的程序,因爲沒有「usings」是必要的!這是一個非常不好的用戶體驗。這些「使用」被IDE放在那裏以方便您的使用,因此您無需自己定義它們。您提出的功能會將該功能從方便轉變爲嘮叨。

相關問題