2011-06-09 40 views
4

我剛花了幾個小時試圖調試我的代碼。整個問題歸結爲一條線:Visual Studio 2010:是否可以在條件之外突出顯示所有「==」?

a == b;

當我真的想要

a = b;

一個經典而愚蠢的問題。事情是,每次我檢查這段代碼時,我的眼睛都會掩蓋==。

有沒有一種方法可以在條件之外的所有==上啓用語法高亮顯示(波形曲線)?我想讓Visual Studio在if(),while(),for(),?:等等之外有一個==時提醒我。這個程序是用C++編寫的,但是我想C#編輯的相同功能。

我會解決的東西,讓我(很容易)使用正則表達式設置錯誤波形。

+2

你不需要它爲C#。該語言禁止這一點。 – 2011-06-09 15:46:57

+0

讓我想起當時我浪費了一天的時間來追蹤一個錯誤,這個錯誤原來是寫成「x!= x;'的行,當作者意思是'x =!x;'時。在我注意到這個問題之前,我可能曾經看過那一行100次。如果更多的程序員利用他們的空間條使代碼可讀,那將會很好。 – 2011-06-09 15:53:49

回答

3

這實際上並沒有回答你的問題,但似乎沒有實際意義給出的問題,編譯器應該給一個1級警告爲:C4553

+0

當我在自己的項目上工作時,這很好理解,但是這個項目是爲了工作,我們的構建腳本以不易搜索的方式輸出很多警告。所以基本上,我失去了這個很好的警告。 – 2011-06-09 16:01:24

+0

警告是好事 - 他們來免費。明確地禁用那些你不關心的。修復剩下的問題。 – 2011-06-09 16:03:21

+0

我不否認,警告很好。當人們與他們打交道時,我喜歡警告。事情是,我正在研究的項目已經存在了大約20年,並不是每個人都清理了他們的代碼(或者在編寫代碼時它可能被認爲是乾淨的)。 此外,該項目需要6分鐘以上的編譯時間,所以我寧願將這個警告提前,而不是編譯,等待6分鐘,修改一個小小的更改,然後再等待6分鐘。 – 2011-06-09 16:13:58

0

有時是有用的operator==到條件語句之外使用。考慮:

bool valuesAreGood = (a == b) && (c == d) && (a < c) ...; 
if (valuesAreGood) { 
    ... 
} 
+0

我知道它有時候很有用,但我寧願有一個警告。 – 2011-06-09 15:59:01

相關問題