[program-l] Re: Opinion on Visual Studio code completion experience

  • From: Andre Polykanine <andre@xxxxxxxx>
  • To: Dante Gagne <program-l@xxxxxxxxxxxxx>
  • Date: Wed, 7 Nov 2018 00:01:25 +0200

Hi Dante,
I  believe,  it's  quite  self-explained  if  some items go out of the
alphabet order. But I have a couple suggestions on this:
1.  Please  make  this  togglable.  I.e.,  it  would be neat to have a
setting  to  turn  it  off.  The reasoning might be different, from "I
don't  like  those out-of-alphabet things first" to "My machine is too
slow to process ML on it".
2.  However,  the  feature  should  be  documented  so  a  user  would
understand  really  *why*  he/she  has  these  items  out  of alphabet
sorting.



-- 
With best regards from Ukraine,
Andre
Skype: menelion_elensule
Twitter (English only): @AndrePolykanine


------------ Original message ------------
From: Dante Gagne <dmarc-noreply@xxxxxxxxxxxxx>
To: program-l@xxxxxxxxxxxxx
Date created: , 9:47:34 PM
Subject: [program-l] Opinion on Visual Studio code completion experience


      Hey folks,

First off, if folks think this is an inappropriate use of the list, just say so 
and I'll take it offlist and apologize up front. However, I was hoping I could 
ask the crowd for a few opinions now and then for functionality that we're 
considering in the upcoming version(s) of Visual Studio. Essentially, I have my 
guesses that this experience would work, but I'd rather YOU folks tell me that 
it does.

Today when you're coding in Visual Studio, when you hit "." After a token, the 
Intellisense completion list comes up with every single possible token that 
could follow. So, if you type "Debug.", you'll get "Assert, AutoFlush, 
Close,..." etc... (To be clear, you get a list box with each of these as an 
entry in it, so you'd hit arrow key to travel through).

The new feature, uses machine learning to "guess" what is most commonly used. 
For instance, for most folks, Debug.Write or Debug.WriteLine is the most common 
completion. The feature will move those items to the top of the list. However, 
since they're out of alphabetical order, they are annotated to show that these 
are "recommended" instead of in the "everything" list.

If we did nothing, when you type Debug. You would hear "Write, Writeline, 
Assert, Autoflush", etc... But in that case, you don't know which ones are 
recommended, just that they're the first ones.

The question I have is this... how would you feel if the recommended 
completions were preceded with the word "Star"? So, if I went this way, you'd 
type "Debug" and hear "Star Write, Star Writeline, Assert, Autoflush...". The 
first suggestion that was made was to say "Recommended", but that's four 
syllables and I asserted that a screen reader user would go crazy having to sit 
through hearing "Recommended Recommended Recommended..." over and over. But 
"Star" is very quick.

We had also thought about putting it after the token so you'd here "Write Star, 
Writeline Star, Assert, Autoflush" but the thought there was that "Write Star" 
sounds an awful lot like the name of the method is literally "WriteStar". 

How do folks feel about this? Is "Star" short enough that saying it before the 
recommended items (of which there usually aren't more than 2-3)? Some other 
suggestion?

Thanks in advance, and again, I do apologize if this is out of line for the 
mailing list. Just let me know.

-Dante
** To leave the list, click on the immediately-following link:-
** [mailto:program-l-request@xxxxxxxxxxxxx?subject=unsubscribe]
** If this link doesn't work then send a message to:
** program-l-request@xxxxxxxxxxxxx
** and in the Subject line type
** unsubscribe
** For other list commands such as vacation mode, click on the
** immediately-following link:-
** [mailto:program-l-request@xxxxxxxxxxxxx?subject=faq]
** or send a message, to
** program-l-request@xxxxxxxxxxxxx with the Subject:- faq

** To leave the list, click on the immediately-following link:-
** [mailto:program-l-request@xxxxxxxxxxxxx?subject=unsubscribe]
** If this link doesn't work then send a message to:
** program-l-request@xxxxxxxxxxxxx
** and in the Subject line type
** unsubscribe
** For other list commands such as vacation mode, click on the
** immediately-following link:-
** [mailto:program-l-request@xxxxxxxxxxxxx?subject=faq]
** or send a message, to
** program-l-request@xxxxxxxxxxxxx with the Subject:- faq

Other related posts: