[MonoDevelop] Strange code completion for '!' and '+'

Wolfram monodevelop at wkresse.de
Mon Mar 21 13:16:25 EDT 2011


Hi.

MonoDevelop behaves rather strangely when typing '!' or '+' while the code
completion selection popup is active.
Consider this C# example:

void foo(){
	int bar=1;
	int baz=1;

	if(ba$

['$' denotes the current cursor location]

Assuming "bar" is highlighted in the popup, the code completion works as
expected when directly typing operators, such as * / - or &&. However, for +
or ||, the current code completion is cancelled instead, and I end up with
"if(ba+".

Even worse, when typing '!', I obviously intend to type "if(bar!=". However,
MonoDevelop moves the '!' to the beginning of the word instead, and produces
"if(!bar=".

While the former is just an inconvenience, the latter is very annoying,
since it happens (at least to me) all the time, and I'm forced to keep
moving the cursor to the beginning of the word, remove the '!', and
re-insert it where it's supposed to go.

I found this which seems to be related:
http://monodevelop.com/Developers/Tasks/Source_Editing/Code_Completion
However, the functionality proposed on that page doesn't even work: when
auto-completing a member function this way, MonoDevelop puts the '!' again
at the beginning of the call, but fails to add the '(' or '()' at the end.

Is it possible to please change the behaviour of MonoDevelop for this?

I am using MonoDevelop 2.4.2 Windows (the one provided with Unity3D).

Thanks,
Wolfram

--
View this message in context: http://mono.1490590.n4.nabble.com/Strange-code-completion-for-and-tp3394184p3394184.html
Sent from the Mono - MonoDevelop IDE mailing list archive at Nabble.com.


More information about the Monodevelop-list mailing list