How can we help you today? How can we help you today?

No CL for simple situation - Build 819

With my cursor at $CURSOR$ (for the purpose of this post), I type "AND org." then waited for the CL - SILENCE!!!
USE NCF

SELECT org.*
  FROM dbo.Organization org
 WHERE org.[Timestamp] >= '2006-12-08 12:09:00'
   AND EXISTS ( SELECT 1
                  FROM dbo.FinderInvolvement fni
                       INNER JOIN dbo.FinderTypeInitiative fnti
                               ON fnti.FinderTypeInitiativeID = fni.FinderTypeInitiativeID
                              AND fnti.InitiativeID           = 600
                              AND fnti.FinderTypeID           = 3
                 WHERE fni.OrganizationID = org.OrganizationID
              )
   $CURSOR$
 order by org.OrganizationID

The parser shouldn't find any errors and I expected the CL to come up because I typed an alias and dot. 300 millisecond delay is in effect.

It isn't confused by the presence of the "order by ..." line. If I comment out that line, no CL. If I add a blank line before the order by, no CL. At least Ctrl+SpaceBar brings up the CL, but it should have shown up automatically...

We asked for a less intrusive CL... Any ideas?
PDinCA
0

Comments

4 comments

  • Bart Read
    {Edit}Sorry, I thought you were complaining that the candidate list was empty but on re-reading I see that's not the case.{/Edit}


    We've made this change to the popup behaviour to more closely resemble Visual Studio and Resharper (which behaves in exactly this way after a '.'). If you type the first letter after the '.' the candidate list will appear automatically. I'm sorry if you're not happy with this but we feel the current behaviour represents the best compromise between those who like an aggressive popup, and those who don't like it at all, and as I say, it's exactly what you'd see in other products in this situation.

    Hope that helps.


    Thanks,
    Bart
    Bart Read
    0
  • bis
    I don't use Resharper, but for me in vanilla VS 2005, in both VB and C#, Intellisense is triggered by a ".". In general, Visual Studio does a good job of triggering Intellisense at appropriate times, with appropriate suggestions.

    Speaking for myself, I don't mind "aggressive" popups, but I do mind both the "aggressively wrong" popups in the beta and the "popups, still often wrong, only displayed after letters" in the latest patch.

    Times when a candidate list should be displayed but isn't:
    • after "from "
    • after "tablename."
    • after "on " (and the list should not disappear if I happen to type a "."
    • after "join "
    • after ", "

    Times when the wrong candidate list is displayed (For all of these examples, SQL Prompt displays table names when the only valid syntax is some SQL keyword or separator):
    • after a column name or '*' in the from clause
    • after "tablename {letter}" - i.e. when typing a table alias - you could make the argument that there should be a completion list containing 'on' (if it follows a 'join'), or 'where', 'order by', and 'group by', but I'd say that such a list would be more of a distraction than a help, and there should be no popup.
    • after a condition in a join or where clause - again, it might be helpful to have 'and', 'or', 'order by', and 'group by'

    What I want most from this product is to be able to bang out a query with a minimum of typing. I want queries to flow out of my brain and into the computer with as little motion as possible; for instance, to end up with a query like this:
    select *
    from Foodalicious f
    join Bartastic b on b.FoodaliciousId = f.FoodaliciousId
    join Quuxisms q on q.BartasticId = q.BartasticId
    where q.QuuxismId = 3
    order by f.FoodaliciousId, b.BartasticId desc
    
    I want to press keys like this:
    ssf{tab} foo{tab} f
    join bar{tab} b on {tab}
    join qu{tab} q on {tab}
    where q.q{tab} = 3
    ord{tab} f.f{tab}, b.b{tab} d{tab}
    

    The ratio of keystrokes between the two is almost 3:1. Being able to type like that requires some aggression, but especially contextual awareness from SQL Prompt. When I have to push Ctrl-space to pop up a list, or Esc to hide one, two things happen: my brain has to switch from thinking about the query that I am writing to thinking about how SQL Prompt works, and I have to type more keystrokes.

    As it stands, SQL Prompt 2/PromptSQL was better at making me faster than SQL Prompt 3.
    bis
    0
  • PDinCA
    Do excuse my ignorance, but "Resharper" is an unknown Product to me so comparisons with its functionality embed themselves in the masonry behind me... and that's with over 2 years with SS and over a decade with major SQL DB's.

    I agree with the comments from bis above, especially with the absolutely on-point comment that "this product should be designed to help us bang out queries with the minimum of typing." The observation that the C# CL in VS appears after a dot is also very much on point - as is the observation that the prior versions of this product cited achieved this with greater accuracy than the patch build (819).

    I realize you won't be able to please everyone, but basic functionality should be the number one priority, i.e.,
    1. Only bring up the CL when it makes sense to automatically do so.
    2. When the CL shows up, make the contents show the most likely next-required column/keyword/user-preferred artifact.
    3. When the item before a dot is a table or alias, show the CL when the dot is keyed and make it list columns in the user's preferred order, i.e., alpha or in the sequence SSMS Object Explorer lists them.

    bis's sample keystrokes to produce the sample code should be what comes naturally to SQL Prompt. If it means delaying the launch to make it natural, delay away...

    In comparison with Prompt SQL 1.4, the only really useful features I've come to rely upon is the automatic addition of a table's predefined alias and the cessation of the occasional CPU runaway. My code typing is MUCH slower and, as also observed by bis, I find I have to think more about SQL Prompt and getting it out of my way (even with the patch build) than I would like from a "helper product".

    Sorry to sound somewhat negative, but I'd prefer to call a spade a spade than sit around and hope things will just get better in time. You chaps can't make a product better if you don't get ALL the feedback...
    PDinCA
    0
  • mmelgares
    I thought I'd add my feedback here since my biggest complaint echoes what was said above.

    I've found that the current behavior of the program doesn't feel intuitive while typing. Especially since it seems to depart in many ways from the behavior of SQL Prompt 2 (A problem for anybody who is upgrading) I've found that it has drifted away from, rather than closer to, the behavior of Visual Studio. SQL Prompt 2 provided better emulation in my opinion.

    I installed the latest patch version, and within an hour have uninstalled it because it was more frustrating to use than it was helpful. I was spending more time trying to figure out how to make the program make my queries easier to write than it would have taken to write the queries from scratch.
    • The menu rarely seemed to trigger when I would expect it to
    • The options in the menu were often inappropriate (As mentioned in previous posts, column names where only table names should be, etc)

    I ended up reinstalling SQL Prompt 2, it seems to meet my personal feel for contextual help better than the new version. Perhaps an option could be added to allow the user to change the behavior of the menu? {Completely Passive (User must trigger menu manually) ... Current Version of SQL Prompt 3 ... More Aggressive [SQL PRompt 2] ... Most aggressive (if possible?)} - you can't make everybody happy, so you may as well give them the option to make themselves happy.


    Other things:
    • I'd like to suggest is that you include the ability to access the SQL Prompt options from the system tray as was done in SQL Prompt 2. That is the first place I looked for it, I didn't even notice the added menu in QA until I consulted the help file to see where the options were. (The default exclusion of tab as a completion character was really killing my typing)
    • There are options for forcing keywords / functions / etc to be all UPPER / lower / [user's original], but you may want to add PascalCase (TitleCase ?) as an option in case there are people who'd like something in-between
    • I liked the improved notification of when it is generating schema information
    • The popup seemed to have some nice ideas for useability, such as showing the characters you'd typed and the grouping of selections, etc.

    Best of luck with the development, I've found your database comparison products very helpful and hope that SQL Prompt 3 winds up to be equally helpful.
    mmelgares
    0

Add comment

Please sign in to leave a comment.