IVsExtensionRepositoryQuery<T> Interface

Used to populate the list of available extensions in an extension manager.

Namespace:  Microsoft.VisualStudio.ExtensionManager
Assembly:  Microsoft.VisualStudio.ExtensionManager (in Microsoft.VisualStudio.ExtensionManager.dll)

public interface IVsExtensionRepositoryQuery<T> : IOrderedQueryable<T>, 
	IQueryable<T>, IEnumerable<T>, IOrderedQueryable, IQueryable, IEnumerable
where T : new(), IRepositoryEntry

Type Parameters


The IVsExtensionRepositoryQuery<T> type exposes the following members.

Public propertyElementTypeGets the type of the element(s) that are returned when the expression tree associated with this instance of IQueryable is executed. (Inherited from IQueryable.)
Public propertyExpressionGets the expression tree that is associated with the instance of IQueryable. (Inherited from IQueryable.)
Public propertyProviderGets the query provider that is associated with this data source. (Inherited from IQueryable.)
Public propertySearchText

Public methodExecuteAsync()Asynchronously executes an IVsExtensionRepositoryQuery<T> query.
Public methodExecuteAsync(Object)Asynchronously executes an IVsExtensionRepositoryQuery<T> query.
Public methodGetEnumerator()Returns an enumerator that iterates through the collection. (Inherited from IEnumerable<T>.)
Public methodGetEnumerator()Returns an enumerator that iterates through a collection. (Inherited from IEnumerable.)

Public eventExecuteCompleted

Although this API supports the Extension Manager infrastructure, we recommend that you do not use it because it is subject to change.

This query is built by using LINQ syntax, through the IQueryable interface, to determine what extension properties to filter on. The query is then sent to the extension repository service, which queries the web service where the extensions are located and tries to translate the results into the requested object.

The IRepositoryEntry implementation should include properties that help to identify an extension to be downloaded, for example, title, date modified, and some category information. However, the extension repository service can only populate data that corresponds to key/value pairs that are offered by the web service that is associated with the extension gallery provider. For a partial list of properties that are supported by the extension repository service, see IRepositoryEntry.


The default extension gallery provider is Visual Studio Gallery

The results of the query are returned in the ExecuteCompleted() event as the Results property of the ExecuteCompletedEventArgs.

Community Additions