无法在 Visual Studio 2017 RC 中添加全局 JavaScript Intellisense 引用
Posted
技术标签:
【中文标题】无法在 Visual Studio 2017 RC 中添加全局 JavaScript Intellisense 引用【英文标题】:Cannot add a global JavaScript Intellisense reference in Visual Studio 2017 RC 【发布时间】:2017-07-10 10:19:47 【问题描述】:我正在尝试尽可能轻松地从 2015 年迁移到 2017 年。我使用的代码库有几个自定义库,我可以将它们添加为 VS 2015 中的引用。
然而,在 VS 2017 RC 中,'references' 选项已从选项->文本编辑器->javascript/Typescript->Intellisense 菜单中删除,它在 VS 2015 中存在。
我们将不胜感激。
【问题讨论】:
VS 2017的最终版也有同样的问题。 【参考方案1】:js 引擎的变化也反映在智能感知中。您可能会获得更多信息和示例here 和here。
【讨论】:
【参考方案2】:我的理解是,新的 JavaScript 语言服务“Salsa”是罪魁祸首。
This blog link(由 i100 提供)在 Notable Changes 部分有以下声明:
另一个关键区别是,虽然旧语言服务支持可扩展模型,允许为特定的 3rd 方 JavaScript 库开发自定义扩展,但 Salsa 不再支持这些扩展,而是支持 TypeScript 定义文件,这鼓励社区协作并且更容易保持最新。
虽然措辞对我来说有点模棱两可,但我认为这意味着 VS 2017 不再支持直接添加 javaScript 库作为引用。在 VS 2017 中获取 Intellisense 的唯一方法是使用 TypeScript 定义文件。
我找到了this question,了解如何从现有 JavaScript 文件生成 TypeScript def 文件。传统观点认为 TS def 文件比 JavaScript 文件需要更多的特异性,因此最可靠的是手动创建。但是,如果您像我一样拥有数万行自定义库定义,这可能不是一个可行的解决方案。
据称有几个程序会自动生成 TS def 文件,但我从未使用过它们,也无法说明它们的有效性。
dts-gen 由微软创建。
dts-generator 由 SitePen 创建。
看来业界认为 TypeScript 是未来之道,正在努力使 TS 开发成为标准。
【讨论】:
以上是关于无法在 Visual Studio 2017 RC 中添加全局 JavaScript Intellisense 引用的主要内容,如果未能解决你的问题,请参考以下文章
从 Visual Studio 2017 RC 降级到 Visual Studio 2015 的解决方案