IntelliJ:自动完成对象作为函数参数

IntelliJ: Autocomplete object as function-parameter

我正在使用 IntelliJ IDEA 作为 IDE 进行开发,其中还涉及 Java 脚本开发。我的基本目标是用我自己的 "library" 按照以下方式 在 IDE 中完成代码完成工作 。 "library",确切地说,是 Nashorn 将特殊调用委托给 Java。我目前正在评估 TypeScript 和 DefinitelyTyped 是否可以解决我的代码完成问题。

我有一个函数,我想按如下方式调用:

obj.func("", false, {
    xyz: "",
    abf: "",
    f7d: 17.5,
    cccts: true
});

详细参数仅为示例。请注意,有一个 参数 是一个 Java 脚本对象,它有一大堆已定义但不容易记住的属性。 我希望 IDE 不仅对函数进行代码补全,而且对内部对象 .

中的 可能属性进行代码补全

我使用 TypeScript 的尝试如下:

function func(
    p1:string,
    p2?:boolean,
    p3?:{
        xyz: string;
        abf: string;
        f7d: number;
        cccts: boolean;
    }
):void;

这很有效,因为 IDE 告诉我函数名称是什么,它需要什么参数以及需要什么类型。 然而,在键入 p3 的左大括号后,我得到 no further code-completion of what should or could in the object。我什至可以输入类似 "ccc" 的内容,但 IDE 不再自动完成。 我在 TypeScript 中写下了整个签名 - 所以要么我以错误的方式写下了信息,要么 IDE 没有像我期望的那样使用它。

到目前为止我的知识 - 你们中的任何人都可以告诉我,如何使 IntelliJ IDEA 自动完成此对象属性?希望如此!

提前致以最良好的祝愿和感谢, 丹尼斯

intellisence 正确显示在 playground 和 atom-typescript 之类的东西上:

IntelliJ 使用其自己的语言服务实现。这有其优点(做得更多)和缺点(例如在您给出的示例中做得更少)。解决方案是使用 JetBrains 提出错误并等待发布(相当快)。