jQuery UI нарушает работу Visual Studio 2015 Intellisense

Я нахожу неприятную проблему с JavaScript intellisense, где, если я включаю jQuery UI в свой _references.jsфайл, я теряю весь JavaScript intellisense. Кто-нибудь знает, есть ли способ исправить эту проблему, не удаляя пользовательский интерфейс jQuery из _references.js?

Обновить

  • Я знаю, что больше файлов в _references.jsфайле приведет к замедлению, что имеет смысл. Тем не менее, у меня есть проекты на работе, которые включают в себя гораздо больше файлов (порядка 600) без проблем с шифрованием, а мой проект - 20. Так что это не вопрос «слишком много файлов».
  • Я вытащил свой проект из Git на отдельный компьютер (поэтому отдельная установка VS15) и попытался включить файл jQuery UI, и это все равно вызвало потерю intellisense в моем проекте.
    • Это не может быть проблемой установки, поскольку другие рабочие проекты включают jQuery UI, и нет проблем с intellisense
  • Я понимаю, что мне удается вручную _references.jsвыполнить задачу, но я бы хотел ее исправить, так как мне не нужно дважды добавлять информацию (создайте JS-файл, а затем обновите _refernces.js).

С этой новой информацией я думаю, что это должна быть какая-то более глубокая проблема в настройке моего проекта, которая вызывает проблему, в отличие от проблемы с установкой или спецификой JQuery UI. Кто-нибудь есть идеи о том, какие настройки в файле .sln или .csproj могут вызвать проблемы JS Intellisense?

javascript,jquery,visual-studio-2015,

4

Ответов: 5


5 "> принят

Для тех, кто испытывает эту проблему, я обнаружил, что использование jQuery 3.x приводило к тому, что instellisense прерывался при включении пользовательского интерфейса jQuery _references.js. Мое решение было использовать NuGet, чтобы вернуться к версии 2.2.4, и все снова стало работать отлично.


1

У меня такая же проблема. Я пробовал немало вещей, но единственное, что я смог добиться, - это отключить функцию автоматической синхронизации и удалить ссылку на jquery UI. Intellisense также, кажется, замедляет хороший бит со все большим количеством библиотек, почти до такой степени, что похоже, что он не работает. Я, наконец, только дошел до того, что я включаю только свои собственные скрипты и jquery для полезных напоминаний о синтаксисе. К сожалению, это означает, что я должен вручную обновлять файл _references.js, но это определенно лучше, чем вообще не работает.

Вы также можете ограничить свои глобальные ссылки в файле _references и перетащить файлы сценариев, которые вы хотите intellisense для каждого представления, если вы похожи на меня, где у вас есть файл сценария для каждого представления. Таким образом, вы не получите intellisense для скриптов, которые даже не отображаются в представлении.


0

не уверен, что это поможет вам, но вы добавили это в начало своего .js-файла?

/// <reference path="/scripts/jquery-3.1.1.js" />

это путь, который был сделан, если вы использовали NuGet для установки jquery для своего решения. Если вы нашли файл jquery и файл intellisense в другом месте, используйте этот путь (я полагаю, что они должны быть в одной папке).


0

Я нашел лучшее решение! Просто переименуйте jquery-ui-1.12.1.js (или аналогичный) в _jquery-ui-1.12.1.js . Это приведет к тому, что он появится вверху перед конфликтующими ссылками jQuery 3 в файле _references.js, которые заставляют intellisense не работать. Не забудьте также обновить любой тег скрипта или ссылки BundleConfig.cs, вы должны включить новый символ символа подчеркивания!


0

Решение:

В файле _references.js :

  1. Переместите ссылку JQuery-UI над основной ссылкой JQuery
  2. Отключить автосинхронизацию

такие как:

/// <autosync enabled="false" />
/// <reference path="jquery-ui-1.12.1.js" />
/// <reference path="jquery-3.3.1.js" />

Недостатки:

  • Вам нужно будет повторить шаг 1 каждый раз, когда вы обновляете ссылки на JavaScript (щелкните правой кнопкой мыши на _references.js, чтобы обновить ссылки в Visual Studio).
JavaScript, JQuery, зрительно-студия-2015,