使用🌳 Tree-sitter 和 Jedi 重构 Python

主要观点:作者某天尝试对涉及 100 多个文件的重构,想将整个仓库中pytest固件的database重命名为db,但编辑器无法魔法般重构,于是尝试更复杂方法。通过tree-sitter解析节点找到database标识符位置,处理装饰函数时需额外努力,再用Jedi根据位置重命名标识符,最后虽未合并该更改但这是有趣学习过程,觉得jeditree-sitter易学习会放入工具带,也希望tree-sitter有直接操作 AST 的机制,且提到脚本有多次重新解析可优化。还提供了视频展示其运行情况。
关键信息:重构涉及 100 多个文件,用tree-sitterJedi进行操作,未合并更改但有学习收获,希望tree-sitter改进等。
重要细节:tree-sitter相关代码如定义语言、解析文件、处理装饰函数等,Jedi用于根据位置重命名标识符,以及视频展示等。

阅读 20
0 条评论