Webstorm Jasmine集成-JSHint不识别Jasmine

Webstorm Jasmine集成-JSHint不识别Jasmine,jasmine,webstorm,Jasmine,Webstorm,我使用文件>设置>JavaScript>库在Webstorm 8.0.4中设置了Jasmine集成。我在karma jasmine节点模块的lib/文件夹中添加了一个karma jasmine库 这在语法突出显示的工作方式上很好,我可以跳转到声明并正确显示文档。因此,这种联系似乎很好。然而,JSHint仍然会为每个关键字抱怨没有定义它,例如 JSHint: 'describe' is not defined. (117) 另请参见以下屏幕截图。正如您所看到的,语法高亮显示很好,但我仍然得到一个

我使用文件>设置>JavaScript>库在Webstorm 8.0.4中设置了Jasmine集成。我在karma jasmine节点模块的lib/文件夹中添加了一个
karma jasmine

这在语法突出显示的工作方式上很好,我可以跳转到声明并正确显示文档。因此,这种联系似乎很好。然而,JSHint仍然会为每个关键字抱怨没有定义它,例如

JSHint: 'describe' is not defined. (117)
另请参见以下屏幕截图。正如您所看到的,语法高亮显示很好,但我仍然得到一个错误


这是一个JSHint“功能”。JSHint以每个文件为基础工作,对其他文件中定义的全局变量和函数一无所知,除非它们被添加到“全局”列表中。这可以通过在代码中添加相应的注释
(/*global MY_LIB*/
-参见),或者通过在
首选项->Javascript->代码质量工具->JSHint->预定义(,分隔)
中向“预定义”列表添加您想要全局使用的变量/函数来实现。这是JSHint选项列表中的最后一项

考虑到我从yeoman的.jshintrc构建中得到的内容,是的,您需要将这些名称添加到该文件中

恼人的是,除非你用了什么东西,比如,好吧,约曼

下面是yeoman为我们创建的.jshintrc,加上添加的lodash/下划线和jQuery

{
    "node": true,
    "browser": true,
    "esnext": true,
    "bitwise": true,
    "camelcase": true,
    "curly": true,
    "eqeqeq": true,
    "immed": true,
    "indent": 4,
    "latedef": true,
    "newcap": true,
    "noarg": true,
    "quotmark": "single",
    "undef": true,
    "unused": true,
    "strict": true,
    "trailing": true,
    "smarttabs": true,
    "multistr": true,
    "globals": {
        "after": false,
        "afterEach": false,
        "angular": false,
        "before": false,
        "beforeEach": false,
        "browser": false,
        "describe": false,
        "expect": false,
        "inject": false,
        "it": false,
        "jasmine": false,
        "spyOn": false,            
        "$": false,
        "_": false
    }
}

我不明白。我应该把每个关键字都添加到这个全局变量列表中吗?不是关键字,而是在规范文件之外定义的所有全局对象的名称是的,所以
描述
期望
等等,对吗?这对我来说似乎很可笑……如果你能将配置文件复制/粘贴为文本而不是屏幕截图,那就太棒了。这样,我(和其他人)可以简单地复制/粘贴它。@StenMuchow,我复制并粘贴了整个东西,webstorm仍然给我那些恼人的红色,我还错过了什么?thanksI在添加globals后不得不重新启动Webstorm,以删除那些恼人的JSHint错误。这里正确回答了这个问题