Skip to content

Proposal: Support Stepping Granularities #110

@auott

Description

@auott

Stepping Granularities


A stepping granularity allows specifying how far a specific step (Next, StepIn, StepOut, StepBack) should go.
An adapter can take this as a suggestion and does not need to support them as distinct granularities.
For example, some adapters may consider statement and line equivalent.

export interface Capabilities {
    // ...

    /** The debug adapter supports stepping granularities */
    supportsSteppingGranularity?: boolean;
}

type SteppingGranularity = 'statement' | 'line' | 'instruction';

export interface NextArguments {
    // ...

    /** Optional granularity to step. If no granularity is specified, a granularity of 'statement' is assumed. */
    granularity?: SteppingGranularity;
}

export interface StepInArguments {
    // ...

    /** Optional granularity to step If no granularity is specified, a granularity of 'statement' is assumed. */
    granularity?: SteppingGranularity;
}

export interface StepOutArguments {
    // ...

    /** Optional granularity to step If no granularity is specified, a granularity of 'statement' is assumed. */
    granularity?: SteppingGranularity;
}

export interface StepBackArguments {
    // ...

    /** Optional granularity to step If no granularity is specified, a granularity of 'statement' is assumed. */
    granularity?: SteppingGranularity;
}

CC: @andrewcrawley, @weinand

Metadata

Metadata

Assignees

Labels

feature-requestRequest for new features or functionality

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions