IntelliSense completion odd when fixing typo

When using IntelliSense to update an incorrectly spelt/cased method call it ignores everything to the right of the cursor when I accept the choice.

e.g.

I type something like this.

System.Diagnostics.Debug.Writeline();
Or
System.Diagnostics.Debug.Writelne();

Naturally this is incorrect due to the lowercased l or missing i, so I place the cursor at the l and hit Ctlr+Space to get the intellisense list up, select the one I want and hit enter to accept, the result is:

System.Diagnostics.Debug.WriteLine();ine();
Or
System.Diagnostics.Debug.WriteLine();ne();


Is their a way I can get ReSharper to realise that it should only correct the spelling/casing of the method name and not insert the rest of the name and the (); if they are already present?

Naturally I want the (); if I’m writing a new line of code but not it it already exists.

If I type
System.Diagnostics.Debug.WriteLin();
Move to after the n, hit ctrl+space and enter to accept I get the correct outcome with the cursor nicely placed in the ().

I'm using ReSharper version 2.5.327.61 (BTW the autohide of the ReSharper about box is really annoying when trying to write down the version number, my memories just not good enough to remember the whole thing in one go).

Thanks,


Steve.

2 comments
Comment actions Permalink

Hello Stephen,

Completing with Tab instead of Enter should do the right thing for you.

When using IntelliSense to update an incorrectly spelt/cased method
call it ignores everything to the right of the cursor when I accept
the choice.

e.g.

I type something like this.

System.Diagnostics.Debug.Writeline();
Or
System.Diagnostics.Debug.Writelne();
Naturally this is incorrect due to the lowercased l or missing i, so I
place the cursor at the l and hit Ctlr+Space to get the intellisense
list up, select the one I want and hit enter to accept, the result is:

System.Diagnostics.Debug.WriteLine();ine();
Or
System.Diagnostics.Debug.WriteLine();ne();
Is their a way I can get ReSharper to realise that it should only
correct the spelling/casing of the method name and not insert the rest
of the name and the (); if they are already present?

Naturally I want the (); if I'm writing a new line of code but not it
it already exists.

If I type
System.Diagnostics.Debug.WriteLin();
Move to after the n, hit ctrl+space and enter to accept I get the
correct outcome with the cursor nicely placed in the ().
I'm using ReSharper version 2.5.327.61 (BTW the autohide of the
ReSharper about box is really annoying when trying to write down the
version number, my memories just not good enough to remember the whole
thing in one go).

Thanks,

Steve.

Best regards,
Andrey Simanovsky


0
Comment actions Permalink

Hi,

Thank you - that works a treat and nicely takes me into the brackets as well, although it's going to be a bit of a battle for me to get use to, I'm use to hitting enter at the intellisense things.

Thanks,


Steve.

0

Please sign in to leave a comment.