Пакет npm для Visual Studio 2017 intellisense не находит пакет в частном реестре npm

tl; dr; Могу ли я настроить, через какой реестр (частный, а не общедоступный) Visual Studio 2017 intellisense выполняет поиск при добавлении пакетов в package.json

В настоящее время мы изучаем управление пакетами npm, как это предусмотрено в обновлении 1 TFS2017. Мы настроили частный реестр и скорректировали наши файлы .npmrc, чтобы они указывали на этот частный реестр вместо публичного реестра. (Мы скорректировали встроенный файл конфигурации и файл конфигурации для каждого пользователя.)

Поскольку у меня уже были nodejs и npm до установки VS2017, у меня на самом деле есть два nodejs / npm в моей системе, поэтому я скорректировал .npmrc как VS2017-npm [как используется проводником задач], так и npm по умолчанию [как используется любой обычной командной строкой].

Мы смогли опубликовать пакет в частном реестре npm с помощью проводника задач. (У меня также установлено расширение NPM Task Runner) Но пакет intellisense при вводе package.json в Visual Studio 2017 не находит. (Наш пакет начинается с «lv-», когда мы начинаем вводить «lv-», мы видим только пакеты, опубликованные в общедоступном реестре, а не тот, который мы опубликовали в нашем частном реестре).

Итак, пакет Intellisense VS2017, похоже, пропускает наш частный реестр npm и выполняет поиск только в общедоступном npm.

Кто-нибудь знает, где мы можем "перенаправить" расширение Intellisense для Visual Studio 2017 / NPM Task Runner для npm для поиска в нашем реестре?

Должно быть с использованием файлов .npmrc нет?


person AardVark71    schedule 09.06.2017    source источник
comment
Пожалуйста, отправьте отзыв VS для этого. В настоящее время мы просматриваем только один реестр пакетов, и единственный способ переопределить это - отредактировать куст реестра VS, а затем он применяется глобально ко всем проектам (а не к тому, что вы хотите).   -  person Jimmy    schedule 09.06.2017
comment
@Jimmy Спасибо за ваш комментарий! Я уже был готов пройти через частную корзину реестра (мы все равно делаем это, чтобы добавить однофайловый генератор), но не могу найти ссылку на registry.npmjs.org или registry .npmjs.com. Я надеюсь, что это еще не жестко запрограммированное значение для registry.npmjs.org, как в первом расширении, которое сделал Мэдс Кристенсен (github.com/madskristensen/JSON-Intellisense/blob/master/src/NPM/)   -  person AardVark71    schedule 11.06.2017


Ответы (1)


Я просмотрел код VS, и, к сожалению, оказалось, что этот сценарий был только наполовину.

Хорошие новости: вы можете настроить URL, используемый для пакета name intellisense:

  1. Загрузите файл реестра для своего экземпляра VS (см. здесь, если вы не не знаю, как получить к нему доступ)
  2. Найдите ключ Software\Microsoft\VisualStudio\15.0_<instance>_Config\Languages\LanguageServices\JSON
  3. Добавьте значение с именем NPMPackageSearchUrl и установите его на желаемый URL-адрес реестра.

Плохие новости:

  1. Пакет version intellisense жестко запрограммирован на использование registry.npmjs.org, поэтому вы будете получать имена только из своего частного реестра.
  2. Это нарушит имя вашего пакета intellisense из registry.npmjs.org.

Пожалуйста, отправьте отзыв об этом в любом случае, и мы сможем внести его в наш список невыполненных работ, чтобы он заработал. (Я бы сообщил об ошибке, но ваши отзывы пользователей имеют больший вес при сортировке ошибок.)

person Jimmy    schedule 11.06.2017
comment
Спасибо за ваш отзыв !! Просто попробовал и не сразу берет свою посылку. Вероятно, это не поможет, но я все равно перезапускаю один раз. Также хотел сообщить, что я сообщил об этом здесь: developercommunity.visualstudio.com/content/problem/67393/ - person AardVark71; 11.06.2017
comment
Эээ ... просто прочтите второй пункт плохих новостей ... он сломает intellisense из общедоступного реестра ... это ДЕЙСТВИТЕЛЬНО ПЛОХИЕ новости, значит, мы не можем активировать intellisense для нашего частного реестра. - person AardVark71; 11.06.2017