Поддержка Intellisense в Visual Studio 2008/2010 для замыканий jQuery { - PullRequest
4 голосов
/ 16 декабря 2009

Я пытаюсь заставить Intellisense корректно работать для закрытия. Как автор плагина, я всегда использую замыкание для создания изолированной среды для своего кода плагина:

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

Но проблема здесь в том, что Intellisense не распознает, что jQuery передается при выполнении функции. Добавление $ = jQuery в приведенный выше код устраняет проблему, но это просто плохое выполнение, ИМХО.

Кто-нибудь здесь получил эту работу, не прибегая к встроенным тегам сервера ASP (это отдельный файл JS)? Что-то, предпочтительно, не включая изменение существующего кода, кроме нечетного /// <option .../> -подобного решения?

Ответы [ 4 ]

7 голосов
/ 02 января 2010

Это не ясно в вашем посте или ваших комментариях, но в верхней части вашего файла .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

2 голосов
/ 11 марта 2012

Если вы ищете Visual Studio 2010 для IDE разработки плагинов jQuery, вы сделали правильный выбор. Вот детали для настройки:

  1. Загрузите jquery и соответствующий файл jquery.vsdoc в один и тот же каталог вашего проекта. Вы можете скачать последнюю версию файлов jQuery с http://www.asp.net/ajaxlibrary/cdn.ashx. Вот ссылки на последние ссылки jQuery сверху CDN:

    В моей среде разработки я использую несжатый файл 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.

Посетите Мой плагин jQuery Site и Блог

0 голосов
/ 10 марта 2010

Я удивлен, что это не работает в VS2010 (я не думаю, что вы сможете заставить его работать в VS2008).

Вы можете попробовать добавить комментарий XML-документа к началу закрытия, чтобы определить тип параметра. Примерно так:

///

(я не знаю, как называется класс для объекта jquery - или если он вообще доступен).

0 голосов
/ 04 января 2010

Но перед установкой исправления убедитесь, что в вашей системе установлен SP1.

...