Tool apply_patch
Áp dụng các thay đổi lên file bằng định dạng patch có cấu trúc. Cái này rất hữu ích khi các bạn cần chỉnh sửa nhiều file hoặc nhiều đoạn code, mà dùng lệnh edit đơn lẻ thì dễ bị lỗi.
Tool này nhận vào một chuỗi input chứa một hoặc nhiều thao tác trên file:
*** Begin Patch
*** Add File: path/to/file.txt
+line 1
+line 2
*** Update File: src/app.ts
@@
-old line
+new line
*** Delete File: obsolete.txt
*** End Patch
Tham số
input(bắt buộc): Toàn bộ nội dung patch bao gồm*** Begin Patchvà*** End Patch.
Lưu ý
- Đường dẫn file được tính từ thư mục gốc của workspace.
- Dùng
*** Move to:trong khối*** Update File:để đổi tên file. *** End of Fileđánh dấu vị trí chèn ở cuối file khi cần.- Đây là tính năng thử nghiệm và mặc định bị tắt. Bật lên bằng cách set
tools.exec.applyPatch.enabled. - Chỉ dùng được với OpenAI (bao gồm OpenAI Codex). Các bạn có thể giới hạn theo model bằng config
tools.exec.applyPatch.allowModels. - Config chỉ nằm trong
tools.exec.
Ví dụ
{
"tool": "apply_patch",
"input": "*** Begin Patch\n*** Update File: src/index.ts\n@@\n-const foo = 1\n+const foo = 2\n*** End Patch"
}