Я думал, что jQuery Intellisense должен был быть улучшен с SP1. Я даже загрузил аннотированную версию jQuery 1.2.6, но intellisense не будет работать в отдельном файле jscript. У меня есть библиотека jQuery, на которую ссылаются сначала на моей веб-странице в теге < head>. Я что-то делаю неправильно?Как получить JavaScript/jQuery Intellisense Работа в Visual Studio 2008?
ответ
В верхней части внешнего файла JavaScript, добавьте следующее:
/// <reference path="jQuery.js"/>
Убедитесь, что путь является правильным, относительно позиции файла в структуре папок и т.д.
Кроме того, любой ссылки должны быть в верхней части файла, до любой другой текст, включая комментарии - буквально, самое первое в файле. Надеюсь, будущая версия Visual Studio будет работать независимо от того, где он находится в файле, или, может быть, они будут делать что-то совсем другое ...
После того, как вы сделали это и сохранили файл, нажмите Ctrl + Shift + J, чтобы заставить Visual Studio обновить Intellisense.
Вы хотите посмотреть по этой ссылке:
http://blogs.ipona.com/james/archive/2008/02/15/JQuery-IntelliSense-in-Visual-Studio-2008.aspx
UPDATE: Существует новый HotFix для Visual Studio 2008 и новый файл документации JQuery Intellisense, который приносит полный JQuery Intellisense для VS'08 , Ниже приведены ссылки, чтобы эти два:
http://blogs.msdn.com/webdevtools/archive/2008/10/28/rich-intellisense-for-jquery.aspx
Существует официально поддерживается JQuery документация JavaScript-файл для 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
Ссылки:
Вы не должны фактически ссылаться на "-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.
Я думаю, что это действительно сработает для любого файла.
Хммм ... что дает хорошее решение для другого вопроса на этом сайте ...
Edit: Эта функция работает только с VS2008 с пакетом обновления 1.
Для встроенного JavaScript, использование:
< /// ссылочный путь = "~ \ JS \ JQuery-vsdoc.js"/>
Обратите внимание на назад SLAs ГЭС.
Это не будет работать:
< /// ссылочного пути = "~/JS/JQuery-vsdoc.js"/>
Убедитесь, что вы не используете свернутый файл JQuery.
Используйте Ctrl +сдвиг + J, чтобы заставить его работать после добавления файлов JavaScript к проекту.
Если вы включили аннотированный файл jQuery в свой источник исключительно для intellisense, я рекомендую использовать директивы препроцессора, чтобы удалить его из вашего представления при компиляции. Ala:
<% #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. Это удобно при использовании Google AJAX Libraries API, поскольку вы получаете все преимущества, предоставляемые Google, плюс intellisense.
Вот пример использования API Libraries:
<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" />
Это сделал это!! Спасибо за быстрый и правильный ответ! – 2008-09-12 19:10:04
Без проблем, рад, что я мог бы помочь! Поддержка Intellisense для JavaScript еще долгая, но даже с SP1 вещи все еще немного хакерские, я думаю. Ну, по крайней мере, они что-то делают, чтобы помочь! :) – 2008-09-12 19:11:12
FYI: Я обновил название этого, чтобы отразить тот факт, что это не является специфическим только для jQuery, так как это действительно так. Спасибо за вопрос! – 2008-09-12 19:26:46