关于搜索:coderecycle-可能是目前支持语言最多的语法查询
code-recycle: 可能是目前反对语言最多的语法查问400+种的语法解析like/selector两种查问模式链式查问;多层级解决依据拓展名主动确定文件语言一般查问依据文本进行查问;通过正则表达式查问尽管下面两种查问形式在大多数状况下通用性十分强,然而在一些特定状况下就顾此失彼了比方,查问上面代码中 A 类蕴含的 count 的类型 class A{ value:string count:number}语法查问 - code recycle你能够间接应用 like 查问模式 class A{ [[{]] count: [[$var]] [[}]] },将会间接匹配到 count 的类型并保留到var变量中供应用或者应用 selector 模式 ClassDeclaration:has(>Identifier[value=A]) PropertyDeclaration:has(>[value=count])>NumberKeyword:infer(var) 同样会保留到var变量中like查问模式like 模式在大多数状况下都与一般文本一样,只不过能够忽视格式化带来的影响,let a=6与let a = 6在like模式下会被解析为一种语法树,所以不必放心匹配的内容会被格局影响selector 查问模式应用 css选择器抉择节点,确定上下文关系查问 selector外部能够通过:like(xx)调用like模式残缺的查问上下文不止是进行一次查问,code recycle目前能够一次进行多种不同文件查问,每一次查问后果能够作为下一次查问的范畴,调用曾经查问到的后果,进行 新增/批改/删除[ { name: 'file1', path: './def1.ts', list: [ { query: `LetKeyword`, callback: (context) => { context.data = context.getNodeValue() }, }, { query: `let a=[[$var]]`, replace:{var:'7'},mode:'like' } ] }, { path: './def2.ts', list: [ { query: `Identifier`, callback: async (context) => { return util.setChange.contextNode(context, context.getContext('root.file1.0').data) }, } ] }]如何应用?code-recycle目前同时反对cli与VSCode extension你能够参考疾速开始-cli你能够拉取演示仓库疾速上手git clone https://github.com/wszgrcy/code-recycle-plugin-script.git