[Monodevelop-devel] Question regarding to code completion window

Mike Krüger mkrueger at novell.com
Thu Feb 26 01:18:25 EST 2009


Hi

I need some opinions from developers. I got a bug report (cut&paste:)

------------------------------------------------------------------------
Description of Problem:
In some cases when I am writing a line of code, intellisense is blocking the
left and right arrow, so that I can't properly navigate my line of code, even
though I have not even actively engaged intellisense by selecting any of the
options it present.

Steps to reproduce the problem:
1. Write the line: if ()
2. Place the cursor between the parenthesis
3. Write (between the paranthesis): "" == null
4. The cursor should now be after "null" and before ")".
5. Press the right arrow key to get out of the parenthesis - but nothing
happens. (Intellisense popped up when writing "null" and is now blocking the
right arrow key.)


Actual Results:
Left and right arrow keys are blocked (do nothing) in above case.

Expected Results:
Left and right arrow keys always move the cursor left and right, respectively.

How often does this happen? 
Always

Additional Information:
------------------------------------------------------------------------

One suggested solution: 
Pass though left and right arrow keys to the editor when the selected
item has no overloads.

My opinion is that passing through when there aren't overloads and not
when they are are not a good solution from user point of view. 

I'm unsure how to solve this. A solution MUST be consistent. 

I see two options:
A) Letting the user interface how it is now - changing nothing. (easy
solution)
B) Always pass left/right to the editor - not navigating through
overloads.

When a method has overloads we could show in the tooltip:
---------
MethodWithOverloads () (+18 Overloads)
Description
---------

I would favor the option A) because I find it sometimes useful to view
each overload and I don't have a problem with the behavior. But maybe I
just get to used to the monodevelop way of handling things.

Option B) is how Visual Studio handles the problem. Theoretically we
could add an option for switching between A) and B). But I don't know if
this is worth an option (I think not).

Before I destroy the user experience I want some opinions about the
issue.

What do you think ?

Regards
Mike




More information about the Monodevelop-devel-list mailing list