Typescript typscript编译API-更改变量名
我认为这很简单,只需更新一个变量名。我找到的所有博客/帖子都在添加/删除节点。我只想更新一个变量名并输出Typescript typscript编译API-更改变量名,typescript,typescript-compiler-api,Typescript,Typescript Compiler Api,我认为这很简单,只需更新一个变量名。我找到的所有博客/帖子都在添加/删除节点。我只想更新一个变量名并输出源文件 我不想使用ts变形 我有我的节点(在本例中是一个NodeObject),但正在调用 node.name.text = "testing"; 无法设置只有getter的#的属性文本 这可能吗?我必须使用转换吗?如果是这样的话,则可以链接到具有标识符名称更改的示例 我认为这很简单,只需更新一个变量名 这就是ts变形存在的原因。使用编译器API,您需要编写大量代码来完成
源文件
我不想使用ts变形
我有我的节点(在本例中是一个NodeObject
),但正在调用
node.name.text = "testing";
无法设置只有getter的#的属性文本
这可能吗?我必须使用转换吗?如果是这样的话,则可以链接到具有标识符名称更改的示例
我认为这很简单,只需更新一个变量名
这就是ts变形存在的原因。使用编译器API,您需要编写大量代码来完成此操作,但使用ts morph,您只需执行ident.replaceWithText(“newName”)
或使用ident.rename(“newName”)语言服务重命名即可
要仅更改变量声明的名称标识符,请使用转换API,然后将AST重新打印为字符串。因此,在较低的级别上,使用提供现有变量声明的factory.updateVariableDeclaration
函数,然后使用factory.createIdentifier(“yourNewIdentifierName”)
作为名称
参数。然后,使用打印机API将其打印为字符串(请参见ts.createPrinter()
)
如果希望重命名变量声明及其所有用法,则可以使用语言服务进行重命名。首先,编写所有代码以设置语言服务,然后使用findNameLocations
方法获取所有重命名位置,并使用结果修改文本