Śledź elementy „DO ZROBIENIA” podczas pisania kodu

18

Czy istnieje prosty sposób na utworzenie listy „rzeczy do zrobienia” w locie podczas pisania kodu? Załóżmy na przykład, że piszę funkcję, write-this-nowkiedy zdaję sobie sprawę, że będę również musiał napisać funkcję pomocniczą write-this-later.

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

Zamiast pauzować, aby rozpocząć tworzenie write-this-later, ładuję z wyprzedzeniem, jakby już istniał. Chciałbym jednak również zanotować, że muszę jeszcze wrócić i go stworzyć.

Jednym z rozwiązań, z których korzystałem w przeszłości, jest dodanie komentarza do tego słowa TODO

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

Teraz mogę wrócić później i przeszukać plik pod kątem występowania tego słowa TODO, i znajdę tę małą notatkę, którą zostawiłem dla siebie.

Czy istnieją jakieś pakiety lub rozszerzenia, które ułatwiają łatwe tworzenie i śledzenie elementów TODO w pliku lub projekcie?

Czy mogę zebrać wszystkie moje rzeczy do zrobienia z bieżącego projektu w jedną listę rzeczy do zrobienia? Czy mogę dodać zakładki do mojej listy rzeczy do zrobienia, które prowadzą z powrotem do miejsc, w których napisałem elementy DO ZROBIENIA?

nispio
źródło
2
Prostym, ale skutecznym sposobem na to jest użycie projektu grep / awk / ack pocisku dla TODO. Tak zwykle robię
J David Smith

Odpowiedzi:

18

Możesz spróbować użyć przechwytywania org . Gdy zainicjujesz org-capturez pliku źródłowego, wstawi on element DO ZROBIENIA do pliku w trybie organizacji z linkiem do odpowiedniego obszaru w kodzie źródłowym. org-capturejest wystarczająco inteligentny, aby przechwytywać linki kontekstowe - na przykład, jeśli wywołasz go w wiadomości w GNUS, przechwyci on link bezpośrednio do tej wiadomości.

shosti
źródło
1
To wygląda niesamowicie podobnie do tego, co opisałem. Może wykorzystałem org capture w innym życiu.
nispio
16

Tryb fixmee oferuje wyróżnianie takich notatek i nawigacji.

Jest łatwy do zainstalowania z MELPA i obsługuje różne priorytety czynności do wykonania.

wasamasa
źródło
1
To ciekawe podejście. Naprawdę brak powiązań klawiszy do zapamiętania, jeśli nie chcesz. Główną zaletą, którą widzę w porównaniu do zwykłego grepowania przedmiotów TODO, jest to, że możesz przypisać im priorytet, dodając postacie.
nispio
2

Chociaż nie jest to wyłącznie temat emacsa, używam prostej sztuczki polegającej na utworzeniu kodu pośredniczącego metody / właściwości / czegokolwiek, kiedy uderzę w ten moment „do zrobienia”, zawierający jedynie stwierdzenie z napisem „Napisz do mnie!” lub podobne.

Kod następnie kompiluje się czysto i mówi mi w czasie wykonywania, gdzie są moje elementy DO ZROBIENIA.

Ośmiobitowy Guru
źródło