Як отримати 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.