Having added a list of DECLAREd variables to my 17-line script, shown below, I expect SQL Prompt to prompt me with a variable if I double-click the literal 116 in the exec and type @S. Nothing but three @@ variables. This is SO BASIC it's near unbelievable that v5 doesn't perform the simplest of its tasks...

SSMS2012 build 11.0.3339.0 - Windows 8 Pro build 6.2.9200.

Ctrl+D was forlornly a long shot - made no difference.

Is the declare list throwing it off? Are the declared values included in the list throwing it off?

Scope would appear to be the issue but having commented the go out, double-clicked 116, typed @S I get nothing at all by way of prompting. If I Ctrl+Space I get the variables, but I shouldn't have to do that...

When you are typing the query that's when SQL Prompt keeps automatically prompting but when you are trying to replace a word (by double clicking) and want a code completion suggestion it needs to be manually triggered by (Ctrl + Space).

If you want this behaviour to be changed please feel free to add this feature to our Uservoice.

Stunning that having been a user of SQL Prompt since version 2 I assumed it would be smart enough to prompt whenever I typed! Intelliview appears to be smarter.

Guess I'll have to suggest that it do that...

What's more strange is that if I type "SELECT * FROM x" I get a pick list, so I duly select the database and it's auto-filled. If I then DOUBLE-CLICK the database and immediately type "x" I get a pick list! And I didn't have to Ctrl+space to get it!

So, what it boils down to is that SQL Prompt exercises "situational compliance" with my double-click-type-and-expect-a-pick-list demands.

Perhaps you can now see why I consider the original post to highlight a BUG.

I would venture to suggest that SQL Prompt be made CONSISTENT. It is VERY typical for developers to double-click, type, and expect a pick list. Would you register a case, please, as a bug, and fix it? Maybe while you're at it you'd give an option for this kind of expected behavior (by some) to be "normal" or "inactive", so nobody is upset.