Skip to content

Add an API that lets consumers wait on language service to be up-to-date with a given project version #3425

@davkean

Description

@davkean

We need an API that lets consumers wait on the language service to be up-to-date with a given project version, similar to IProjectTreeService.PublishTree:

Task PublishLatestAsync(
  CancellationToken cancellationToken = default(CancellationToken));

Task PublishAsync(
  IImmutableDictionary<NamedIdentity, IProjectVersionRequirement> minimumRequiredDataSourceVersions,
  CancellationToken cancellationToken = default(CancellationToken));

This lets services such as CodeModel provider to block this before returning a CodeModel item, or the renamer to block on this attempting to rename. Also lets us block VS integration tests on this work before attempting to test state.

Without this, it's impossible to know when ProjectItem.CodeModel is going to return a result.

Metadata

Metadata

Assignees

Labels

Feature-Language-ServicePopulating the Roslyn workspace with references, source files, analyzers, etcParity-Legacy-APIMissing or behavior differences in APIs from the legacy project system.Parity-Legacy-FeatureMissing features from the legacy project system.Triage-ApprovedReviewed and prioritized

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions