The Code Project View our sponsorsCodejock Software - Serious GUI CodeAdvertise on the CodeProject
Home >> Macros and Add-ins >> DevStudio Add-ins

ToDoList Add-on
By Alex Kucherenko

This is add-on for Visual C++ that lists comments in source files such as TODO:, TASK:, NOTE: etc and makes it easy to navigate to them. 
 VC 4-6, Win95-98, NT4, W2K, STL
 Posted 15 May 2001
 Updated 12 Jun 2001
Articles by this author
Send to a friend
Printer friendly version
Home Latest updates Submit your article About Us Advertise on the Code Project Contact us Discussion Forums
Navigation bar
13 users have rated this article. result:
4.08 out of 5.

Sample Image - OptionDialog.jpg

Introduction

This add-in allows you to quickly find all occurrences of keywords such as TODO, NOTE, BUG etc in your source files.

As you know Microsoft wizards in Visual C++ add some useful comments into the code generated. For example:

#if !defined(AFX_STDAFX_H__538F0446_5CAB_4A15_B17C_C14CCC57E3F4__INCLUDED_)
#define AFX_STDAFX_H__538F0446_5CAB_4A15_B17C_C14CCC57E3F4__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

// TODO: reference additional headers your program requires here

//{{AFX_INSERT_LOCATION}}

#endif // !defined(AFX_STDAFX_H__538F0446_5CAB_4A15_B17C_C14CCC57E3F4__INCLUDED_)

In the code you can see the comment which starts with the keyword "TODO:". In source you can find many such comments, which starts with keywords like NOTE, TODO, BUG etc.

When you run the add-in you see the locations of all such keywords as follows:

Results of work

It's a pity, but many programmers ignore such comments. The first I saw the use of these comments was when I was using Borland C++ Builder (C++ Builder has an integrated feature which finds such comments in the project sources). After a little time I find that such comments can help in the organization of the project's source for a team of developers.

For instance, one programmer can simply add such a comment into the code and another programmer can easily find what to do or to fix in code. All tasks can be easily added into the source and we have no need of team organization applications.

An example of such is:

One programmer (leader programmer) creates the structure of a project (functions with no code, only with comments.) Another programmer (developer) looks at the code and adds implementation for each function. The tester add comments like "// BUG:" or "// NOTE:" and on it goes.

So you can see how such comments can simplify working as a team.

Setting the location of the Log files

The Logger subsystem uses the following registry keys:

HKEY_LOCAL_MACHINE\SOFTWARE\AlexKucherenko\TODOList Add-in\Debug\LogInWindow

A string value. The value must be a number writen in literals {0-9}. Value == 0 means the logger subsystem does not use the window and logs all messages into a file. If the value > 0 then the Logger subsystem creates a winodw (one for each instace of the add-on), where it will store all messages from the add-on. The LogInWindow key has higher priority than LogToFile (below).

HKEY_LOCAL_MACHINE\SOFTWARE\AlexKucherenko\TODOList Add-in\Debug\LogToFile

A string value. The value must be a full path to the file in which you want to store log messages. This part of the logger subsystem is multithread safe and many instances of the add-on can write mmesages into the file at the same time.

If you don't want to use logging subsystem simply delete the HKEY_LOCAL_MACHINE\SOFTWARE\AlexKucherenko\TODOList Add-in\Debug sub key from the registry.

Registry file example:

[HKEY_LOCAL_MACHINE\SOFTWARE\AlexKucherenko\TODOList Add-in\Debug]
"LogInWindow"="1"
"LogToFile"="c:\\todoList.log"

About Alex Kucherenko

Name: Kucherenko Alexander
Born: September 20, 1979
Platforms: Win32; OS/2; Linux;
Hardware: IBM PC
Programming Languages: Assembler (for Intel 80386); Borland C/C++; Borland Pascal; Object Pascal; Borland C++Builder; Delphi; Perl; Java; Visual C++; Visual J++; UML;
Development Environments: MS Visual C++; Borland Delphi; Borland C++Builder; C/C++ any; Rational Rose; GDPro;
Libraries: STL, ATL, VCL, MFC, NuMega DriverWorks;
Technologies: Client/Server; COM; DirectX; DirectX Media; BDE; HTML/DHTML; ActiveX; Java Servlets; CORBA; DCOM; COM+;
Application Skills: Database; GUI Design; System Programming, Security Utilities; Software Developer, Service developer.

Take leader/developer in such projects:
ComPro - Multimedia data transfare throw internet using DirectShow and Java. (Movie and sound)

ASN, H323- language encoder/decoder library ( packet part - according to standard ITU-T X.691 ), used in fax data transfare process throw internet.

MagiCodec - driveres for encoding/decoding hardware, which produce MPEG4 data.

ToDoList - For my soul. Not comercial project.

ProjectTasker - ICQ clone for team of developers. Features: bug tracking system, team/project organization, todo list (project leader can add task to team members) etc. In progress.

Click here to visit Alex Kucherenko's homepage.

[Top] Sign in to vote for this article:     PoorExcellent  

View our sponsorsUltimate Toolbox is the must have tool for MFC Developers with hundreds of MFC extensions.Advertise on the CodeProject

Hint: For improved responsiveness, use Internet Explorer 4 (or above) with Javascript enabled, choose 'Use DHTML' from the View dropdown and hit 'Set Options'.
 Keyword Filter
 View   Per page   Messages since
New threadMessages 1 to 25 of 26 (Total: 26)[First] [Prev] [Next] [Last]
Subject 
Author 
Date 
  Crash under Win2K
Unconfirmed/Anonymous posting Frodo Hobbit 11:00 30 Jul 01 
  New Sources are available at sourceforge.net
 Alex Kucherenko 6:41 26 May 01 
  Re: New Sources are available at sourceforge.net
 Brad Bruce 8:04 26 May 01 
  SorceForge doesn't download
Unconfirmed/Anonymous posting Anonymous 13:33 24 May 01 
  Re: SorceForge doesn't download
 Chris Losinger 14:18 24 May 01 
  Looks good
 William Bartholomew 18:16 21 May 01 
  Re: Looks good
 Alex Kucherenko 2:18 22 May 01 
  It doesn't work
 Slavo 8:19 21 May 01 
  Re: It doesn't work
 Alex Kucherenko 2:14 22 May 01 
  doesn't work
 derHackler 6:37 21 May 01 
  Or use doxygen...
 Brendan Tregear 20:26 17 May 01 
  Re: Or use doxygen...
 Uwe Keim 1:15 18 May 01 
  Re: Or use doxygen...
Unconfirmed/Anonymous posting Laurent Kempé 2:14 18 May 01 
  Re: Or use doxygen...
 Alex Kucherenko 3:11 18 May 01 
  Why not use Find in Files
Unconfirmed/Anonymous posting Anonymous 9:18 17 May 01 
  Re: Why not use Find in Files
 Alex Kucherenko 3:05 18 May 01 
  same result without addin
 MLoibl 6:28 16 May 01 
  Re: same result without addin
 Alex Kucherenko 6:40 16 May 01 
  Re: same result without addin
 MLoibl 6:57 16 May 01 
  Re: same result without addin
 Alex Kucherenko 7:32 16 May 01 
  Re: same result without addin
Unconfirmed/Anonymous posting Anonymous 10:30 15 Jun 01 
  Can't get it to work
 Vitaly Belman 3:28 16 May 01 
  Re: Can't get it to work
 Alex Kucherenko 4:59 16 May 01 
  Bad link to project source
Unconfirmed/Anonymous posting Alex Kucherenko 2:24 16 May 01 
  It crashes MSDEV
 Christian Graus 0:42 16 May 01 
Last Visit: 12:00 Friday 1st January, 1999[First] [Prev] [Next] [Last]
Home >> Macros and Add-ins >> DevStudio Add-ins
Advertise on The Code Project
Article content copyright Alex Kucherenko, 2001
everything else © CodeProject, 1999-2001.