我使用IntelliJ IDEA作为开发的IDE,也涉及JavaScript开发。我的基本目标是通过以下方式使用我自己的"库"在IDE中进行代码完成工作。确切地说,"库"是Nashorn委托对Java的特殊调用。我目前正在评估TypeScript和DefinitelyTyped是否可以解决我的代码完成问题。
我有一个我想要调用的函数如下:
obj.func("", false, {
xyz: "",
abf: "",
f7d: 17.5,
cccts: true
});
详细参数仅是示例。请注意,一个参数是一个JavaScript对象,它有一大堆已定义但不易记忆的属性。 我希望IDE不仅代码完成函数,还需要代码完成内部对象中可能的属性。
我尝试使用TypeScript,如下所示:
function func(
p1:string,
p2?:boolean,
p3?:{
xyz: string;
abf: string;
f7d: number;
cccts: boolean;
}
):void;
这很有效,因为IDE告诉我函数名称是什么,它期望什么参数以及需要什么类型。 然而,在输入p3的左大括号后,我得到没有进一步的代码完成应该或可以插入对象。我甚至可以键入类似" ccc"的内容,但IDE无需再自动完成了。 我在TypeScript中写下了整个签名 - 所以我要么以错误的方式写下信息,要么IDE不会像我期望的那样使用它。
到目前为止我的知识 - 你们中的任何人都可以告诉我,如何让IntelliJ IDEA自动完成这个对象属性?我希望如此!
最好的祝福和感谢, 丹尼斯
答案 0 :(得分:0)
intellisence正确显示在操场上和atom-typescript:
之类的东西
IntelliJ使用语言服务的自己的实现。这有其正面(更多)和负面(例如在你给出的例子中更少)。解决方案是使用JetBrains引发错误并等待释放(相当快)。