Description:
When using a debug adapter that supports inline breakpoints, Cursor correctly displays the valid breakpoint indicators (dots) on a line. However, hovering over these indicators does not cause them to become active (e.g., turn red or show a clickable state), and clicking on them does not trigger any action. In contrast, Visual Studio Code properly activates and handles these interactions, setting column-specific breakpoints.
Steps to Reproduce:
- Use a debug adapter that declares
supportsBreakpointLocationsRequest: true
and supports inline breakpoints. - Open a file in the Cursor editor.
- Observe that valid breakpoint positions are visually indicated.
- Hover over one of the inline dots; note that it does not become active or change appearance.
- Click on a grey dot; observe that no column-specific breakpoint is set (logs for
setBreakpoints
confirm that the method is not called).
Expected Behavior:
Hovering over an inline breakpoint indicator should activate it (e.g., change its color to red), and clicking the indicator should capture the exact column where the user clicked and send a setBreakpoints
request to the debug adapter with both the line number and the column information.
Actual Behavior:
While Cursor successfully queries and displays the valid breakpoint locations, it fails to handle hover and click events on the indicators. As a result, no column-specific breakpoint is set, and the UI does not reflect any interactive state.
Technical Analysis:
- Breakpoint Location Query:
Cursor correctly requests and receives valid breakpoint positions from the debug adapter. - UI Rendering:
The inline breakpoint indicators (dots) are displayed as expected; however, they do not become active on hover, which suggests missing or incomplete event handling. - Comparison with VSCode:
Visual Studio Code implements the interaction layer correctly by activating the indicator on hover and translating user clicks into column-specific breakpoint requests.
Environment:
- Cursor Editor (latest build)
- macOS 14.0
Potential Fix Suggestions:
- Implement Event Handlers:
Add event listeners to the inline breakpoint indicators to capture both the line and the precise column when the user hovers or clicks. - Update Request Logic:
Modify the event handlers to visually activate the indicator on hover and to construct and send asetBreakpoints
request that includes the captured column data when clicked. - Reference VSCode Implementation:
Review how Visual Studio Code handles inline breakpoint events (e.g., in files likedebugEditorContribution.ts
) and adapt a similar solution in Cursor’s codebase.
Additional Information:
This issue appears to be isolated to Cursor’s implementation of the Debug Adapter Protocol (DAP) for inline breakpoints.