加掛某個js導致VS2008 JScript IntelliSense失效

JScript IntelliSense是我鍾愛的VS2008新功能之一,在MS正式採用jQuery後,VS2008進一步還支援jQuery Intellisense,更是讓人雀躍。

無奈,在加掛某些js後(例如jquery-ui.js),你可能會看到如下錯誤:

VS2008抱怨Error updating JScript IntelliSense,而錯誤訊息指出載入的js某一列有問題。但可以確定,該JS程式在瀏覽器上是正常無誤,應屬VS2008在解析Javascript時的問題。如果只是加掛的JS沒有IntelliSense,這問題就不足掛齒;但事實並非如此,只要發生這類解析錯誤,連原有jquery.js的說明提示都會一併停擺,應驗了"一顆老鼠屎,壞了一鍋粥"。

遇到這類問題,最佳解是設法取得*-vsdoc.js檔案,但常常無法如願。所以我們得自力救濟,一開始我想到的做法是將有問題的js改用$.getScript()載入,但與該js相依的程式碼就必須而移在getScript()的complete事件再執行。程式在document.ready()之後一段時間才執行,會讓使用者察覺到延遲,而且想一想,為了設計期間的問題更改架構實在不是明智之舉。

後來我想到個新解法,弄個空白檔案,取名為jquery-ui-vsdoc.js放在jquery-ui.js的同目錄下。這樣子雖然無法提供對jquery-ui.js各函數的提示,但至少不會搞爛原本可用的jQuery IntelliSense,操作步驟也十分簡便。大家在面對類似狀況時,不妨一試。

歡迎推文分享:
Published 22 April 2009 05:48 PM 由 Jeffrey
Filed under: , , ,


意見

# dyco said on 22 April, 2009 04:11 AM

只能說大大太神了,這種鬼主意也想的到 @@

# Shelly said on 22 April, 2009 06:57 PM

想請問一下,那個 see error list到底是要看哪裡啊~~~

我每次看error list都是空的啊>_<

# uxspy said on 24 April, 2009 02:30 AM

你太强了,这招都能想的出来,佩服

你的看法呢?

(必要的) 
(必要的) 
(選擇性的)
(必要的) 

請輸入以上的數字:

搜尋

Go

<April 2009>
SunMonTueWedThuFriSat
2930311234
567891011
12131415161718
19202122232425
262728293012
3456789
 
RSS
【工商服務】
最新回應

Tags 分類檢視
關於作者

一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"有為的中年人"自許。

文章典藏
其他功能

這個部落格


BlogLook Score and Rank

Syndication