简要总结
apply_patch Tool
这页说明书在讲一个叫“apply_patch”的小工具。它就像一个大哥哥,能帮你一次过改好多文件里的好多地方,比你自己一点点改要稳当多了。如果你需要同时给好几个文件“打补丁”(就是修改内容),就可以来看看这页怎么用。
五岁小孩版解释
这个工具的名字叫 apply_patch,意思是“应用补丁”。你可以把它想成是给文件“打补丁”,就像衣服破了,你贴上一块新布一样。它能一次过读一个长长的“补丁”说明,然后按照说明去添加、修改或者删除文件。这样比一个一个地方慢慢改要快,也不容易出错。
要使用这个工具,你需要准备一个“补丁”说明。这个说明是一个长长的字符串,就像一封给电脑的指令信。信的开头必须是 *** Begin Patch,结尾必须是 *** End Patch。信里面,你可以写很多条不同的指令。
- 添加一个新文件:用
*** Add File:开头,后面写上文件的名字和路径,比如path/to/file.txt。然后在下面写上你想放进这个文件里的所有内容,每一行前面都要加一个+号。 - 修改一个旧文件:用
*** Update File:开头,后面写上你要改的文件名字,比如src/app.ts。然后在下面用@@开始,写上要替换的内容。-开头的行是旧的内容,+开头的行是新的内容。 - 删除一个旧文件:用
*** Delete File:开头,后面写上你想删掉的文件名字,比如obsolete.txt。 - 在文件里移动位置:在修改文件 (
*** Update File:) 的指令里面,你可以用*** Move to:来告诉电脑,从文件的哪个地方开始改。 - 在文件末尾加东西:如果你只想在文件的最后面添加几行,可以用
*** End of File来标记。
这里有一些重要的事情要小心哦:
- 文件路径可以用相对路径(从工作文件夹开始找)或者绝对路径(从最开始的根目录开始找)。
- 为了安全,这个工具默认只允许修改“工作文件夹”里面的文件。如果你想让它改外面的文件,需要特别设置一个叫
tools.exec.applyPatch.workspaceOnly的东西为false。但平时最好不要这样。 - 这个工具还在“实验”阶段,默认是关掉的。你需要先打开它才能用。打开的方法是设置
tools.exec.applyPatch.enabled为true。 - 目前只有 OpenAI 家的模型(比如 GPT)能用这个工具。你还可以通过设置
tools.exec.applyPatch.allowModels来指定哪个模型能用。 - 所有这些设置,都放在
tools.exec这个配置下面。
最后,我们来看一个例子。比如你想把 src/index.ts 文件里的一行 const foo = 1 改成 const foo = 2。你需要告诉工具这样一段话:
*** Begin Patch
*** Update File: src/index.ts
@@
-const foo = 1
+const foo = 2
*** End Patch
然后工具就会帮你改好啦!