Subject: Persistent and Uncontrollable Documentation Tooltip Popup (Code::Blocks 25.03)
Category: Code Completion / Editor / GUI
Version: Code::Blocks 25.03
Operating System: Windows 11
Compiler Version: MinGW-W64 x86_64-ucrt-posix-seh, built by Brecht Sanders, r3 (GCC 14.2.0)
Description of the Problem:
The detailed documentation tooltip (the large white popup box on the right side of the editor) automatically appears and persistently interferes with coding, even after attempting to disable related settings. This significantly disrupts the coding flow and efficiency.
For example, when typing std::endl, after selecting endl from the autocompletion list, the popup appears. This popup contains information like:
Header: std
Function Prototype: public basic_ostream& endl(basic_ostream& os) (function)
Description: Write a newline and flush the stream.
Additional Notes: This manipulator is often mistakenly used when a simple newline is desired, leading to poor buffering performance. See https://gcc.gnu.org/onlinedocs/libstdc++/manual/streambufs.html#io_streambuf_buffering for more on this subject.
It also includes links like Open declaration and Open implementation.
Steps to Reproduce:
Open Code::Blocks 25.03 on Windows 11.
Create or open a C++ source file (e.g., a .cpp file).
In the editor, type std::cout << std::end
From the autocompletion list that appears (usually for endl, ends, etc.), select endl (e.g., by pressing Enter or Space).
Observed Behavior:
Immediately after selecting endl from the autocompletion list, the detailed documentation tooltip (the white popup box with the content described above) automatically appears on the right side of the editor window.
This popup:
Obscures the code, making it difficult to see what is being typed next.
Persists until manually closed by pressing Esc or clicking the "Close" button within the popup.
Crucially, it reappears automatically the next time endl (or similar symbols like std::cin, std::cout) are triggered, despite attempts to disable or control its auto-popup behavior. Even if the user quickly types the next character (e.g., ; or <<), the popup often appears momentarily or fully, disrupting the flow.
Attempted Solutions (and why they failed):
I have thoroughly checked and adjusted the following settings in Code::Blocks, but the issue persists:
Increased "Delay for auto-kick-in when typing [::- >]":
Location: Settings > Editor > General Settings > Editor Settings > Code Completion tab.
My current setting: I have explicitly set this slider to a high value (e.g., 300ms, 500ms, or even its maximum of 2.5 seconds, as observed from the slider's range).
Result: The documentation tooltip still pops up automatically, even if I try to type the next character quickly. It seems this delay primarily affects the autocompletion list but not the documentation tooltip itself.
Unchecked "Parse documentation":
Location: Settings > Editor > General Settings > Editor Settings > Documentation tab.
My current setting: I have explicitly unchecked the "Parse documentation" checkbox.
Result: This option (which directly relates to parsing and displaying documentation) seems to have no effect on the automatic appearance of the right-side documentation popup. It still appears.
Other Code Completion settings:
I have also reviewed other settings in the "Code Completion" tab, such as "Disable SmartSense" (kept unchecked), "Update parser when typing" (kept checked), and "Add function arguments' types and names" (tried both checked/unchecked). None of these had any impact on the persistent documentation popup.
Expected Behavior:
I expect that by unchecking "Parse documentation" and/or setting a sufficiently long delay for "auto-kick-in," the detailed documentation tooltip should not automatically appear unless explicitly requested (e.g., via a specific keyboard shortcut for "show documentation"). When manually closed, it should remain closed until specifically re-invoked. The current behavior is disruptive and uncontrollable through existing settings.