Intellij idea 如何告诉IntelliJ有关TinyMCE动态属性的信息?

Intellij idea 如何告诉IntelliJ有关TinyMCE动态属性的信息?,intellij-idea,tinymce,Intellij Idea,Tinymce,我正在使用IntelliJ进行一些Javascript开发。我们在网站上使用TinyMCE,它有一些动态生成的方法(它的事件) IntelliJ正在抱怨它无法解析变量。。。这并不奇怪,因为事件是动态生成的 我知道我可以抑制对那条线的检查,但是有更好的办法吗?理想情况下,我希望能够告诉IntelliJ这些变量。。。也许通过JSDoc?还是有别的办法 编辑 本质上,这适用于在运行时创建的属性,并且IntelliJ无法静态确定这些属性 以下代码是一个基本示例: var Foo = { addMet

我正在使用IntelliJ进行一些Javascript开发。我们在网站上使用TinyMCE,它有一些动态生成的方法(它的事件)

IntelliJ正在抱怨它无法解析变量。。。这并不奇怪,因为事件是动态生成的

我知道我可以抑制对那条线的检查,但是有更好的办法吗?理想情况下,我希望能够告诉IntelliJ这些变量。。。也许通过JSDoc?还是有别的办法

编辑

本质上,这适用于在运行时创建的属性,并且IntelliJ无法静态确定这些属性

以下代码是一个基本示例:

var Foo = {
  addMethod: function() {
    this.newMethod = function() {
      console.log("This method is dynamically generated");
    }
  }
}

var foo = new Foo();
foo.addMethod();
foo.newMethod();
IntelliJ可以推断
addMethod
是一种方法,但不能推断
newMethod
是一种有效的方法


我能做些什么来教IntelliJ
newMethod
合法吗?

我认为问题在于IntelliJ不能推断内联属性的类型,即使它们是函数。让IntelliJ发挥作用的唯一方法是使用原型而不是内联对象表示法。i、 e:

function Bar() { }
Bar.prototype.addMethod = function() { };
Bar.prototype.newMethod = function() { };

var bar = new Bar();
bar.addMethod();
bar.newMethod();

我不知道这是否仍然相关, 但我发现您可以添加“namespace”文档注释来告诉IntelliJ/Webstorm它不知道的方法

例如,添加

  /** @namespace bar.newMethod */

确保IntelliJ不再将您的使用标记为无效

不幸的是,我无法控制TinyMCE如何定义其方法:o(您可以将框架添加到检查中吗?(设置->JAVASCRIPT->库->配置)仅供参考--您还可以在较新版本的IntelliJ中将JS库添加到项目库中。