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