Як отримати JavaScript / jQuery Intellisense, що працює у Visual Studio 2008?


92

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

Відповіді:


87

У верхній частині зовнішнього файлу JavaScript додайте таке:

/// <reference path="jQuery.js"/>

Переконайтеся, що шлях правильний щодо позиції файлу в структурі папок тощо.

Крім того, будь-які посилання повинні бути у верхній частині файлу перед будь-яким іншим текстом, включаючи коментарі - буквально, найперше, що є у файлі. Сподіваємось, майбутня версія Visual Studio працюватиме незалежно від того, де вона знаходиться у файлі, або, можливо, вони зроблять щось зовсім інше ...

Після того, як ви зробили це і зберегли файл , натисніть Ctrl+ Shift+, Jщоб змусити Visual Studio оновити Intellisense.


1
Не біда, рада, що я могла допомогти! Підтримка Intellisense для JavaScript ще має пройти довгий шлях, навіть із пакетом оновлень 1 (SP1), я думаю, все ще трохи хакі. Ну добре, принаймні вони роблять щось, щоб допомогти! :)
Джейсон Бантінг,

FYI: Я оновив назву цього документа, щоб відобразити той факт, що це не специфічно лише для jQuery, оскільки насправді це не так. Дякую за питання!
Джейсон Бантінг

Також, щоб зауважити, обов’язково використовуйте атрибут PATH, а не NAME. Я бачив багато прикладів w /: /// <reference name = "jQuery.js" /> (НЕПРАВИЛЬНО), а не /// <reference path = "jQuery.js" /> (ПРАВИЛЬНО)
Натан,

Так - е-е, це те, що вказує мій код. Я щось пропустив?
Джейсон Бантінг,

1
shift-control-j змусить перерахувати intellisense.

15

Існує офіційно підтримуваний файл 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.
Алек Девіс,

8

Ви хочете переглянути це посилання:

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/11/07/hotfix-to-enable-vsdoc-js-intellisense-doc-files-is-now-available.aspx

http://blogs.msdn.com/webdevtools/archive/2008/10/28/rich-intellisense-for-jquery.aspx


Якби я міг дати вам 10 голосів, я б. Програмно згенерований лише інтеліссенс-файл, на який посилається тут, змінює jQuery intellisense з майже непотрібного на необхідний. Видатний!
Herb Caudill

3

Для вбудованого JavaScript використовуйте:

/// <reference path = "~ \ js \ jquery-vsdoc.js" />

Зверніть увагу на зворотні скісні риски.

Це не спрацює:

/// <reference path = "~ / js / jquery-vsdoc.js" />


2

Вам не потрібно фактично посилатися на версію "-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 з пакетом оновлень 1.


Здається, мені особисто потрібно залишити "-vsdoc" у своєму посиланні, щоб він працював ... Я використовую VS2008 з SP 1. (І так, вони знаходяться в одному каталозі.) Можливо, мені потрібно подивитися на ці виправлення, запропоновані Крісом Пічманном, вище?
Funka

Кріс має рацію. Функціонал 'vsdoc' був доданий із виправленням, на яке він посилається вище.
Alan Oursland

2

Якщо ви включаєте анотований файл 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 бібліотек AJAX Google , оскільки ви отримуєте всі переваги, які надає вам 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>


0

Якщо ви хочете забрати файл Intellisense з Microsoft CDN, ви можете використовувати:

/// <reference path="http://ajax.microsoft.com/ajax/jQuery/jquery-1.4.1-vsdoc.js" />

0

Переконайтеся, що ви не використовуєте згорнутий файл jQuery.

Використовуйте Ctrl+ Shift+ J, щоб це працювало після додавання файлів JavaScript до проекту.


Я намагався змусити інтеліссенс спрацювати, поки не знайшов цього, тому що я використовував зменшену версію і дивувався, чому це не працює для мене.
RKP
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.