Suivre les éléments «TODO» lors de l'écriture de code


18

Existe-t-il un moyen simple de créer une liste d'éléments "à faire" à la volée lors de l'écriture de code? Par exemple, supposons que j'écris une fonction write-this-nowquand je me rends compte que je vais aussi avoir besoin d'écrire une fonction de support write-this-later.

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

Au lieu de m'arrêter pour aller créer write-this-later, je charge en avant comme s'il existait déjà. Cependant, je veux aussi noter moi-même que je dois encore revenir plus tard et le créer.

Une solution que j'ai utilisée dans le passé consiste à ajouter un commentaire avec le mot TODO

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

Maintenant, je peux revenir plus tard et rechercher dans le fichier les occurrences du mot TODO, et je trouverai cette petite note que j'ai laissée pour moi.

Existe-t-il des packages ou des extensions pour faciliter la création et le suivi des éléments TODO dans un fichier ou un projet?

Puis-je regrouper tous mes articles TODO du projet en cours dans une seule liste de tâches? Puis-je ajouter des signets dans ma liste de tâches qui renvoient aux emplacements où j'ai écrit les éléments TODO?


2
Un moyen simple mais efficace de le faire est d'utiliser le projet grep / awk / ack du projectile pour TODO. C'est ce que je fais habituellement
J David Smith

Réponses:


18

Vous voudrez peut-être essayer d'utiliser la capture d'organisation . Lorsque vous lancez à org-capturepartir de votre fichier source, il insère un élément TODO dans un fichier en mode organisation avec un lien vers la zone appropriée dans le code source. org-captureest suffisamment intelligent pour capturer des liens contextuels - par exemple, si vous l'invoquez dans un message dans GNUS, il capturera un lien directement vers ce message.


1
Cela ressemble étonnamment à ce que j'ai décrit. J'ai peut-être utilisé la capture d'org dans une autre vie.
nispio du

16

fixmee-mode offre la mise en évidence de ces notes et la navigation.

Il est facilement installé à partir de MELPA et prend en charge différentes priorités de tâches.


1
C'est une approche intéressante. Vraiment pas de raccourcis clavier à mémoriser si vous ne le souhaitez pas. Le principal avantage que je vois par rapport à la simple recherche d'objets TODO est que vous pouvez leur attribuer la priorité en ajoutant des caractères.
nispio

2

Bien que n'étant pas entièrement sur le sujet pour emacs, j'utilise le truc simple de créer le stub de la méthode / propriété / quoi que ce soit quand je frappe ce moment "à faire", ne contenant rien de plus qu'une assertion qui dit "Ecrivez-moi!" ou similaire.

Le code se compile ensuite proprement et m'indique à l'exécution où se trouvent mes éléments TODO.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.