Skip to content

Add condition, hitCondition, and logMessage to the Breakpoint type #596

@efarka

Description

@efarka

Problem
The SourceBreakpoint type (request side) includes condition, hitCondition, and logMessage, but the Breakpoint type (response/event side) does not. This means when a debug adapter sends a breakpoint event, the client cannot determine whether the breakpoint is a logpoint or conditional breakpoint.

Consequence: Logpoints sent via breakpoint events render as regular breakpoints in the UI — losing the logpoint icon and confusing users. Conditional breakpoints similarly lose their condition decoration.

Proposed Change
Add three optional fields to the Breakpoint type, mirroring SourceBreakpoint:

interface Breakpoint {
// ... existing fields ...
condition?: string;
hitCondition?: string;
logMessage?: string;
}

Rationale
Symmetry: line and column already round-trip between SourceBreakpoint and Breakpoint. condition, hitCondition, and logMessage should too.
Backward compatible: All fields are optional — existing adapters and clients are unaffected.
Enables correct rendering: Clients can use logMessage presence to render logpoints (◇) vs breakpoints (●), and display conditions in hover/detail views.
Unblocks AI usecase: In developing AI capabilities for debugging, logpoints and conditional breakpoints are particularly requested features as agents can easily leverage advanced breakpointing techniques.

Metadata

Metadata

Assignees

No one assigned

    Labels

    under-discussionIssue is under discussion for relevance, priority, approach

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions