2017-06-09 62 views
0

tl; dr;我可以通过它的注册表(私人一个代替 公众)的Visual Studio 2017年智能感知调整搜索添加程序包 时的package.jsonVisual studio 2017 npm包intellisense没有从私有npm注册表中找到包

我们目前正在探索故宫包管理作为TFS2017更新1提供。 我们建立了一个私人注册表,并将我们的.npmrc文件指向这个私人注册表,而不是公共注册表。 (我们调整了内置的配置文件每个用户的配置文件

既然我已经有了的NodeJS和NPM安装VS2017之前,其实我有我的系统上的两个的NodeJS/NPM,所以我调整VS2017-npm [任务资源管理器使用]和默认npm [任何常规命令提示符使用]的.npmrc。

我们能够使用任务资源管理器将包发布到私有npm注册表中。 (我也安装了NPM Task Runner extension)但在Visual Studio 2017的package.json中输入时,包intellisense没有找到它。 (我们的软件包以“lv-”开头,当我们开始输入“lv-”时,我们只看到发布在公共注册表上的软件包,而不是我们发布到我们的私人注册表中的软件包)。

因此,VS2017包intellisense似乎跳过我们的私人npm注册表,只搜索公共npm。

有谁知道我们可以在哪里“重新命名”用于npm的Visual Studio 2017/NPM Task Runner扩展intellisense来搜索我们的注册表?

应该使用.npmrc文件否?

+0

请为此提交VS反馈。目前我们只查看一个包注册表,唯一的方法是通过编辑VS注册表配置单元,然后将其全局应用于所有项目(而不是您想要的)。 – Jimmy

+0

@Jimmy感谢您的评论!我已经愿意通过私人注册表bin(我们正在这样做,以添加一个单一文件生成器),但无法找到_registry.npmjs.org_或_registry.npmjs.com_的任何引用。我希望它不是一个硬编码的registry.npmjs.org值,就像Mads Kristensen所做的第一个扩展(https://github.com/madskristensen/JSON-Intellisense/blob/master/src/NPM/Constants.cs) – AardVark71

回答

1

我翻看了VS代码,不幸的是,这种情况只是出现了一半。

好消息:您可以自定义用于包名的URL智能感知:

  1. 加载您VS实例的注册表文件(见here,如果你不知道如何访问它)
  2. 找到Software\Microsoft\VisualStudio\15.0_<instance>_Config\Languages\LanguageServices\JSON
  3. 添加一个名为NPMPackageSearchUrl的值并将其设置为您所需的注册表URL。

坏消息:

  1. 版本智能感知是硬编码使用registry.npmjs.org,所以你只能从你的私有注册名称。
  2. 这会从registry.npmjs.org中打破您的软件包名称intellisense。

请将反馈意见反馈给我们,我们可以在我们的积压备件上获得它,使其工作。(我会提交一个错误,但是您的用户反馈在错误分类中带有更多的权重。)

+0

感谢您的反馈意见 !!只是试了一下,并没有立即拿起自己的包。它可能无济于事,但无论如何我要重启一次。此外,想让你知道我在这里报道:https://developercommunity.visualstudio.com/content/problem/67393/visual-studio-2017-npm-package-intellisense-does-n.html – AardVark71

+0

呃.. 。刚刚阅读你的坏消息两点...它会打破公共注册表的智能感知。这确实是一个坏消息,意味着我们无法为我们的私人注册表激活智能感知 – AardVark71

相关问题