2009-02-17 3 views
9

Я использую jQuery IntelliSense в VS2008, и это было здорово. Недавно я добавил ссылку на jQuery UI, и с тех пор jQuery IntelliSense ушел. Я обнаружил, что как только вы ссылаетесь на другой .js-файл в своем документе, IntelliSense уходит. Любой способ избежать этого?Добавление дополнительных js-файлов breaks jQuery IntelliSense

ответ

13

Если в любых файлах с файлами есть ошибки, он будет разорвать intellisense для всех ссылок на файлы из того же документа. Следующая версия Visual Studio будет намного более надежной в этом отношении. Я извиняюсь за эту хрупкость. Мы приняли некоторые проектные решения на раннем этапе, что мы не позволили нам сделать внешние ссылки VS9 более надежными.

В то же время используйте следующее обходное решение. Установите SP1 из ссылки, которую дал вам Slace. Если у вас есть ссылка на файл с именем .js, и есть файл с именем -vsdoc.js в том же месте, тогда JS intellisense заберет версию -vsdoc. Если этот сценарий пуст, он не будет генерировать ошибку. Определите плагин jquery, вызывающий сбои в генерации intellisense, и разместите рядом с ним версию -vsdoc. Вы не получите intellisense для пользовательского интерфейса, но вы все равно получите jquery и другие плагины, которые работают.

Все, что вы вкладываете в версию vsdoc, будет отображаться в intellisense. Вы можете поместить поддельные версии структур данных, которые вы хотите отобразить в intellisense, если хотите.

8

Вполне вероятно, что в одном из файлов 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, и он будет автоматически взял (до тех пор, как он находится в той же папке, что и файл вы ссылаетесь)

+0

Ошибка: «Ошибка обновления 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 –

+0

, вы, вероятно, лучше всего отправить это сообщение об ошибке в MS, затем –

+0

Я все еще не могу чтобы это работало. Любой, кто может использовать jQuery с jQuery UI w/jQuery IntelliSense? –

8

Принятый ответ помог мне исправить эту проблему, но не разрешил проблему. Я установил исправление: 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 ушел.

+2

Это полностью смешно, что это работает как решение, но оно делает: \ WTF Microsoft !!! – Josh

+0

Невероятно, это так глупо. – SoftwareGeek

1

Я решил это в соответствии с приведенным выше советом с небольшим расширением: трюк для меня состоял в том, чтобы добавить ссылку на мою страницу в мою библиотеку 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> 

Надеюсь, это поможет!

+0

Эта вторая ссылка должна быть необходима только в том случае, если вы не установили [patch] (http://code.msdn.microsoft.com/KB958502) – Casebash

1

Отлично, настройка осуществляется путем создания пустого * -vsdoc.js файла для каждого неприятного * .js-файла.

Я нашел эту ошибку, вызванную анонимной функцией, например. как это:

(function($) { 
    $.anything...; 
})(jQuery); 

Надеется, что это вызвало помогут кто-то создает http://code.msdn.microsoft.com/KB958502 и JScript IntelliSense Team.

Смежные вопросы