[Monodevelop-devel] [GSoC] On the Fly Formatting Engine

Michael Hutchinson m.j.hutchinson at gmail.com
Thu Apr 25 17:56:25 UTC 2013


Hi,

The indenter is here:
https://github.com/mono/monodevelop/blob/master/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/CSharpIndentEngine.cs

There is also an on the fly formatter that reformats statements and
blocks when the closing semicolon/brace is types:
https://github.com/mono/monodevelop/blob/master/main/src/addins/CSharpBinding/MonoDevelop.CSharp.Formatting/OnTheFlyFormatter.cs

Unfortunately the indenter has not been well maintained for some time,
and does not handle newer C# constructs well (lambda, etc), and does
not respect the code formatting style settings.

The goal of this project would be to improve the intenter so that it's
more maintainable and respects all the formatting settings. Ideally it
would use the on the fly formatter to calculate the indent when
possible, with perhaps some fallback heuristics when the on the fly
formatter fails.

- Michael


On 17 April 2013 14:45, Matej Miklečić <matej.miklecic at gmail.com> wrote:
> Dear All,
>
> I am currently a master student in Software Engineering at Faculty of
> Electrical Engineering and Computing, member of the University of Zagreb
> (Croatia).
> The project that catches my attention is the implementation of a better
> formatting engine for Xamarian Studio. I have downloaded the newest source
> for MonoDevelop from Git, and at the beginning I'm having trouble finding
> the current implementation of the indentation engine. I would appreciate if
> someone would help me with that.
> Also, any additional information would be great, so that I can get a better
> understanding of the difficulty of this project.
>
> Thank You,
> Matej Miklečić.
>
> _______________________________________________
> Monodevelop-devel-list mailing list
> Monodevelop-devel-list at lists.ximian.com
> http://lists.ximian.com/mailman/listinfo/monodevelop-devel-list
>



-- 
Michael Hutchinson
http://mjhutchinson.com


More information about the Monodevelop-devel-list mailing list