Monaco编辑器如何访问AST

5

我正在使用 monaco editor 进行 TypeScript 编辑。有没有一种获取当前模型 AST 的方法?是否可以修改树形结构,使编辑器对更改做出反应?也就是说,我想为 TypeScript 创建一个简单的重构工具。

2个回答

0

Monaco并不公开其AST,但您可以使用jscodeshift代替:

const editor = monaco.editor.create(
     document.querySelector("#editor"), {value: 'var foo;'})// editor content: var foo;
const newValue = jscodeshift(editor.getValue())
     .findVariableDeclarators('foo')
     .renameTo('bar')
     .toSource();
editor.setValue(newValue); // editor content: var bar;

0

有关内容:我正在使用 Monaco 编辑基于编译器 API 的 TypeScript 代码,但实际上该代码在后端运行,因为据我所知,TypeScript 编译器不支持浏览器。https://typescript-api-playground.glitch.me


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接