如何访问VSCode创建的AST
我为UI5 JavaScript编写VSCode扩展。最缺少的功能是为UI5提供IntelliSense。使用UI5类型,它将工作,但不是。如何访问VSCode创建的AST
这工作:
var testvar1 = new sap.m.Button();
现在我可以在testvar1在VSCode使用IntelliSense。
存在的问题例如为:
sap.ui.define([ "sap/ui/core/mvc/Controller"
],
function (Controller) {
"use strict";
return Controller.extend("", {
});
});
在这种情况下,存在在功能的控制器变量,该变量与之前的命名空间定义。我现在搜索一下可能性,在我的扩展中使用命名空间分配这个变量。我知道这可以在AST做,但我现在已经爱迪尔如何获得访问AST设置:
Controller = sap.ui.core.mvc.Controller
的目标是现在有完整的IntelliSense在变量控制器
希望到目前为止,我很清楚自己想要什么。
回答:
如果你只需要提供一个类型为Controller
,请尝试使用jsdocs:
sap.ui.define([ "sap/ui/core/mvc/Controller"
],
function (/** @type {sap.m.Controller} */ Controller) {
...
});
要回答原来的问题,你可以用一个TypeScript server plugin访问/修改AST。这是不平凡的,所以我会尽量避免这样做,除非你真的需要
以上是 如何访问VSCode创建的AST 的全部内容, 来源链接: utcz.com/qa/260268.html