[Monodevelop-devel] Question regarding to code completion window

"Andrés G. Aragoneses" aaragoneses at novell.com
Thu Mar 5 20:49:36 EST 2009

Lluis Sanchez Gual wrote:
> El dj 26 de 02 de 2009 a les 07:18 +0100, en/na Mike Krüger va escriure:
>> 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 ?
> I like the option of passing through when there are no overloads. I
> don't think consistency is a problem here.

FYI: I've tested this on VS.NET 2008, and the arrows are always
*respected*. Furthermore, the overloads are never present in this
context, but after the user has written the "(" to indicate that a new
function call is being done.


Andrés G. Aragoneses
Software Engineer
aaragoneses at novell.com

Novell, Inc.
Software for the open enterprise

More information about the Monodevelop-devel-list mailing list