Verfolgen Sie „TODO“ -Elemente, wenn Sie Code schreiben

17

Gibt es eine einfache Möglichkeit, beim Schreiben von Code eine Liste mit Aufgaben zu erstellen? Angenommen, ich schreibe eine Funktion, write-this-nowwenn mir klar wird, dass ich auch eine Unterstützungsfunktion schreiben muss write-this-later.

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

Anstatt zu pausieren, um zu erstellen write-this-later, stürme ich voraus, als ob es bereits existierte. Ich möchte mir jedoch auch notieren, dass ich später noch zurückkommen und es erstellen muss.

Eine Lösung, die ich in der Vergangenheit verwendet habe, ist das Hinzufügen eines Kommentars mit dem Wort TODO

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

Jetzt kann ich zu einem späteren Zeitpunkt zurückkehren und die Datei nach Vorkommen des Wortes durchsuchen TODO, und ich werde diese kleine Notiz finden, die ich für mich selbst hinterlassen habe.

Gibt es Pakete oder Erweiterungen, die das einfache Erstellen und Verfolgen von TODO-Elementen in einer Datei oder einem Projekt erleichtern?

Kann ich alle meine Aufgaben aus dem aktuellen Projekt in einer einzigen Aufgabenliste zusammenfassen? Kann ich meiner Aufgabenliste Lesezeichen hinzufügen, die auf die Stellen verweisen, an denen ich die Aufgaben geschrieben habe?

Nispio
quelle
2
Eine einfache, aber effiziente Möglichkeit, dies zu tun, besteht darin, das Projekt grep / awk / ack von projectile für TODO zu verwenden. Dies ist, was ich normalerweise tue
J David Smith

Antworten:

18

Möglicherweise möchten Sie versuchen, org capture zu verwenden . Wenn Sie org-capturevon Ihrer Quelldatei aus initiieren , wird ein TODO-Element in eine Datei im Organisationsmodus mit einem Link zu dem entsprechenden Bereich im Quellcode eingefügt. org-captureEs ist intelligent genug, um kontextsensitive Links zu erfassen. Wenn Sie es beispielsweise in einer Nachricht in GNUS aufrufen, wird ein Link direkt zu dieser Nachricht erfasst.

Shosti
quelle
1
Das sieht erstaunlich ähnlich aus, wie ich es beschrieben habe. Vielleicht habe ich Org-Capture in einem anderen Leben benutzt.
Nispio
16

fixmee-mode bietet das Hervorheben solcher Notizen und die Navigation.

Es ist einfach von MELPA zu installieren und unterstützt unterschiedliche Prioritäten von Aufgaben.

Wasamasa
quelle
1
Das ist ein interessanter Ansatz. Wirklich keine Tastenkombinationen auswendig zu lernen, wenn Sie nicht möchten. Der Hauptvorteil, den ich sehe, wenn ich nur nach TODO-Elementen greife, ist, dass Sie ihnen Priorität zuweisen können, indem Sie Zeichen anhängen.
Nispio
2

Obwohl ich für Emacs nicht ganz auf dem Thema stehe, benutze ich den einfachen Trick, den Stub der Methode / Eigenschaft / was auch immer zu erstellen, wenn ich auf diesen Moment treffe und nichts weiter als eine Behauptung mit der Aufschrift "Write Me!" o.ä.

Der Code wird dann sauber kompiliert und teilt mir zur Laufzeit mit, wo sich meine TODO-Elemente befinden.

Acht-Bit-Guru
quelle