4

我正在为打字稿使用摩纳哥编辑器。有没有办法为当前模型获取 AST?是否可以修改树以便编辑器对更改做出反应?即我想为打字稿做简单的重构工具?

4

2 回答 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;
于 2017-12-11T21:57:38.723 回答
0

相关的东西:我正在使用 monaco 编辑基于 Compiler API 的 TypeScript 代码,但是代码实际上在后端运行,因为据我所知,typeScript 编译器不支持浏览器。https://typescript-api-playground.glitch.me

于 2018-06-21T21:54:21.227 回答