摘要:VS 2005 SP1中HTML原始碼編輯的性能改進
【原文位址】 HTML Source Editing Performance Improvements in VS 2005 SP1
【原文發表日期】 Tuesday, December 19, 2006 1:25 AM
VS 2005 SP1上個星期在網上正式發佈了。VS 2005 SP1的一個總的目標是改進許多常見的用例場景下的IDE的性能和回應性。這裡是幾個場景例子:Build時間,管理大型專案,重構和Intellisense。
對於web場景,我們特別地對HTML原始碼編輯器的性能費了一番功夫,尤其是涉及大HTML文件或者比較慢的機器的情形。下面是在這個方面我們在SP1里做的幾個改進性能的具體變動:
1) 我們對HTML驗證功能的性能做了調整,關於這功能的詳情請見我以前的一篇老文章。現在對大文件的驗證非常快,並不會對文字鍵入或更新造成什麼影響,而在以前,當你在HTML原始碼編輯模式下鍵入文字,而文件處於驗證過程中時,驗證有時會造成輕微的頓挫(stutter)。
2) 我們修正了一個使用場景的問題,這個使用場景是這樣的,假如你關閉了HTML驗證,然後編輯一個有HTML驗證錯誤的網頁,然後轉換到即見即所得(WYSIWYG)設計模式,驗證會自動啟動,幫你識別錯誤所在。這雖然對偵錯錯誤非常有用,但很多人發現這個功能非常討厭,因為這意味著,驗證會在不為人所知的情形下不斷地重新啟動,在很慢的機器上或者文件很大的情形下,這對性能大有影響。而現在,當你關閉驗證時,這驗證就一直是關掉的。當你試著轉換到WYSIWYG 設計模式時,如果有什麼障礙的話,我們會為你識別錯誤所在,但我們不會為所有的東西重新啟動驗證。
3) 我們添加了一個選項,可以關閉HTML原始碼編輯模式中的屬性網格( property grid )的使用。在我們的性能檢測樣品中,我們發現,當你在整個文件中移動游標時,把與當前游標所在元素相應的正確的HTML schema在屬性網格中持續更新顯示會佔用不可小看的CPU時間。在與客戶交流後,我們發現,大多數人其實並不使用這功能(註:在HTML原始碼模式中對伺服端控制項的屬性網格的支持是VS 2005中的一個新功能,VS 2003中是不存在的)。假如你不使用這功能,或者在一個很慢的機器上,那麼我建議還是禁止這功能為好。
注意事項(如果你需要在HTML原始碼模式裡啟用屬性網格支持的話)
像我在上面提到的,在VS 2005 SP1中,我們現在可以配置在HTML原始碼模式裡是否使用屬性網格。因為我們交流過的大多數開發人員並不使用這個功能(實際上,大多數人都沒有意識到這個功能的存在 ),我們決定,在SP1中這個功能的預設配置是禁止的。這意味著,當你在SP1中在HTML原始碼編輯模式中工作時,你將看到屬性網格是像這個樣子的:
如果你要在原始碼模式裡重新啟用屬性網格,這樣,隨著你在文件中移動游標,它就能被動態更新,只要打開工具->選項選單項,然後在文字編輯器->HTML->雜項中,點擊「在原始碼檢視中啟用屬性網格(Enable Property Grid in Source View)」配置選項就可以了:
這樣你就重新啟用了屬性網格,就像是在VS 2005 RTM 裡一樣:
請注意,這個設置對HTML即見即所得(WYSIWYG )設計模式中的屬性網格或任何其他設計器不會有什麼影響,屬性網格在那些場景中總是被啟用和顯示的。它只對HTML原始碼編輯模式會有影響,這是個我們認為是非常罕見的使用場景。
希望本文對你有所幫助,
Scott