Ads were blocked - no problem. But keep in mind that developing HeidiSQL, user support and hosting takes time and money. You may want to send a donation instead.

AutoComplete HeidiSQL Without Ctrl+Space and Dot

wasimxe's profile image wasimxe posted 5 years ago in Feature discussion Permalink
When i start select query, i Press "S" and Ctrl+Space to bring up autocomplete for keyword "Select" and i need to press following keys to complete "Select" keyword


isn't against HCI (Human Computer Interactions) usability Rules. You should allow auto complete without Ctrl+Space.

I have read your previous Articles to press dot to bring up autocomplete. That's good for table.column etc and but not for MySQL keywords. No doubt, HeidiSQL is the best DB Client and should be even better...

Thumbs up for you.
ansgar's profile image ansgar posted 5 years ago Permalink
You want to see the auto completion proposal without any additional key pressing? That sounds quite annoying to me. The proposal also steals focus, so I guess this is a bad idea.
wasimxe's profile image wasimxe posted 5 years ago Permalink
Without out this, write a procedure is really really hard. Think of a procedure with more than 100 lines. Steal focus is not an issue, just one Esc key and till word complete don't need to show auto list again and you just need to show auto list till any match exist.

Currently auto list keep showing even no match and bad thing is it keep displaying even i lost focus to whole heidisql... see this screenshot

You should give an option to enable/disable to show auto list without ctrl+space for users who need to write long procedures like me. or even better to show button on toolbar like to instantly enable/disable.

I hope i have convinced you now :)
Ads were blocked - no problem. But keep in mind that developing HeidiSQL, user support and hosting takes time and money. You may want to send a donation instead.
ansgar's profile image ansgar posted 5 years ago Permalink
The point that the empty proposal is sticked to the screen: That's an error in SynEdit, which I am unlikely to be able to fix.

An additional button in the myriad of other buttons is not an option, especially for newbies.

Please give more arguments here, why the proposal should be displayed without any keyboard interaction.
wasimxe's profile image wasimxe posted 5 years ago Permalink
First of all, don't show proposal on each key. only show proposal when there exist a word against that key in proposal list. Seems like, you have no controll over it because of some external lib usage, however if so, let proceed...

suppose i want to write this short procedure...

CREATE PROCEDURE build_email_list (INOUT email_list varchar(4000))

DECLARE v_email varchar(100) DEFAULT "";

-- declare cursor for employee email
DEClARE email_cursor CURSOR FOR
SELECT email FROM employees;

-- declare NOT FOUND handler
FOR NOT FOUND SET v_finished = 1;

OPEN email_cursor;

get_email: LOOP

FETCH email_cursor INTO v_email;

IF v_finished = 1 THEN
LEAVE get_email;

-- build email list
SET email_list = CONCAT(v_email,";",email_list);

END LOOP get_email;

CLOSE email_cursor;


Now there are many of keywords in this procedures. To display proposal against each keyword using ctrl+space is really time consuming. Suppose i want to write "CLOSE", what is short way here... C+CTRL&space+l+o+enter how many keys i pressed to complete "ClOSE" from proposal are 6, so that's mean we are not getting any advantage from auto complete list. instead we should simple write CLOSE which is 5 key press.

Now if do it without CTRL+space... how only need to Press clo+enter, so 4 key pressed.

Auto Complete is introduced to reduce key press effort and if we are not getting advantage of it, there is no use of it.
wasimxe's profile image wasimxe posted 5 years ago Permalink
you have not replied this time, got busy smile
Peter's profile image Peter posted 5 years ago Permalink
IMHO it's OK to have the function on demand, by pressing ctrl+space. But it would also be fine to use this shortcut to turn on/off the permanent auto-completer instead.

But it would be great if the search condition for searching the keywords would be "contains" instead of "starts with". This is because very often there are some prefixes used in the table or column names.
bettrrr's profile image bettrrr posted 5 years ago Permalink
This featire is in all sql IDE, but not in HeidiSQL!
I don`t want to press ctrl+space after each word. IDE must help me with my routine, but not to add more routine in my work.
If you don`t have descision about it, you can add option is HeidiSQL settings.
qupear's profile image qupear posted 9 months ago Permalink

Such behavior of autocomplete is the only reason why HeidiSQL isn't favorite IDE. It's better then in Mysql Workbench still, but not as good as it may be. As others had pointed out, writing big queries and procedures is pain in the neck without immediate autocomplete. For example if you have tables HeidiSQL_functions and HeidiSQL_procedures in query you normally type HF or HP and hit enter. But in HeidiSQL if you type HF you get nothing in autocomplete suggestions. So you need to type first several letters and then Ctrl+Space and then scroll. Fast and intuitive autocomplete may affect speed and resources usage maybe but let users decide whether they want to enable this feature or not.

LucaC's profile image LucaC posted 2 months ago Permalink

HeidiSql is the best sql client, thanks for developing it. It has only a defect but a big one, the autocomplete feature should work like all text editors with autocomplete of world, i.e: when you write the autocomplete should popup (without clicking any button) and the completion should be inserted only when a key is pressed with a key ( possibly configurable, usually TAB or ENTER ). Please fix this, is the only reason why i'm searching an alternative to Heidi.

Please login to leave a reply, or register at first.