When the pointer moves over a function / method name a pop-up appears with information about the function, class, etc. This obscures the area under the cursor prohibiting editing. It is a common workflow to move the cursor to a function's parameters and click to edit but this is blocked by the pop-up necessitating moving away then reapproaching the text from a different angle. This can be quite irksome and slow user workflow significantly as they map a route to the text they want without passing over any function names.
It may be more appropriate to show such tooltips above the function so that the area of text of interest remains accessible.
Also if the function name is near the bottom of the window then the pop-up appears breifly then disappears making it unusable. Interestingly in this scenario the pop-up is positioned above the text, possibly in a bid to make it visible.
Also a new project, e.g. from examples does not show these pop-ups until a board is selected.
Hi @riban. I also have been annoyed by some unwanted appearances of this "editor hover". I opened a bug report which was mostly focusedon the unnecessarily large size of the hover:
The lead developer of Arduino IDE 2.x investigated and identified a bug in the Arduino language server which was providing wrong line numbers, resulting in incorrect placement of the hover:
So hopefully with these issues fixed it will be less problematic.
It is possible to configure the hover. If you click the gear icon ("Settings") at the bottom of the side bar, it opens advanced settings for the IDE. Search for "hover" and you will find controls for the delay before showing it, the ability to disable it altogether if you don't want it at all, as well as the behavior when the mouse is moved over it.
riban:
Also a new project, e.g. from examples does not show these pop-ups until a board is selected.
This is normal. The reason is because this information is often board specific. The Arduino language server needs to know which board to show information for. The context may come from the board's core library, platform bundled libraries, or toolchain, which can change depending on which board is selected.
The plan is to make the IDE remember which board you had selected before, so this experience of not having a board selected should only happen once on the very first load of the IDE in the future versions:
The gear was removed because it was confusing to have a prominent icon just to access settings that the target user has no need for, while the essential settings are in the standard, yet less prominent location under File > Preferences.
You can now access those settings by opening the command palette with the Ctrl+Shift+P keyboard shortcut, searching for "settings", then selecting "Settings: Open Preferences".
Good stuff! After fiddling with it a bit it may work to just increase the delay before the tooltip appears. That way there's time enough to get a highlight started for copying without interference.
Yeah, I remember during the last discussion I encountered some unreliability similar to what you describe. I haven't had the time to do a proper investigation yet.
Is there any way to disable hover altogether? Similarly as dougp I found that pressing ctrl k had no effect on enabling or disabling the feature. I don't need a popup that pops up when I select text in a String declaration.
It has also been fixed by the change I linked to above.
When using the latest version of the Arduino IDE, I haven't managed to find any way to make the hover placement misbehave.
Thanks for mentioning that. I have submitted a formal bug report to the Arduino IDE developers:
Yes. Here are the instructions:
Open the Command Palette (Ctrl+Shift+P)
Open the "Settings: Open Preferences" command.
Search for hover
Uncheck the box next to this setting:
Editor āŗ Hover: Enabled
[x] Controls whether the hover is shown.
Alternatively, you can set the preference directly in the Arduino IDE configuration file (~/.arduinoIDE/settings.json or C:\Users\<user name>\.arduinoIDE\settings.json on Windows) by editing it in a text editor or in the Arduino IDE:
{
"editor.hover.enabled": false
}
I have not had problems with this or any other IDE setting similar to the hover delay setting bug mentioned above, so I think you will get the desired results from these instructions.
One thing to note is that the hover and the quick suggestions are two separate things. The hover is a UI element that shows up when you place the mouse pointer over some code. The quick suggestion happens while you are typing code. If you want to disable quick suggestions, you can do that by opening File > Preferences from the Arduino IDE menus, then unchecking the box next to "[x] Editor Quick Suggestions". There was a bug in previous IDE versions that cause that preference to be ignored, but that has been fixed so you can use it successfully in the latest version of the Arduino IDE 2.x.