Я использую jQuery IntelliSense в VS2008, и это было здорово. Недавно я добавил ссылку на jQuery UI, и с тех пор jQuery IntelliSense ушел. Я обнаружил, что как только вы ссылаетесь на другой .js-файл в своем документе, IntelliSense уходит. Любой способ избежать этого?Добавление дополнительных js-файлов breaks jQuery IntelliSense
ответ
Если в любых файлах с файлами есть ошибки, он будет разорвать intellisense для всех ссылок на файлы из того же документа. Следующая версия Visual Studio будет намного более надежной в этом отношении. Я извиняюсь за эту хрупкость. Мы приняли некоторые проектные решения на раннем этапе, что мы не позволили нам сделать внешние ссылки VS9 более надежными.
В то же время используйте следующее обходное решение. Установите SP1 из ссылки, которую дал вам Slace. Если у вас есть ссылка на файл с именем .js, и есть файл с именем -vsdoc.js в том же месте, тогда JS intellisense заберет версию -vsdoc. Если этот сценарий пуст, он не будет генерировать ошибку. Определите плагин jquery, вызывающий сбои в генерации intellisense, и разместите рядом с ним версию -vsdoc. Вы не получите intellisense для пользовательского интерфейса, но вы все равно получите jquery и другие плагины, которые работают.
Все, что вы вкладываете в версию vsdoc, будет отображаться в intellisense. Вы можете поместить поддельные версии структур данных, которые вы хотите отобразить в intellisense, если хотите.
Вполне вероятно, что в одном из файлов JavaScript, ссылающихся на ссылки, есть ошибка. Откройте ваш JS-файл и после того, как «Обновление Intellisense JavaScript» исчезло из строки состояния Visual Studio (есть опция меню, которая заставит JS intellisense обновляться, не помню, где она находится, я просто создал комбинацию клавиш через Инструменты -> Параметры -> Область клавиатуры) откройте окно «Ошибки» и в разделе «Предупреждения» вы должны найти причину, по которой Intellisense не удалось загрузить.
Обычно это ошибка, возникающая при разборе одного из файлов, но у меня было переполнение стека, когда у меня было много файлов, на которые ссылались.
Редактировать: Вы также должны убедиться, что у вас установлен этот патч VS: http://code.msdn.microsoft.com/KB958502 и VS 2008 SP1 (сначала установите SP1!). Тогда вам просто необходимо иметь:
/// <reference path="/path/to/jquery-1.3.1.js" />
Убедитесь, что вы поддерживаете -vsdocs
на файл Intellisense, и он будет автоматически взял (до тех пор, как он находится в той же папке, что и файл вы ссылаетесь)
Принятый ответ помог мне исправить эту проблему, но не разрешил проблему. Я установил исправление: http://code.msdn.microsoft.com/KB958502, но все еще получал ошибку.
Ошибка:
Error updating JScript IntelliSense: D:\Dev\Test\Scripts\jQuery-1.3.2-vsdoc.js: 'jQuery.support.htmlSerialize' is null or not an object @ 1430:4
Он появляется добавление follwing файла без соответствующего -vsdoc.js файла вызывает вышеуказанную проблему.
<script src="../../Scripts/jquery-ui-1.7.custom.min.js" type="text/javascript"></script>
Я добавил пустой файл "JQuery-UI-1.7.custom.min-vsdoc.js" в моем сценарии папку и вопрос Jscript Intellisense ушел.
Это полностью смешно, что это работает как решение, но оно делает: \ WTF Microsoft !!! – Josh
Невероятно, это так глупо. – SoftwareGeek
Я решил это в соответствии с приведенным выше советом с небольшим расширением: трюк для меня состоял в том, чтобы добавить ссылку на мою страницу в мою библиотеку jqueryui.com И в пустой -vsdoc.js версия файла, который я создал:
<script type="text/javascript" src="../../Scripts/jquery-ui-1.7.2.custom.min.js"></script>
<script type="text/javascript" src="../../Scripts/jquery-ui-1.7.2.custom.min-vsdoc.js"></script>
Надеюсь, это поможет!
Эта вторая ссылка должна быть необходима только в том случае, если вы не установили [patch] (http://code.msdn.microsoft.com/KB958502) – Casebash
Я хотел бы предложить немного лучшее решение. Несколько месяцев назад я решил эту проблему и создал очень простой файл vsdoc для jQuery UI. Here's the link to the blog post (which has the file for download).
Отлично, настройка осуществляется путем создания пустого * -vsdoc.js файла для каждого неприятного * .js-файла.
Я нашел эту ошибку, вызванную анонимной функцией, например. как это:
(function($) {
$.anything...;
})(jQuery);
Надеется, что это вызвало помогут кто-то создает http://code.msdn.microsoft.com/KB958502 и JScript IntelliSense Team.
Ошибка: «Ошибка обновления JScript IntelliSense: C: \ Users \ Brian \ Documents \ Visual Studio 2008 \ Projects \ jQueryTest \ jQueryTest \ jquery-1.3.1-vsdoc.js: 'jQuery.support.htmlSerialize' имеет значение null или нет объекта @ 1418: 4 " Файлы jscript, которые я использую, - это файлы jQuery и jQuery UI из jquery.com –
, вы, вероятно, лучше всего отправить это сообщение об ошибке в MS, затем –
Я все еще не могу чтобы это работало. Любой, кто может использовать jQuery с jQuery UI w/jQuery IntelliSense? –