gpt4 book ai didi

javascript - Tern 无法使用 JSDoc 类型信息

转载 作者:行者123 更新时间:2023-12-03 03:32:50 25 4
gpt4 key购买 nike

我正在尝试使用 Tern对某些 Javascript 代码执行类型推断。但是,类型推断似乎没有在代码旁边使用 JSDoc 注释。

我使用代码 /** @type {Foo} */let x; 作为问题的示例。关于Tern website's demo page (使用 CodeMirror),编辑器能够推断出 x 的类型是 Foo

但是,当通过节点在本地运行时,我得到以下结果:{ type: '?', exprName: 'x' }

这是复制该问题的代码片段:

const tern = require('tern');

const ternServer = new tern.Server({
plugins: {
doc_comment: {
strong: true
}
}
});

const js = `/** @type {Foo} */ let x;`;
ternServer.addFile("main", js);
ternServer.request({
query: {
type: "type",
file: "main",
start: js.length - 2,
end: js.length - 2
}
}, console.log);

Tern 在类型推断方面一直工作得非常好。当使用 JSDoc 注释时,它似乎不适用于我初始化和调用它的方式。

我什至设置了 doc_comment插件到 strong,这意味着 JSDoc 类型比正常推断的类型更受青睐,但无济于事。

有什么想法可以让它发挥作用吗?

最佳答案

事实证明,您必须导入 doc_comment 插件才能使用它。否则,为 tern 服务器设置插件选项将不会执行任何操作。

只需将 require("tern/plugin/doc_comment"); 添加到文件顶部即可解决问题。

关于javascript - Tern 无法使用 JSDoc 类型信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46009759/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com