使用特殊注释

时间:2017-12-14 14:31:51

标签: javascript visual-studio-code sublimetext3 intellisense jsdoc

在Sublime或VS Code中,您可以定义一个特殊注释(DocBlockrJSDocs作为示例)Intellisense将识别为您提供智能工具提示功能。

我有一个带选项参数的函数。这是一个对象,可以有几个属性,可以包含函数,字符串,整数等。例如:

function foo(options){
    options = options || {};

    if(options.foo){
        console.log(options.foo);
    }
    if(options.bar) {
        console.log(options.bar());
    }
}
foo({foo: 'foo', bar: function(){return 'bar';}});

我可以添加一个DocBlockr注释,但这只会产生一个工具提示,表明它需要一个对象。

是否可以对该选项对象进行某种定义,以便使用intellisense进行弹出?

1 个答案:

答案 0 :(得分:1)

对于Sublime Text 3,您可以使用我的JavaScript Enhancement插件(您也可以在打包控件上找到它)将其转换为JavaScript IDE(它使用{{3在引擎盖下)。在您的情况下,使用Flow,您可以使用此代码来获得您想要的内容:

//@flow

function foo(options /*: { foo: string, bar: function} */){
    options = options || {};

    if(options.foo){
        console.log(options.foo);
    }    
    if(options.bar) {
        console.log(options.bar());
    }
}

foo()

所以,在Sublime Text 3编辑器中,你会得到这样的东西: Flow type annotations

也在多行上(/* :需要在参数的同一行):

enter image description here

此外,该插件不仅提供了智能javascript自动完成功能,还提供了许多有关创建,开发和管理javascript项目的功能(实时错误,代码重构等)。