[MonoDevelop] Want to improve monodevelop productivity features forGSoC 2009
oliver.stieber at ukplc.net
Mon Mar 23 07:44:36 EDT 2009
I'm starting to work on the static/ dynamic code analysis stuff at the moment, but I'm also new to Mono Develop so can't comment on what the guys are looking for in SOC.
I'll tell you a little bit about what I've been doing for code analysis and what has to be done.
I've already got some structures in place that take a top to bottom list of Declarations, Assignments and References and another structure to hold Scope.
There's quite a bit of cross referencing between the structures to make everything nice and fast etc....
These structures should be good enough to.
Do all the compiler warnings and errors, invalid assignments, possible null references, use before assignment etc...
Extract blocks of code into new methods.
Highlight usage of a particular variable or function etc...
Move variables to inner scope and show the scope of a variable.
Work out how an undeclared variable / function or class is being used and implement that class / variable.
Suggest using an interface when appropriate.
There are some other features (like declaring / removing using statements) that in part use these structures.
To hook the structures into mono develop I need to create a new extension point to build up this new dom (on the bit that processes the results of NRefactor)
I also need to do quite a bit of work with the GUI to get everything so that it displays nicely to the user.
If the mono develop guys think it would be ok for us to work on this (I can only really do evenings and weekends but I put a fair amount of time in) with a little assistance from one of them (probably the guy who does code completion) then I'm quite happy to do that with you.
Otherwise, if your doing anything on the list of things I've mentioned or something similar then we really need some coordination so that we don't end up working on the same thing and end up duplicating work where it's not necessasary.
From: monodevelop-list-bounces at lists.ximian.com [mailto:monodevelop-list-bounces at lists.ximian.com] On Behalf Of Anirudh
Sent: 23 March 2009 10:00
To: monodevelop-list at lists.ximian.com
Subject: [MonoDevelop] Want to improve monodevelop productivity features forGSoC 2009
I'm new to monodevelop, and would like to help improve it as part of the Google summer of code program. I want to try and add several simple and smaller features to the IDE to make development more productive and enjoyable. I'm taking a few ideas from the "Top ten resharper features" thread, and want to implement as many deliverables and contribute to the mono community in the long term, because I see the monodevelop platform as something I will be writing a lot of code on in the near future, and want to get a good grip on it and see if I can help.
1. Basic refactoring support like:
(a) renaming all instances of a symbol over a namespace(something more robust than find and replace), with previews and diffs like it's done in eclipse
(b) Extract codeblock into method, extract constants from strings, etc.
(c) Anything else you can suggest
2. Preliminary warnings while the code is being written, possible type mismatches, symbols out of scope, symbols not found, etc.
3. Basic interface for viewing and possibly commenting on bugzilla and trac bug tracking systems using xml-rpc.
4. Marking warnings, errors as little marks next to the scroll bars, based on their relative position in the document.
5. Anything else you suggest
I've got a good deal of programming experience in college, though I'm completely self taught. I have good credentials including summer internships in Google and Microsoft Research. Please give me feedback on these ideas or suggest something else I could work on.
Fourth Year Undergraduate Student, Indian Institute of Technology, Kharagpur
E-Mail/jabber/googletalk: anirudh -at- anirudhsanjeev -dot- org
My PGP key: anirudhsanjeev.org/pubkey.txt
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Monodevelop-list