[MonoDevelop] New Task List patch - preview

Iñigo Illán kodeport at terra.es
Thu Sep 7 14:50:34 EDT 2006


Hi there!

See below.

El mar, 05-09-2006 a las 18:01 +0200, Lluis Sanchez escribió:
> El mié, 30-08-2006 a las 21:01 +0200, David Makovský (Yakeen) escribió:
> > Hi all,
> > 
> > after some time I worked again on new Task List implementation, here is
> > preview patch. I would appreciate comments on code, gui and
> > functionality.
> > 
> > Basic description what is done:
> > 
> > There is new Task List option in preferences where you can setup tokens
> > for aggregating tasks from comments (eg. //TODO: do something) and
> > Choosing colors for priorities highlighting.
> > 
> > Next we have new Task List pad ("old" one is renamed to "Errors List")
> > and this one have an toolbar with combo to switch between "generated"
> > tasks and user tasks.
> > 
> > User Tasks are interactively editable, you can set three values -
> > priority, completion, description. Priority causes color highlighting of
> > tasks. These tasks are stored in userprefs file of main solution.
> > 
> > Generated tasks are filled when files are parsed (this patch ads support
> > for C#, as I know VB has this, other languages are unknown to me, but
> > filling ICompilationUnit.TagComments when parsing will do the trick...).
> > Collected data are stored in pidb files together with last valid Tokens
> > that was used for parsing. Hopefully all situations when you change your
> > tokens are handled well, I tried to prevent unnecessary re-parsing, but
> > for first time you have to :)
> > Generated Tasks have no priority highlighting yet, but it is on my TODO
> > for future.
> > 
> > So let me know what is your experience.
> 
> Some comments:
> 
> I think it would be better to store user tasks in its own file, instead
> of the .userprefs file. This file stores user preferences for the
> combine, and tasks are not preferences, but real data.
> 
> The decision about whether the a parser db has to be reparsed or not has
> to be taken by the db itself, not by the GUI. The code completion
> database should take care of monitoring changes in the
> "Monodevelop.TaskListTokens" property, and reparse the db when needed.
> The methods LastValidTaskListTokens, RemoveSpecialCommentTag and
> QueueAllFilesForParse would not be needed in this way.
> 
> I'm also wondering if we should have a more generic and plugable task
> service, so we can integrate other task sources, such as bugzilla or
> sourceforge. But I still don't know what would be the best way of
> modeling this.
> 

I've been searching the web and as it seems
(https://bugzilla.mozilla.org/show_bug.cgi?id=224577), bugzilla 3.0
would have web service support, so implementing this should be easier
than I firstly expected.

> Comments on the code:
> 
> DefaultParserService.cs:1093
> The call to OnParseInformationChanged should not be necessary since it
> is already called by DoParseFile().
> 
> DefaultParserService.cs:1610
> Why update coreDatabase?
> 
> CodeCompletionDatabase.cs
> A better place for storing comments would be FileEntry. There is already
> a hashtable for files.
> 
> OpenTaskView.cs
> To avoid confusion, it would be better to rename it to ErrorListPad.
> 
> Lluis.
> 
> 
> 
> _______________________________________________
> Monodevelop-list mailing list
> Monodevelop-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/monodevelop-list



More information about the Monodevelop-list mailing list