Text completion has potential but the current implementation leaves something to be desired...
When typing SQL commands in dbisql, the text completion feature doesn't just pop and flap about and cause a visual distraction, it sometimes interprets the Enter key as "yes, I want the inappropriate suggestion you have made" instead of new line.
Hoping that text completion will prove to be useful, I've put up with this behavior for quite a while, and since most of my work is done by copy and paste from Wordpad into dbisql, it didn't bother me too much.
But now I'm in a hurry, typing adhoc requests, and I'm getting "DBA.something_I_do_not_want" instead of what I just typed, and I'm being forced to watch the screen and fix what dbisql breaks, and I am sick of it...
...so I have turned text completion off, which means "this is the last you will hear from me on this subject"
In the first screen capture below, the cursor is at the end of the last line, and I am about to press Enter to go to the next line to start the FROM clause:
In the second screen capture below, I have just pressed Enter... BUT the cursor is STILL at the end of the line, and a whole bunch of unwanted
...and if I do not NOTICE what text completion has done (perhaps because I am not looking at the screen while I type) and not done (it has not moved to the next line) the FROM clause that I type appears right after the column name, with no intervening space, and then I have to go back and edit the line.
I suppose the third screen capture holds the clue; it shows the (default) settings, and perhaps my whining has something to do with "The Enter key completes text"... but turning that off seems to defeat the purpose behind text completion (what, I'm supposed to click the steenking MOUSE while speed typing? get stuffed! :)
GUI features like text completion are A LOT HARDER to implement than folks think, where "implement" implies "useful" rather than "prototype".
There are cases where the text completion will go "above and beyond" simple completion, and add additional padding with extra information (such as qualifying the table and user name). The intent is that the text completer should only add the extra information if the object, without qualification, would be ambiguous. The text completer tries to anticipate these ambiguities, and add the qualifiers for the user to avoid subsequent errors. However, there appears to be a problem with the way that the the editor is detecting this, and is being more aggressive than it needs to be. Thank you for notifying us of this.
The SQL Anywhere documentation has a page listing the Text Completion Key Shortcuts. The primary key for accepting the suggestion and closing the suggestion window is TAB. TAB is familiar key to use for this because many users will have used it for text completion in consoles. ENTER is also allowed because some other popular editor's text completion (such as Microsoft's Intellisense) allow ENTER to be used. However, recognizing that this causes frustration for some users, it can be disabled.
answered 03 Aug '11, 16:05