gpt4 book ai didi

visual-studio-code - 如何访问 VSCode 创建的 AST

转载 作者:行者123 更新时间:2023-12-04 02:37:59 32 4
gpt4 key购买 nike

我为 UI5 JavaScript 编写了一个 VSCode 扩展。最缺少的功能是为 UI5 提供 IntelliSense。使用 UI5 类型它会起作用,但不是全部。

这有效:

var testvar1 = new sap.m.Button();

现在我可以在 testvar1 的 VSCode 中使用 IntelliSense。

问题例如:
sap.ui.define([
"sap/ui/core/mvc/Controller"
],
function (Controller) {
"use strict";
return Controller.extend("", {

});
});

在这种情况下,函数中有一个Controller变量,这个变量之前是用Namespace定义的。我现在搜索在我的扩展中使用命名空间分配这个变量的可能性。我知道这可以在 AST 中完成,但我现在知道如何访问 AST 以进行设置:
Controller = sap.ui.core.mvc.Controller

目标是现在在变量 Controller 中拥有完整的 IntelliSense

到目前为止,我希望很清楚我想要什么。

最佳答案

如果你只需要给 Controller 一个类型,尝试使用 JSDoc :

sap.ui.define([
"sap/ui/core/mvc/Controller"
], function (/** @type {sap.m.Controller} */Controller) {
// ...
});
要回答原始问题,您可以使用 TypeScript server plugin 访问/修改 AST。 .这不是微不足道的,所以除非你真的需要,否则我会尽量避免这样做。

关于visual-studio-code - 如何访问 VSCode 创建的 AST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47617153/

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