[MonoDevelop] Code Completion

Michael Hutchinson m.j.hutchinson at gmail.com
Sun Nov 9 20:13:18 EST 2008


On Sun, Nov 9, 2008 at 6:35 PM, Federico Di Gregorio <fog at initd.org> wrote:
> Il giorno dom, 09/11/2008 alle 18.26 -0500, Michael Hutchinson ha scritto:
>> On Sun, Nov 9, 2008 at 5:50 PM, Federico Di Gregorio <fog at initd.org> wrote:
>> > Il giorno dom, 09/11/2008 alle 17.11 -0500, Michael Hutchinson ha scritto:
>> >> > New to Linux and Mono, 3rd day and still finding my feet. I have come from a
>> >> > MS dev background using C# in Visual Studio and got used to the code
>> >> > completion present in that IDE.
>> >> >
>> >> > Is there a way to make code completion work as per VS in that it is always
>> >> > active as you type instead of the need for ctrl+space to trigger?
>> >>
>> >> This has been implemented in trunk and will be present in the upcoming
>> >> 2.0 Alpha 2 release.
>> >
>> > And it will be possible to disable it? I find it very annoying. :/
>>
>> If you disable code completion in MD settings, I believe Ctrl-Space
>> still works. I'm not sure if we should enable any granularity beyond
>> this.
>
> Mm.. I find code completation after a . or ( to be extremely useful but
> just having it complete every time a type a letter is annoying because
> disables the cursor keys, so I cant just type a letter and move around
> but every time I need to type, _escape _ and then move.
>
> Having completation enabled for ., ( and other special chars and C-space
> to everything else it is better in my case. Or just tell my how do VS
> people work without having to type ESC every few letters. :)

It appears that the equivalent setting in VS does still enable code
completion for ".", so maybe we should do that.

However, I don't understand why anyone would *not* like the aggressive
code completion, and indeed, I have seen very few people who dislike
it. As long as it's working correctly, it should never interfere with
your typing. For example, if you type something that's not in the
list, then unless it exactly matches the beginning of an item on the
list, the completion window will deselect and will not "commit" unless
you press "tab". Hence, you only ever need to press "esc" when you
wish to type something that's not on the list but matches the
beginning of something on the list. And this should only be necessary
when completion is misbehaving -- it doesn't try to complete on new
identifiers, for example, and at all other times it should have what
you want to type on the list.

I suspect that any frustrations you have with the aggressive
completion are due to bugs, rather than the fundamental behaviour.
Hopefully we can fix those bugs :-)

-- 
Michael Hutchinson
http://mjhutchinson.com


More information about the Monodevelop-list mailing list