【问题标题】:Javascript intellisense in VS2015 unit test projectVS2015单元测试项目中的Javascript智能感知
【发布时间】:2015-12-18 08:39:38
【问题描述】:

我正在 VS2015 的单元测试项目中编写我的角度单元测试,但我无法获得 javascript 的智能感知。我尝试添加一个 _references.js 文件,但没有任何乐趣。在这种项目类型中这甚至可能吗?还是只能在 webapplication 中使用 js intellisense?

【问题讨论】:

    标签: javascript intellisense visual-studio-2015


    【解决方案1】:

    从此链接Javascript editor improvements

    每当您在代码中引用 angular.js(或 angular.min.js)库时,编辑器都会自动提供 IntelliSense、Go to Definition 和导航栏支持:

    因此,只要您在测试项目中引用了这些内容,它就应该可以工作

    【讨论】:

    • 去定义和导航栏支持是什么意思?我在测试项目的 js 文件中引用了 angular.js 库和 jasmine-core.js,但我没有得到智能感知。
    • 抱歉文字内容含糊。我从链接中剪切并粘贴了它。目前我还没有打开 VS2015,但是您可以尝试从 VS2015 IDE 中查看工具/选项/调试,可能需要在其中打勾
    【解决方案2】:

    我刚刚升级到 VS2015 并且遇到了同样的问题。它在 2013.4 下工作得很好。当项目类型不是基于 Web 的项目类型时,VS 似乎没有解析 _references 文件(我的项目也是设置为常规应用程序项目类型的角度单元测试项目)。

    对我有用的快速修复是手动将 _references 添加到智能感知列表中。

    Tools -> Options -> Text Editor -> JavaScript -> Intellisense -> References  
    

    ~/Scripts/_references.js 添加到Implicit (Web) 类别

    然后它正常工作。或者,我想您可以创建一个新的 Web 项目并将所有代码移至其中,但这似乎工作量太大。

    【讨论】:

    • 感谢您的回答 kathasis,我已按照您的建议完成,但在单元测试中仍然没有得到任何智能感知。这真的让我感到惊讶,在抱怨 2015 年对我的团队来说前端开发有多好,然后它甚至无法处理简单的智能感知之后,它也相当令人沮丧:(
    • 如果你正在使用 jasmine(你会讨厌这个,所以希望其他人会发布一个真正的解决方案) - 我必须在 _references 中包含一个 1.X jasmine 版本,该版本仅用于用于智能感知。我使用 2.X 作为实际代码。尚未调查原因 - 显然 2.X 内部结构不同。只有一些小的语法差异,它们很容易记住 - 但仍然是一个巨大的 hack。在 2015 年有效(不过,我在 2013 年也确实必须做同样的事情)。
    • 干杯 ktharsis 我会试一试的。困扰我的是,我似乎根本无法为我的 JavaScript 获得任何智能感知。我已将所有文件添加到 _references 文件中,但即使是我自己的 angular 文件也没有得到任何结果。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-01
    • 2017-10-26
    • 2014-08-30
    • 2016-08-19
    相关资源
    最近更新 更多