Skip to content

v8 - Add a way to push all available configurations (additively) - #74

Draft
Colen Garoutte-Carson (Colengms) wants to merge 1 commit into
mainfrom
coleng/add_bulk_additive
Draft

v8 - Add a way to push all available configurations (additively)#74
Colen Garoutte-Carson (Colengms) wants to merge 1 commit into
mainfrom
coleng/add_bulk_additive

Conversation

@Colengms

Copy link
Copy Markdown
Contributor

A minimal change to add an alternate (new preferred) usage model in which configuration providers can push all available configurations as soon as they are available, to allow (properly configured) eager analysis of those files by cpptools.

Comment thread out/api.d.ts
* Push IntelliSense configurations for source files.
* A provider should push all custom configurations available, as soon as they are available,
* to support features such as whole codebase symbol indexing and for an accurate include graph.
* Configurations are additive. Call `didChangeCustomConfiguration` to clear all configurations.

@bobbrow Bob Brown (bobbrow) Aug 14, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Calling didChangeCustomConfiguration will cause cpptools to immediately re-request configurations for all tracked files. Maybe it would be better to have this API add a parameter that signals for cpptools to clear any previous configurations instead.

Comment thread out/api.d.ts
```
*/
readonly uri: string | vscode.Uri;
readonly uri: string | vscode.Uri | (string | vscode.Uri)[];

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't like the idea of having this accept an array. It would be better to have a separate object for configurations that apply to multiple files.

Comment thread README.md
// Do any required setup that the provider needs.

// Notify cpptools that the provider is ready to provide IntelliSense configurations.
api.notifyReady(provider);

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The sample assumes that this API is available. Version checks should be done before any APIs are called to determine which initialization path to choose.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants