the DevOps journey – 在Visual Studio版控比較多個檔案差異
這功能一點都不特別,但很重要,而且我記得我是在用了很久Visual Studio的TFVC版控之後,某一天偶然發現的。 我不知道是否每個人都跟我一樣,我自己在寫程式的時候,習慣在程式碼Check-in之前,對比一下這次修改了哪些東西? 確認無誤之後再Check-in ,會養成這習慣,是因為這小小的動作救了我很多次。 有不只一次,當我這麼做時,留意到了一些原本沒注意到的細節,諸如…在Method裡面忘了檢查參數內容是否正確? 沒有判斷空值或null是否合理? IO處理可能發生exception的地方沒有掛上try…catch…等等,太多了,只要養成review自己的code的習慣,你會發現,常常能購找到可以改善之處。 這個動作會迫使我在簽入前重新看一次剛才自己寫的code,有點自己review自己程式碼的感覺。所以,現在每當我程式寫到一個段落之後,都會習慣的在要比較的那隻程式碼檔案上,點選一下滑鼠右鍵,選擇Compare…比較一下和上一個版本的差異… 但這樣可能會漏掉了某些改過的檔案沒注意到,因此,最好的習慣是在Check-in的那一刻,在該檔案上點選Compare with … 因為版控機制幫你列出了所有修改過的檔案,如此一來,你就不會錯過哪一個檔案。 一般來說,過去在簽入程式碼到伺服器端前,我肯定會一個一個逐一比對,看看和伺服器端的檔案有何差別。(確認改了哪些東西)。 但有時候,Visual Studio會把附屬性質的檔案(例如.aspx.cs, .aspx.designer.cs,當作已修改,但其實它並沒有被改到,真正改到的只有.aspx而已。這時候,一個一個比對很煩人。(浪費時間) 不知道從哪一天開始,我突發奇想,難道Visual Studio不能一次比對多個檔案,先幫我確認哪些檔案有改過,讓我只review有改過的檔案嗎? 有了這個想法,當場嘗試看看能不能用滑鼠Mark多選幾個要簽入的檔案,發現,居然可以耶… 但,卻不能比較(Compare選單disable了) 不死心,又突然想到,那如果選擇資料夾呢? 咦? 可以耶,快來試試看。 你會發現,點選Compare後,會出現底畫面: Visual Studio真的去幫我對比整理出了所有該資料夾下的檔案,僅列出有修改差異的部分,你還可以在該檔案上double-click,看到細部的差異比較: 這節