aider.el : aider (Pemrograman Pasangan AI) Di dalam Emacs
Perkenalan
- Apakah Anda menyukai fitur AI dari Cursor AI Code Editor, tetapi lebih memilih untuk tetap menggunakan Emacs?
- Aider terkenal, pemrograman pasangan AI yang sangat bagus di terminal.
- aider.el menyediakan antarmuka interaktif untuk berkomunikasi dengan Aider di emacs.
- Sebagian besar kode Elisp dalam repositori ini dihasilkan oleh aider / aider.el.
Mengapa Menggunakan aider.el di Emacs?
- Menu Pop-up: Tidak perlu mengingat perintah. (menu-asider-sementara)
- Sesi bantuan Khusus Repositori Git di Emacs: Secara otomatis mengidentifikasi repositori Git dari file saat ini dan membuat sesi bantuan baru untuknya. Beberapa sesi bantuan bisa ada untuk repositori Git yang berbeda.
- Lebih banyak cara untuk menambahkan file ke buffer aider
- Tambahkan file buffer saat ini: (aider-add-current-file)
- Tambahkan semua buffer di jendela saat ini: (aider-add-files-in-current-window)
- Batch menambahkan file dari buffer dired (aider-batch-add-dired-marked-files): Tambahkan beberapa file bertanda Dired ke buffer Aider.
- Penjelasan Berbasis Wilayah/Dukungan Refactor
- Jelaskan: (aider-region-explain): Anda dapat memilih wilayah (misalnya, blok kode) dalam file dan meminta aider menjelaskannya.
- Refactor: (aider-region-refactor): Minta aider untuk memfaktorkan ulang berdasarkan instruksi masukan Anda
- Dan Lainnya: Tambahkan fungsi Elisp Anda sendiri untuk mendukung kasus penggunaan Anda. Anda tentu bisa meminta aider / aider.el untuk melakukan itu.
Instalasi
Instalasi Vanilla Emacs
- Instal bantuan
- Instal ketergantungan Transient menggunakan manajer paket Anda.
- Instal aider.el dengan kode berikut:
( use-package aider
:straight ( :host github :repo " tninja/aider.el " :files ( " aider.el " ))
:config
; ; Use claude-3-5-sonnet cause it is best in aider benchmark
( setq aider-args '( " --model " " anthropic/claude-3-5-sonnet-20241022 " ))
( setenv " ANTHROPIC_API_KEY " anthropic-api-key)
; ; Or use chatgpt model since it is most well known
; ; (setq aider-args '("--model" "gpt-4o-mini"))
; ; (setenv "OPENAI_API_KEY" <your-openai-api-key>)
; ; ;;
Optional: Set a key binding for the transient menu
( global-set-key ( kbd " C-c a " ) 'aider-transient-menu ))
Instalasi dan Konfigurasi Doom
- Tambahkan kode berikut ke doom/packages.el Anda
(package! aider :recipe ( :host github :repo " tninja/aider.el " :files ( " *.el " )))
- Sesuaikan dan tambahkan kode berikut ke doom/config.el Anda
( use-package aider
:config
( setq aider-args '( " --model " " gpt-4o-mini " )))
Awalan pembantunya adalah “A”.
- Mulai dan buka buffer aider:
[SPC] A o
- Tambahkan file saat ini dengan
[SPC] A ac
Opsional
- Anda mungkin ingin mencoba aider-helm.el. File itu menambahkan dukungan riwayat perintah dan penyelesaian dari helm.
- Jika Anda suka menulis perintah aider dalam file terpisah dan mengirimkannya ke sesi aider, seperti mengerjakan skrip python atau R dan mengirim blok kode ke REPL, Anda mungkin ingin mencoba mode aider-minor. Secara default mengikat Cc Cn untuk mengirim baris saat ini ke sesi aider, dan Cc Cc untuk mengirim wilayah saat ini ke sesi aider.
- Untuk secara otomatis mengaktifkan mode aider-minor ke file apa pun dengan aider di dalam nama file
( add-hook 'find-file-hook
( lambda ()
( when ( and ( buffer-file-name )
( string-match-p " aider " ( buffer-file-name )))
(aider-minor-mode 1 ))))
Tangkapan layar
- Pada tangkapan layar di atas, aider diminta untuk membuat fungsi aider-help dan menambahkan entri yang sesuai ke menu (jendela kanan atas).
- aider menerima perintah dan membuat komit untuknya (kiri bawah).
Contoh Aplikasi Ditulis dengan aider.el
Alat pengkodean AI Emacs lainnya
- Terinspirasi oleh, dan Terima kasih kepada:
- ancilla.el: AI Coding Assistant mendukung pembuatan kode/penulisan ulang kode/diskusi
- chatgpt-shell: Shell ChatGPT dan DALL-E Emacs + Org Babel
- kopilot.el: Plugin Emacs untuk GitHub Copilot
- copilot-chat.el: Mengobrol dengan GitHub Copilot di Emacs