@kkdev92/vscode-ext-kit - v7.1.0
    Preparing search index...

    Interface DeclaredContributions

    The manifest facts a declaration in src is the authority for.

    Structural on purpose: a defineSettings result, a defineCommandContract result and a plain list of view ids all satisfy these without importing anything from here.

    interface DeclaredContributions {
        commands?: readonly { descriptor: CommandDescriptor }[];
        engines?: boolean;
        keybindings?: { allow?: readonly string[] };
        settings?: readonly {
            contributed?: boolean;
            section: string;
            values: SettingSpecs;
        }[];
        views?: readonly string[];
    }
    Index
    commands?: readonly { descriptor: CommandDescriptor }[]

    Command contracts, from defineCommandContract.

    engines?: boolean

    Opts in to checking that engines.vscode admits no VS Code older than the oldest this package runs on.

    Nothing else compares the two. npm reads only the node and npm engines of a dependency, and vsce checks an extension's engines.vscode against its own @types/vscode and nothing more. So when this package raises its floor, an extension can go on declaring the older range and installing on a VS Code that lacks what this package calls; with this set, that is a failing test instead.

    A value VS Code would refuse to load fails it too: a missing one, *, or a range in a form VS Code does not read, such as one starting with ~.

    Omitting this checks no engines at all.

    keybindings?: { allow?: readonly string[] }

    Opts in to checking that every contributed keybinding binds a command this extension declares.

    VS Code validates only the shape of a keybinding entry, never that its command exists: one naming a command nothing registers is accepted, given a weight, and does nothing when the key is pressed. A renamed or deleted command therefore leaves a shortcut that fails in silence.

    Omitting this checks no keybindings at all.

    Type Declaration

    • Optional Readonlyallow?: readonly string[]

      Command ids the manifest may bind without declaring them, for the supported case of putting a key on a built-in command such as workbench.action.files.save.

    settings?: readonly {
        contributed?: boolean;
        section: string;
        values: SettingSpecs;
    }[]

    Settings groups, from defineSettings. A group declared with contributed: false — a section the extension reads but does not own — is not asked of the manifest.

    views?: readonly string[]

    View ids the application registers, independent of manifest container.