在Sublime或VS Code中,您可以定义一个特殊注释(DocBlockr或JSDocs作为示例)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进行弹出?
答案 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
也在多行上(/* :
需要在参数的同一行):
此外,该插件不仅提供了智能javascript自动完成功能,还提供了许多有关创建,开发和管理javascript项目的功能(实时错误,代码重构等)。