2009-12-16 100 views
4

我试图让Intellisense正确地为关闭工作。作为一个插件作者,我总是用封闭来为我的插件代码创建一个孤立的环境:Visual Studio 2008/2010中针对jQuery关闭的Intellisense支持{

(function($) { 
    // code here 
})(jQuery); 

但这里的问题是,智能感知不拿起jQuery是在功能的执行传递。在上面的代码中添加$ = jQuery修复了这个问题,但这只是执行不力,恕我直言。

这里的任何人得到这个工作,而不诉诸于嵌入式ASP服务器标签(这是一个独立的JS文件)?除了一些奇怪的/// <option .../>类似的解决方案之外,最好不包括修改现有代码?

回答

7

这不是在您的文章或您的意见明确,但在你的.js文件的顶部,你有没有补充:
/// <reference path="jquery.vsdoc.js" />
到文件的顶部?

ScottGu's blog对外部库中的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

+0

是的,我已经加入了参考,但它并不适用于解决这方面的问题(jQuery是引用正常,但withing关闭参考不工作) 。这正是我尝试不使用的条件服务器端语句的类型,因为我使用的是静态JavaScript文件,而不是使用ASPX/ASCX页面的代码。 – 2010-01-03 11:11:59

+0

看来这个特定的情况是Intellisense引擎本身的限制。它不会认识到该函数正在执行jQuery作为参数传入。但是,这个问题不能用静态JavaScript文件来解决,而只能用于处理文件,比如ASPX和ASCX。 – 2010-01-07 11:19:25

0

但安装修补程序请确保您有安装在您的系统SP1之前。

+0

SP1 *之前已安装。就像我说的,Intellisense的工作原理,但不是针对这个特定的情况。 – 2010-01-07 11:15:49

0

我很惊讶,这在VS2010中不起作用(我不认为你将能够使它在VS2008中工作)。

你可以尝试添加一个XML文档注释到开始闭包来定义参数类型。事情是这样的:

/// < PARAM NAME = “$” TYPE = “jQuery的”/ >

(我不知道什么jQuery对象的类名是 - 或者,如果有甚至一个可用)。

+0

我会给你一个去,谢谢。 – 2010-03-11 11:07:14

+0

使用VS2010为我工作!将类型设置为“jQuery”。 http://stackoverflow.com/questions/3625363/how-to-get-jquery-visual-studio-2010-intellisense-to-work-inside-a-noconflict-wra – uhleeka 2010-11-17 19:53:33

2

如果您正在查看适用于您的jQuery插件开发IDE的Visual Studio 2010,那么您做出了正确的选择。以下是设置的详细信息:

  1. 将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文件名中删除版本信息)

  2. 含行

    /// <reference path="/path/to/jquery.js"> 
    
  3. 创建关闭插件代码的第一行创建您的插件文件。这里是一个插件的完整骨架:

    /// <reference path="jquery.js" /> 
    
    (function ($) { 
        /// <param name="$" type="jQuery" /> 
        jQuery.fn.gallery = function() { 
         return this.each(function() { 
         // your code here 
         }); 
        }; 
    })(jQuery); 
    
  4. 记住使用/// <param name="$" type="jQuery" />作为插件关闭的第一行,因为我的代码已经证明以上。这一切都适用于Visual Studio 2010 SP1。

访问My jQuery Plugin SiteBlog

+0

第3步是纯粹的魔术!感谢分享这个。 Visual Studio 2012测试版适用于我。 – Rafe 2012-07-24 15:40:43

相关问题