[MonoDevelop] Code completion bug / nuisance

Michael Hutchinson m.j.hutchinson at gmail.com
Wed Oct 19 19:54:33 EDT 2011


On Fri, Oct 7, 2011 at 1:55 PM, Matt Calder <mvcalder at gmail.com> wrote:
>   I am using MD 2.7.22, and see this behaviour with code completion.
> If a method does not have its closing "}", code completion does not
> work. So, in this code:
>
> namespace TestMain
> {
>    public class Foo
>    {
>        public string Bar()
>        {
>            Regex rgx = new Regex("\\s*([^\\s]*)");
>
>            // Typing rgx. at this point does *not* do code completion
>
>
> Whereas, this:
>
> namespace TestMain
> {
>    public class Foo
>    {
>        public string Bar()
>        {
>            Regex rgx = new Regex("\\s*([^\\s]*)");
>
>            // Typing rgx. at this point does do code completion
>        }
>
>
> I am not sure if this is a bug or a consequence of the way in which
> code completion gets done. It is a bother sometimes as there can be
> several lines of separation between the point at which code completion
> is sought and the point at which the closing brace should go. Perhaps
> it is just me, but I stumble on this quite frequently, and I am left
> with the overall impression that code completion in MD is spotty at
> best (perhaps with this new insight into the circumstances that lead
> to it not working, that impression will diminish). If this is a bug,
> say so and I'll file it. If it is not, a brief explanation of why this
> is or must be the case would be appreciated.

In MD 2.6+ we're using the mcs parser which offers many advantages but
hasn't been fully tuned to recover from all of the incomplete
constructs that can happen while writing code. If you could file bugs
for each of these that you encounter it would be very helpful.

-- 
Michael Hutchinson
http://mjhutchinson.com


More information about the Monodevelop-list mailing list