Я думал, что jQuery Intellisense должен быть улучшен с помощью SP1. Я даже загрузил аннотированную версию jQuery 1.2.6, но intellisense не будет работать в отдельном файле jscript. У меня есть ссылка на библиотеку jQuery на моей веб-странице в теге <head>. Я что-то не так делаю?





Вверху внешнего файла JavaScript добавьте следующее:
/// <reference path = "jQuery.js"/>
Убедитесь, что путь правильный относительно позиции файла в структуре папок и т. д.
Кроме того, любые ссылки должны быть вверху файла, перед любой остальным текстом, включая комментарии - буквально, самое первое, что есть в файле. Надеюсь, будущая версия Visual Studio будет работать независимо от того, где она находится в файле, или, может быть, они сделают что-то совсем другое ...
Как только вы это сделаете и сохранил файл, нажмите Ctrl + Shift + J, чтобы Visual Studio обновила Intellisense.
К вашему сведению: я обновил заголовок, чтобы отразить тот факт, что это не относится только к jQuery, поскольку на самом деле это не так. Спасибо за вопрос!
Также обратите внимание: убедитесь, что вы используете атрибут PATH, а не NAME. Я видел много примеров с /: /// <reference name = "jQuery.js" /> (НЕПРАВИЛЬНО), а не /// <reference path = "jQuery.js" /> (ПРАВИЛЬНО)
Ага, это то, что указывает мой код. Я что-то пропустил?
Пожалуйста, рад, что смог помочь. :) И спасибо Stack Overflow - этот сайт делает получение и предоставление помощи таким приятным по сравнению с любым другим средством ...
shift-control-j заставит пересчитать intellisense.
Вы можете перетащить файл jQuery, на который хотите сослаться, в свой файл .js из проводника решений. VS2012, по крайней мере, затем поместит ссылку для вас вверху, независимо от того, куда вы ее перетащили, включая путь, необходимый для этого конкретного файла .js. Вы можете перетащить сразу несколько файлов. Красиво и быстро, удобно и запоминающе.
Это был первый найденный ответ, в котором указывалось, что ссылочный комментарий должен быть в первой строке. У меня были другие комментарии выше, контролирующие нашу минификацию. Разочарование закончилось!
Вы захотите посмотреть эту ссылку:
http://blogs.ipona.com/james/archive/2008/02/15/JQuery-IntelliSense-in-Visual-Studio-2008.aspx
ОБНОВЛЕНИЕ: есть новый HotFix для Visual Studio 2008 и новый файл документации jQuery Intellisense, который обеспечивает полную поддержку jQuery Intellisense для VS'08. Ниже приведены ссылки для получения этих двух:
http://blogs.msdn.com/webdevtools/archive/2008/10/28/rich-intellisense-for-jquery.aspx
Если бы я мог дать вам 10 голосов, я бы это сделал. Упомянутый здесь программно созданный файл, предназначенный только для intellisense, изменяет jQuery intellisense с почти бесполезного на незаменимый. Выдающийся!
Существует официально поддерживаемый файл JavaScript документации jQuery для Visual Studio 2008. Этот файл является лишь временным исправлением до тех пор, пока Microsoft не выпустит исправление, которое более адекватно решит проблему.
Встроено в ASPX:
<% if (false) { %>
<script src = "jquery-1.2.6-vsdoc.js" type = "text/javascript"></script>
<% } %>
Встроено в JavaScript:
/// <reference path = "jquery-1.2.6-vsdoc.js" />
Возьмите его здесь: jquery-1.2.6-vsdoc.js
Рекомендации:
Это единственный вариант, который заставил меня работать в VS 2010 Ultimate.
Вам не нужно на самом деле ссылаться на версию "-vsdoc". Если вы поместите jquery-1.2.6-vsdoc.js в тот же каталог, что и jquery-1.2.6.js, тогда Visual Studio будет знать, что нужно скрыть ссылку jquery-1.2.6.js на jquery-1.2.6-vsdoc. js.
Я думаю, что это действительно сработает для любого файла.
Хммм ... это дает хороший способ решения другого вопроса на этом сайте ...
Обновлено: эта функция работает только с VS2008 Service Pack 1.
Кажется, что мне лично нужно сохранить "-vsdoc" в моей ссылке, чтобы заставить его работать ... Я использую VS2008 с SP 1. (И да, они находятся в том же каталоге.) Может мне нужно посмотреть на них исправления, предложенные Крисом Питчманном, выше?
Крис прав. Функциональность «vsdoc» была добавлена с помощью исправления, о котором он упоминает выше.
Для встроенного JavaScript используйте:
/// <reference path = "~ \ js \ jquery-vsdoc.js" />
Обратите внимание на косую черту назад.
Так не пойдет:
/// <путь ссылки = "~ / js / jquery-vsdoc.js" />
Убедитесь, что вы не используете свернутый файл jQuery.
Используйте Ctrl + Shift + J, чтобы он работал после добавления файлов JavaScript в проект.
Я изо всех сил пытался заставить работать intellisense, пока не нашел это, потому что я использовал уменьшенную версию и задавался вопросом, почему она не работает для меня.
Если вы включаете аннотированный файл jQuery в свой источник исключительно для intellisense, я рекомендую использовать директивы препроцессора, чтобы удалить его из вашего представления при компиляции. Ала:
<% #if (false) %>
<!-- This block is here for jquery intellisense only. It will be removed by the compiler! -->
<script type = "text/javascript" src = "Scripts/jquery-1.3.2-vsdoc.js"></script>
<% #endif %>
Затем позже в вашем коде вы можете В самом деле ссылаться на jQuery. Это удобно при использовании API библиотек Google AJAX, потому что вы получаете все преимущества Google, а также intellisense.
Вот пример использования API библиотек:
<script type = "text/javascript" src = "http://www.google.com/jsapi"></script>
<script type = "text/javascript">
google.load("jquery", "1.3.2", { uncompressed: false });
</script>
Если вы хотите получить файл Intellisense из Microsoft CDN, вы можете использовать:
/// <reference path = "http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.1-vsdoc.js" />
Нет проблем, рад, что смог помочь! Поддержка Intellisense для JavaScript еще предстоит пройти долгий путь, даже с SP1, я думаю, все еще немного взломано. Ну что ж, по крайней мере, они что-то делают, чтобы помочь! :)