Lacak item "TODO" saat menulis kode

18

Apakah ada cara mudah untuk membuat daftar item "yang harus dilakukan" sambil menulis kode? Sebagai contoh, anggaplah saya sedang menulis fungsi write-this-nowketika saya menyadari bahwa saya juga perlu menulis fungsi pendukung write-this-later.

(defun write-this-now ()
  (unless (write-this-later) ...

Alih-alih berhenti untuk membuat write-this-later, saya menagih ke depan seolah-olah sudah ada. Namun, saya juga ingin membuat catatan untuk diri saya sendiri bahwa saya masih perlu kembali lagi nanti dan membuatnya.

Salah satu solusi yang saya gunakan di masa lalu adalah menambahkan komentar dengan kata tersebut TODO

(defun write-this-now ()
  (unless (write-this-later) nil))  ; TODO create function `write-this-later`

Sekarang saya dapat kembali lagi nanti dan mencari file untuk kemunculan kata tersebut TODO, dan saya akan menemukan catatan kecil yang saya tinggalkan sendiri.

Apakah ada paket atau ekstensi di luar sana untuk memudahkan pembuatan dan pelacakan item TODO dalam file atau proyek?

Bisakah saya menggabungkan semua item TODO saya dari proyek saat ini ke dalam satu daftar tugas? Bisakah saya menambahkan bookmark dalam daftar tugas saya yang menghubungkan kembali ke lokasi di mana saya menulis item TODO?

nispio
sumber
2
Cara sederhana namun efisien untuk melakukan ini adalah dengan menggunakan project grep / awk / ack projectile untuk TODO. Inilah yang biasanya saya lakukan
J David Smith

Jawaban:

18

Anda mungkin ingin mencoba menggunakan tangkapan org . Ketika Anda memulai org-capturedari file sumber Anda, item TODO akan dimasukkan ke dalam file mode-org dengan tautan ke area yang relevan dalam kode sumber. org-capturecukup pintar untuk menangkap tautan yang peka konteks - misalnya, jika Anda memintanya dalam sebuah pesan di GNUS, itu akan menangkap tautan langsung ke pesan itu.

shosti
sumber
1
Itu terlihat sangat mirip dengan apa yang saya jelaskan. Mungkin saya menggunakan penangkapan org dalam kehidupan lain.
nispio
16

mode fixmee menawarkan penyorotan catatan dan navigasi tersebut.

Itu mudah diinstal dari MELPA dan mendukung berbagai prioritas item todo.

wasamasa
sumber
1
Itu pendekatan yang menarik. Benar-benar tidak ada binding kunci untuk dihafal jika Anda tidak mau. Keuntungan utama yang saya lihat daripada hanya mengambil item TODO adalah Anda dapat menetapkan prioritas dengan menambahkan karakter.
nispio
2

Sementara tidak sepenuhnya on-topik untuk emacs, saya menggunakan trik sederhana menciptakan rintisan dari metode / properti / apapun ketika saya menekan bahwa 'untuk melakukan' saat, mengandung tidak lebih dari sebuah pernyataan yang mengatakan "Menulis Me!" atau serupa.

Kode kemudian dikompilasi dengan bersih, dan memberi tahu saya saat runtime di mana item TODO saya berada.

Guru Delapan-Bit
sumber