![](/img/trans.png)
[英]Intellisense missing for ajax with jQuery in Visual Studio 2010
[英]Intellisense support in Visual Studio 2008/2010 for jQuery closures {
我正在嘗試讓Intellisense正確地用於關閉。 作為一個插件作者,我總是使用一個閉包來為我的插件代碼創建一個獨立的環境:
(function($) {
// code here
})(jQuery);
但問題是Intellisense沒有發現在執行函數時傳遞了jQuery。 在上面的代碼中添加$ = jQuery可以解決問題,但這只是糟糕的執行,恕我直言。
這里的任何人都可以在不使用嵌入式ASP服務器標簽的情況下工作(這是一個獨立的JS文件)? 有些東西最好不包括修改現有代碼而不是某些奇怪的/// <option .../>
-like解決方案?
您的帖子或評論中不清楚,但在.js文件的頂部,您是否添加了:
/// <reference path="jquery.vsdoc.js" />
到你的文件的頂部?
ScottGu的博客更多關於外部庫中的intellisense(不是jQuery特定的)。
另外,這是另一個可能的解決方案,這是你用$=jQuery
提到的嗎?:
(function($) { // private closure; <% /*debug*/ if (false) { %>
$ = jQuery;
// <% } /*end debug*/ %>
$(function() {
// do stuff
});
})(jQuery);
在此處找到: http : //blog.jeroenvanwarmerdam.nl/post/IntelliSense-VS08-within-private-closure.aspx
如果您正在為您的jQuery插件開發IDE查看Visual Studio 2010,那么您已做出了正確的選擇。 以下是設置的詳細信息:
在項目的同一目錄中下載jquery和相應的jquery.vsdoc。 您可以從http://www.asp.net/ajaxlibrary/cdn.ashx
下載最新版本的jQuery文件。 以下是CDN上面最新jQuery鏈接的鏈接:
http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.js
http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js
http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1-vsdoc.js
在我的開發環境中,我使用未壓縮的jquery文件重命名為jquery.js (刪除文件名中的版本信息[-1.7.1],並記住也從vsdoc文件名中刪除版本信息) 。
使用包含該行的第一行創建插件文件
/// <reference path="/path/to/jquery.js">
使用閉包創建插件代碼。 這是插件的完整骨架:
/// <reference path="jquery.js" /> (function ($) { /// <param name="$" type="jQuery" /> jQuery.fn.gallery = function () { return this.each(function () { // your code here }); }; })(jQuery);
記得使用/// <param name="$" type="jQuery" />
作為插件關閉的第一行,正如我在上面的代碼中所演示的那樣。 這一切都適用於Visual Studio 2010 SP1。
但在安裝此修補程序之前,請確保在系統中安裝了SP1。
我很驚訝這在VS2010中不起作用(我認為你不能在VS2008中使它工作)。
您可以嘗試將xml doc注釋添加到開始閉包以定義param類型。 像這樣的東西:
/// <param name =“$”type =“Jquery”/>
(我不知道jquery對象的類名是什么 - 或者是否有一個可用的類名)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.