AutoComplete HeidiSQL Without Ctrl+Space and Dot

wasimxe posted 4 years ago in Feature discussion
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

S
Ctrl+Space
el
Enter

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 posted 4 years ago
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 posted 4 years ago
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 http://prntscr.com/643azt

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 http://prntscr.com/643bon to instantly enable/disable.

I hope i have convinced you now :)
ansgar posted 4 years ago
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 posted 4 years ago
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...
-----------------------------------------------
DELIMITER $$

CREATE PROCEDURE build_email_list (INOUT email_list varchar(4000))
BEGIN

DECLARE v_finished INTEGER DEFAULT 0;
DECLARE v_email varchar(100) DEFAULT "";

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

-- declare NOT FOUND handler
DECLARE CONTINUE 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;
END IF;

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

END LOOP get_email;

CLOSE email_cursor;

END$$

DELIMITER ;
--------------------------------------------------
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 posted 4 years ago
you have not replied this time, got busy smile
Peter posted 4 years ago
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 posted 4 years ago
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 posted 2 weeks ago

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.

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