To be more clear, I want to autogenerate the event's implementation block ONLY when I double click at the event's row at object inspector. Now, when I'm doing this, the IDE generates the block (as expected) but duplicates other event's block that already exist! This behavior makes me crazy because every time I must delete them. It seems that the IDE checks the existents of all the events implementation and some of them could not find, although they exist, and recreates them.
Yes, the 2nd part of this is a bug. See my previous post. But I don't know more about it.
Also yes, the first part: If the IDE completes a method then it completes all of them. Of course it should only update the ones that are really missing.
There is a setting "Update all method signatures" in Tools > Options > Codetools >Class completion.
I don't know, if it will work. It is meant for when you complete a class in the editor using shift ctrl C. So I don't know if it affects completion via OI.
Also, by the name, it is meant about updates, which is, if a method exist, but a parameter was changed/renamed. Though I believe it includes creation too.
Even if that "solves" the issue, it may leave you with other misbehaviour. Because it would not fix the underlying problem, and that is likely to cause issues in other situations too.
Check if there is an open issue for it.
And see if you can provide a sample project on which it happens.
Also check, if it is related to any config you have.
Start your ide with a clean config
lazarus.exe --pcp-c:\new_empty_folder
If that fixes it, then also supply your config if you create an issue. Otherwise no one will be able to ever reproduce it.