Microsoft.VisualStudio.Shell Namespace

Classes

AccountPickerOptions

Represents the options used to create an account picker.

AccountPickerOptions2

Represents the options used to create an account picker that works with the identity service.

ActivityLog

Class which provides convenient managed methods for logging messages to the IVsActivityLog.

AppliesToUIContextAttribute

Adds UIContext metadata to a MEF export to indicate when this export should be applied.

AsyncOpenDocumentResult
AsyncPackage

Represents a VSPackage that can handle asynchronous services.

AsyncSaveResult

Represents the results of an asynchronous save operation

AsyncServiceProvider

An asynchronous service provider.

BlockingTaskEventArgs

Event argument to be used with event that passes in blocking task information. The parameters identify the task that is being waited on UI thread (blocked task) and task that is blocking the wait (blocking task).

BulkFileOperation

BulkFileOperation provides functionality to safely perform operations with bulk of files, currently opened in the solution. One of the example is SCC. Before operation consumer should provide estimated set of files and folders where changes are expected. This class takes care about "hands-off" logic for all these files. Once operation done BulkFileOperation does all neccessary job for "hands-on" logic and make a decision on what to reload (project/solution/nothing). Order of operations is the following: QueryBulkFileOperationAsync BeginAsync (optional) EndAsync (optional, but BeginAsync is required to complete before this) Dispose This API is very strict to inappropriate usage, for example calling EndAsync without waiting for BeginAsync is done, or calling the same method twice and so on. In this case exception will be thrown.

CircularTaskDependencyException

Exception raised when a circular dependency would cause a deadlock during a requested task wait operation.

CodeContainer

Dummy class for a code container. Will be removed when a code container is actually available - when the Code Container Registry is ready.

CodeGeneratorRegistrationAttribute

This attribute adds a custom file generator registry entry for specific file type. For Example: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Generators
{fae04ec1-301f-11d3-bf4b-00c04f79efbc}\MyGenerator] "CLSID"="{AAAA53CC-3D4F-40a2-BD4D-4F3419755476}" "GeneratesDesignTimeSource" = d'1'

CommandNavigationHelper

Saves and restores elements to be focused after interacting with menus and toolbars.

CommandSetRegistrationAttribute

Declares a class as a CommandSet and specifies the name and associated service broker service for the command set. A command set can provide commands with ProvideCommandAttribute.

CommonMessagePump

CommonMessagePump allows callers to block the current thread until a handle or handles have been signaled. During the wait the IDE will be placed in a modal state to prevent reentrancy. If the wait takes more than 2 secs a wait dialog is presented to the user which can be canceled (by default). Callers can call the default behaviour which will show default text in the wait dialog or they can provide custom values for things like the dialog text, status bar text, timeout values etc. Callers can also provide a custom implementation of IVsCommonMessagePumpClientEvents which allows the client to run code when certain events occur such as messages being processed, timeout or a handle being signaled. This interface can also be used to detemine if the wait should continue or return.

ComponentPickerPropertyPageAttribute

This attribute adds the property page registration for Component picker For Example: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0Exp\ComponentPickerPages\My Component Page] @="#13925" "Package"="{B0002DC2-56EE-4931-93F7-70D6E9863940}" "Page"="{0A9F3920-3881-4f50-8986-9EDEC7B33566}" "Sort"=dword:00000014 "AddToMru"=dword:00000000 "ComponentType"=".Net Assembly"

ComUtilities

A class providing miscellaneous methods used when interacting with unmanaged code (COM objects) and interop types

DefaultRegistryRootAttribute

Defines the default registry root used to register VSPackage information. This class cannot be inherited.

DesignPropertyDescriptor

The purpose of DesignPropertyDescriptor is to allow us to customize the display name of the property in the property grid. None of the CLR implementations of PropertyDescriptor allow you to change the DisplayName.

DialogContainerWithToolbar

Use this class to implement modal forms in Visual Studio. The implementation enables the form to host a Visual Studio command bar so that it participates in standard command routing.

DialogKeyEventArgs

Event args used by DialogKeyPendingEvent.

DialogPage

Provides a standard dialog box functionality for implementing Toolbox property sheets, ToolsOptions pages, or custom UI dialog boxes, with support for the Visual Studio automation model, Windows Forms, and state persistence by using the Visual Studio settings mechanism.

DialogPage.PageApplyEventArgs

Event arguments that allow the OnApply(DialogPage+PageApplyEventArgs) method to indicate how to handle the apply event.

EditorFactoryNotifyForProjectAttribute

This attribute adds a File Extension for a Project System so that the Project will call IVsEditorFactoryNotify methods when an item of this type is added or renamed.

EnumerableComCollection<TComEnumerator,TEnumerated>

Generic base class for types that provide an IEnumerable wrapper around COM-style IEnumXXX interfaces.

EnumerableHierarchiesCollection

Provides a base class that supports a simple iteration over a hierarchy collection.

ErrorListProvider

This task provider is used to provide tasks for the Visual Studio Error List window.

ErrorTask

Represents an error task on the Task List. This class implements IVsErrorItem.

EventSinkCollection

Maps objects to and from integer "cookies". This helps in the implementation of VS interfaces that have Advise/Unadvise methods, for example, IVsHierarchy, IVsCfgProvider2, IVsBuildableProjectCfg and so on.

ExceptionExtensions
ExtensionPointAsyncPackage
ExtensionPointPackage

Represents an extended version of the Package base class that implements IVsPackageExtensionProvider.

ExtensionPointRegistrationAttribute

Registers an extension point provider of the type specified by derived classes as ExtensionProviderType.

FocusChangeForCrossThreadClientEventArgs

Raised by a control on Visual Studio's UI thread when it has a child Win32 HWND that belongs to a different thread and has acquired Win32 focus. Required for proper focus restoration when Visual Studio loses / regains activation.

HierarchyGraphNodeProperties
HierarchyItemCollectionChangedEventArgs
HierarchyItemEventArgs

Provides event arguments that are used by AfterInvalidateItems and OnItemAdded events to denote which specific item was invalidated or added.

HierarchyManipulationStateScope

Simple class to facilitate deterministic restoration of an IVsHierarchyManipulationStateContext.

HierarchyTreeFilterProvider

Base class which implements some of the boilerplate parts of an ISolutionTreeFilterProvider.

HierarchyTreeFilterProvider.HierarchyTreeFilter

Base class which implements some of the boilerplate parts of an ISolutionTreeFilter. This includes behavior to ensure newly added hierarchy items are always visible through the filtered view, even if those items do not match the filter. Derived types must still implement the logic for constructing the set of included items.

InfoBarActionItem

Represents a button or hyperlink inside an InfoBarModel's text spans or action items.

InfoBarActionItemEventArgs

Event arguments about an action on an IVsInfoBarUIElement.

InfoBarButton

Represents a button inside an InfoBarModel's ActionItems collection.

InfoBarEventArgs

Event arguments about an IVsInfoBarUIElement.

InfoBarHyperlink

Represents a hyperlink inside an InfoBarModel's ActionItems collection.

InfoBarModel

Creates a data model implementing IVsInfoBar, for use with IVsInfoBarUIFactory.CreateInfoBar.

InfoBarTextSpan

Represents a span of text inside an InfoBarModel.

InstalledProductRegistrationAttribute

This attribute registers an 'installed product' for your package.
This enables your package to present information on the VS Splash Screen or Help About.

InstalledToolboxItemInfo

Supplies information about an existing toolbox item.

KnownColorThemes

Predefined, well-known Color Themes

KnownSettingsContainers

Lists the known settings containers.

KnownUIContexts

Predefined, well-known UIContexts

LocalizableProperties

LocalizableProperties provides a class that supplies custom type information on localizable properties for an object.

LocDisplayNameAttribute

Specifies the localizable display name for a property, event, or public void method which takes no arguments.

MsiComponentIdAttribute

This attribute defines the MSI component ID that is used by the MSI installer. This component ID is used to indicate the install path to this component. This must be placed on a package class if the package is to be installed by MSI.

MsiTokenAttribute

Defines a token string for the MSI installer.

NewDocumentStateScope

Simple class to facilitate deterministic restoration of an IVsNewDocumentStateContext.

ObservableSettingsListBase<TValue>

A base type for observable ISettingsList instances of strongly-typed values.

OleDataObject

Provides a managed class that implements the IOleDataObject interface.

OleMenuCmdEventArgs

This is the set of arguments passed to a OleMenuCommand object when the Invoke function is called

OleMenuCommand

This class is an expansion of MenuCommand.

OleMenuCommandService

This class derives from the MenuCommandService class and implements IOleCommandTarget. MenuCommandService is the managed class used to add handlers for menu commands and to define verbs.

OutputWindowTextWriter

A TextWriter whose output goes to a Visual Studio output window pane.

Package

Provides a managed implementation of the interfaces required to create a fully functional VSPackage.

Package.ProfferedService

Contains a service that is being promoted to Visual Studio.

Package.ToolWindowCreationContext
PackageRegistrationAttribute

Modify your class that implements IVsPackage by using this attribute so that the registration tool, RegPkg.exe, will look for additional attributes. For more information, see Registering VSPackages.

PackageUtilities

A set of static utilities for file names, paths, enumeration/string conversions, images, and other functions.

ProjectTabDesigner
PropertyPageTypeConverterAttribute

Defines our type converter.

ProvideAppCommandLineAttribute

This attribute adds a commandline option to devenv for a specfic package type. For Example: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\AppCommandLine\MyAppCommand "Arguments"="*" "DemandLoad"=dword:1 "Package"="{5C48C732-5C7F-40f0-87A7-05C4F15BC8C3}" "HelpString"="#200"

ProvideAssemblyFilterAttribute

Describes the assemblies that the IConfigureToolboxItem class supports.

ProvideAutoLoadAttribute

This attribute registers the package as an extender. The GUID passed in determines what is being extended. The attributes on a package do not control the behavior of the package, but they can be used by registration tools to register the proper information with Visual Studio.

ProvideAutomationObjectAttribute

Modifying your Package-derived class with this attribute declares that it provides a particular automation object.

ProvideBindingPathAttribute

This attribute registers a path that should be probed for candidate assemblies at assembly load time.

For example: [...\VisualStudio\10.0\BindingPaths{5C48C732-5C7F-40f0-87A7-05C4F15BC8C3}] "$PackageFolder$"=""

This would register the "PackageFolder" (i.e. the location of the pkgdef file) as a directory to be probed for assemblies to load.

ProvideBindingRedirectionAttribute

This attribute registers a set of values that define a binding redirection. These values will be merged at startup into the CLR runtime configuration.

For example: [$RootKey$\RuntimeConfiguration\dependentAssembly\bindingRedirection{5C48C732-5C7F-40f0-87A7-05C4F15BC8C3}] "Name"="AssemblyName" "PublicKeyToken"="19ab8cb7287f414" "Culture"="neutral" "CodeBase"="$PackageFolder$\AssemblyName.dll" "OldVersion"="1.0.0.0" "NewVersion"="2.0.0.0"

ProvideCodeBaseAttribute

This attribute registers a set of values that define a dependent assembly tag with a CodeBase. These values will be merged at startup into the CLR runtime configuration.

For example: [$RootKey$\RuntimeConfiguration\dependentAssembly\codeBase{5C48C732-5C7F-40f0-87A7-05C4F15BC8C3}] "Name"="AssemblyName" "PublicKeyToken"="19ab8cb7287f414" "Culture"="neutral" "Version"="2.0.0.0" "CodeBase"="$PackageFolder$\AssemblyName.dll"

ProvideCodeContainerProviderAttribute

Registers Code Container Provider information. Example of usage: [ProvideCodeContainerProvider(registeredName: "Test Provider", providerId: "{92f93057-f1fc-49df-870f-b3474046911a}" displayNamePackageGuid: "{92f93057-f1fc-49df-870f-b3474046911a}", imageMonikerGuid: "{92f93057-f1fc-49df-870f-b3474046911b}", imageMonikerId: 10, DisplayNameResourceId = "#100", DisplayDetailResourceId = "#110")]

ProvideCommandAttribute
ProvideComponentDiagnosticsAttribute

Registers a component diagnostics provider and its associated view.

ProvideDependentAssemblyAttribute

Parent class for attributes that generate dependentAssembly entries.

ProvideEditorAttributeBase
ProvideEditorExtensionAttribute

Associates a file extension to a given editor factory when applied to a class that inherits from Package or implements the interface IVsPackage.

ProvideEditorFactoryAttribute

This attribute declares that the VSPackage provides an editor factory.

ProvideEditorFilenameAttribute

Associates a file name with a given editor factory.

ProvideEditorLogicalViewAttribute

This attribute adds a logical view to the editor created by an editor factory.

ProvideEditorUIContextAttribute

Associates a UIContext with a given editor factory. The editor can only be created when the UIContext is active.

ProvideExtenderAttribute

This attribute registers the package as an extender. The GUID passed in determines what is being extended. The attributes on a package do not control the behavior of the package, but they can be used by registration tools to register the proper information with Visual Studio.

ProvideExtensibleUIContextRuleAttribute

This attribute registers an UI context rule

ProvideFileSystemProviderAttribute

An attribute that declares that a package provides a file system provider. See IFileSystemProvider.

ProvideFileSystemProviderAttribute.RegValueNames

A class containing the names of the registry values for file system provider registration entries.

ProvideKeyBindingTableAttribute

Provides a key binding table GUID.

ProvideLanguageCodeExpansionAttribute

Registers language service support for code snippets.

ProvideLanguageEditorOptionPageAttribute

Provide a general method for setting a language service's editor tool option page.

ProvideLanguageEditorToolsOptionCategoryAttribute

This attribute is used to declare a Tools Option category for a language.

ProvideLanguageExtensionAttribute

Associates a file extension with a particular language service.

ProvideLanguageServiceAttribute

Informs Visual Studio that a VSPackage provides a language service. Used with the managed package framework (MPF).

ProvideLoadKeyAttribute

This attribute provides a package load key for your package. Not needed in Visual Studio 2010.

ProvideMenuResourceAttribute

Provides registration information about menu resources used in a VSPackage. This class cannot be inherited.

ProvideMSBuildTargetsAttribute

This attribute register a custom .targets files to the list of the targets known and trusted by MSBuild.

The registry entries created are: [%RegistryRoot%\MSBuild\SafeImports] "TargetsLabel"="PathToTheTargetsFile"

ProvideObjectAttribute

Informs Visual Studio that the VSPackage provides an object that can be created from the ILocalRegistryinterface. This class cannot be inherited.

ProvideOptionDialogPageAttribute

The base class for all the attributes that are used to register an option page.

ProvideOptionPageAttribute

Apply this attribute to independent objects to allow users to configure VSPackages through a custom Tools Options page.

ProvidePhysicalViewAttributesAttribute

Declares the attributes for a physical view offered by an editor.

ProvideProfileAttribute

Apply this attribute to independent objects used to implement a VSPackage's Visual Studio settings support.

ProvideProjectFactoryAttribute

ProvideProjectFactoryAttribute declares that a package provides a project factory.

ProvideProjectItemAttribute

This attribute registers items to be included in the Add New Item dialog for the specified project type. It is placed on a VSPackage.

ProvideSearchProviderAttribute

This attribute registers the package as a search provider (IVsSearchProvider) extender.
The type and name passed in determines the search provider being registered.

ProvideServiceAttribute

This attribute indicates that the package proffers a service when applied to a subclass of Package or a class that implements IVsPackage.

ProvideServiceAttributeBase

Declares that a package provides a particular service when applied to a subclass of Package or a class that implements IVsPackage. The attributes on a package do not control the behavior of the package, but they can be used by registration tools to register the proper information with Visual Studio.

ProvideServiceOverrideAttribute

This attribute indicates that the package proffers a replacement for a default service. This attribute is included in the definition of a subclass of Package or a class that implements IVsPackage.

ProvideSettingAttribute

Registers settings owned by a package. All registered settings must be persisted via SVsSettingsPersistenceManager. Settings that are persisted using SVsSettingsPersistenceManager but not registered will be private by default.

ProvideSettingAttribute.DefaultValues
ProvideSettingAttribute.RegistryConstants
ProvideSettingAttribute.RegistryConstants.ValueNames
ProvideSettingsManifestAttribute

Registers a path to a Unified Settings registration manifest file. Only one manifest file can be registered per package. By default, the manifest file is expected to be named "registration.json" and located in the package folder. This can be overridden by setting the PackageRelativeManifestFile property.

ProvideSettingsObserverAttribute

Identifies a package that observes Unified Settings change events. When a package with this attribute is loaded and unified settings are available, the package's implementation of CreateSettingsObserverAsync(Guid) will be called for the observer type.

ProvideSourceControlProviderAttribute

Registers Scc provider information. Example of usage: [ProvideSourceControlProvider(registeredName: "Test Provider", displayNameResourceId: "#100", displayNamePackage: "{92f93057-f1fc-49df-870f-b3474046911a}", registeredProvider: "{92f93057-f1fc-49df-870f-b3474046911b}", sccProviderService: "{92f93057-f1fc-49df-870f-b3474046911c}", IsPublishSupported = true)] Example registration: [HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\14.0_Config\SourceControlProviders{92f93057-f1fc-49df-870f-b3474046911b}] @="Test Provider" "Service"="{92f93057-f1fc-49df-870f-b3474046911c}" "IsPublishSupported"=dword:00000001

[HKEY_CURRENT_USER\SOFTWARE\Microsoft\VisualStudio\14.0_Config\SourceControlProviders\{92f93057-f1fc-49df-870f-b3474046911b}\Name]
@="#100"
"Package"="{92f93057-f1fc-49df-870f-b3474046911a}"

NOTE: All Guids used above are for illustration purposes only. Also, the version is assumed to be 14.0 above.

ProvideStaticToolboxGroupAttribute

This attribute declares a toolbox group which will be created on toolbox initialization.

ProvideStaticToolboxItemAttribute

This attribute declares a toolbox item which the toolbox will read from the registry. See the comments on IVsToolboxItemProvider for more details.

ProvideToolboxFormatAttribute

Apply this attribute to classes implementing VSPackages to declare that the VSPackage provides Toolbox items with the specified clipboard format and to enable drag-and-drop support in the Visual Studio Toolbox.

ProvideToolboxItemConfigurationAttribute

Registers a VSPackage as supplying a particular implementation of IConfigureToolboxItem. Used in conjunction with ProvideAssemblyFilterAttribute.

ProvideToolboxItemDiscoveryAttribute

Defines a toolbox item type. Toolbox item types are exposed as pages in the Choose Toolbox Items dialog (where one page is created for each type).

ProvideToolboxItemsAttribute

Apply this attribute to classes implementing VSPackages to declare if they offer a set of items to the Visual Studio Toolbox.

ProvideToolboxPageAttribute

Registers a VSPackage as providing one or more dialog pages in the Customize Toolbox dialog page of the Visual Studio IDE.

ProvideToolWindowAttribute

Notifies Visual Studio that a VSPackage owns a tool window.

ProvideToolWindowVisibilityAttribute

Declares that a tool window is should be visible when a certain command UI guid becomes active.

ProvideUIContextRuleAttribute

This attribute registers an UI context rule

ProvideViewAttribute

This attribute declares that an editor factory class offers a particular logical view.

ProvideXmlEditorChooserBlockSxSWithXmlEditorAttribute

Used to indicate that a custom XML designer should not allow SxS editing with the standard text-based XML editor.

ProvideXmlEditorChooserDesignerViewAttribute

Used to provide registration information to the XML Chooser for a custom XML designer.

ReadOnlyObservableSet<T>

Provides the base class for a generic IReadOnlyObservableSet.

RegisterAutoLoadAttribute

This attribute registers the package as an extender. The GUID passed in determines what is being extended. The attributes on a package do not control the behavior of the package, but they can be used by registration tools to register the proper information with Visual Studio.

RegisterEditorExtensionAttribute

See ProvideEditorExtensionAttribute. Registers a file extension with a given editor factory. This class cannot be inherited.

RegisterEditorLogicalViewAttribute

This attribute adds a logical view to the editor created by an editor factory.

RegisterExtenderAttribute

This attribute registers the package as an extender. The GUID passed in determines what is being extended. The attributes on a package do not control the behavior of the package, but they can be used by registration tools to register the proper information with Visual Studio.

RegisterLanguageExtensionAttribute

Registers a file extension with a given language service by applying the attribute to a VSPackage when registered using a registration tool like regpkg.exe. For more information, see Registering VSPackages.

RegisterLoadKeyAttribute

This attribute registers a package load key for your package. This attribute has been deprecated.

RegisterProjectItemAttribute

RegisterProjectItemAttribute has been deprecated. Please use ProvideProjectItemAttribute instead

RegistrationAttribute

An abstract class for VSPackage registration. The RegistrationAttribute class allows new registration information to be added without changing the registration tools.

RegistrationAttribute.Key

Provides an abstract class that represents a registration key.

RegistrationAttribute.RegistrationContext

An abstract base class that provides context information from an external source to a registration attribute.

RegistrySettingPathAttribute

Apply this to a public property in a DialogPage base class to indicate that the property should be persisted to the VS user settings registry instead of ISettingsManager.

RssCommands

Provides the routed commands supported by the VS shell Rss feed reader.

RunningDocumentTable

Provides access to the running document table (RDT) that tracks all currently opened documents in Visual Studio.

SelectionContainer

Provides a unified interface for accessing a set of selected objects.

ServiceBrokerExtensions

Extension methods for IServiceBroker.

ServiceCollection<T>

Use this collection to store mapping from the Type of a service to the object that provides it in a way that is aware of embedded types. The comparer for this collection will perform a comparison of the Guid properties of the Type key instead of doing a reference comparison which will fail in type embedding scenarios.

This collection is not thread-safe.

ServiceExtensions

Provides extension methods to retrieve proffered services synchronously from IServiceProvider and asynchronously from IAsyncServiceProvider.

ServiceProgressData

This class used to propagate service or package load progress for async service and packages Messages and values passed through this class will be shown to the user in some appropriate manner by the shell.

ServiceProvider

Provides a unified service provider for managed VSPackages.

ServiceProviderHierarchy

Acts as a hierarchical service provider.

ServiceProviderHierarchyOrder

Provides a recommended service resolution order for common service providers. When multiple service providers are combined in a service provider hierarchy, they are given a numeric ordering.

ServiceUnavailableException

Thrown if the service is unavailable.

SettableOleDataObject

Represents an OLE-compatible data object.

SettingsObserver

Base class for Unified Settings change event observers.

SettingsObserverArguments
SharedProjectUtilities

Utility methods for Shared Projects.

SharedSettingsAttribute

This attribute, when applied to the class returned from the AutomationObject property of a DialogPage subclass, enables the object's properties to be shared with other apps and online.

SingleFileGeneratorSupportRegistrationAttribute

This attribute adds a custom file generator registry entry for specific file type. For Example: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Generators
[proj_fac_guid]

SingleTaskIdleManager

Executes a long-running operation at idle priority on the UI thread. To support yielding frequently, the operation should yield return null as frequently as possible to allow the component manager to schedule other tasks and yield to higher-priority operations.

The task will be executed repeatedly until the SingleTaskIdleManager is disposed.

SolutionPersistenceRegistrationAttribute

This attribute adds a solution persistence property name and related Guid type. For Example: [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0Exp\SolutionPersistence\MyProperty] "Default"="{AAAA53CC-3D4F-40a2-BD4D-4F3419755476}"

SolutionTreeFilterProviderAttribute

Provides information for displaying the Solution Explorer filter.

Task

An implementation of IVsTaskItem, used to modify the appearance and functionality of a task in the task list.

TaskListItem
TaskProvider

This class implements IVsTaskProvider. It provides a framework-friendly way to define a task provider and its associated services.

TaskProvider.TaskCollection

A container for Task objects.

TaskSchedulingException

Exception raised when a task scheduling failed and could not be retried.

TelemetryExtensions
ThemeResourceKey

Represents a key used in a ResourceDictionary for accessing theme color resources. Theme color resources include brushes and colors associated with a given color category and color name.

ThreadedWaitDialogHelper

Extension methods for the threaded wait dialog that makes it more consumable using common managed code patterns.

ThreadedWaitDialogHelper.Session

Offers two-way communication with a visible threaded wait dialog.

ThreadedWaitDialogProgressData

Contains details on the progress of a long-running operation for purposes of updating the IVsThreadedWaitDialog.

ThreadHelper

Provide a generic dispatcher helper ensure that a method is invoked on the Application's main thread. We use the current Application's Dispatcher for convenient identification of the main thread. Note that this means that the Application's instance must be initialized. Currently, the WindowManager initializes it. However, we don't use DispatcherOperation because they are not RPC friendly. For example, if the UI thread is in the middle of an RPC call, and we need to run code on the UI thread, then DispatcherOperations will not get through. This is because DispatcherOperations are initiated by posting a message to the UI thread and the UI thread needs to dispatch that message. If the UI thread is making an RPC call, these messages will not be removed from the queue. The standard OLE message filter processes only a limited set of messages from the queue and even the Visual Studio message filter ignores most others. By going through the UIThreadInvokerPrivate service, the operation becomes a COM call on the UI thread. This operation will be allowed through our message filter IF it is part of the same logical call - the message filter will see it as a "nested call" and may not reject it.

ToolWindowPane

Summary description for ToolWindowPane.

UIContext

Represents the active state of a UIContext.

UIContextChangedEventArgs

Event arguments for UIContextChanged event.

UIElementDialogPage

Class which is used to seamlessly host WPF content inside a native dialog running an IsDialogMessage-style message loop. UIElementDialogPage enables tabbing into and out of the WPF child HWND, and enables keyboard navigation within the WPF child HWND.

UIThreadReentrancyScope

Microsoft internal use only.Provides an explicit re-entrancy point for ThreadHelper to invoke on the UI thread (independent of the COM RPC message mechanism).

Url

This class wraps the Uri class and provides an unescaped "LocalPath" for file URL's and an unescaped AbsoluteUri for other schemes, plus it also returned an un-hex-escaped result from MakeRelative so it can be presented to the user.

ValueTokenizer

ValueTokenizer will keep a list of Tokens and Values that correspond to those tokens. This class is used to tokenize / untokenize a given string.

VsBrushes

Class used to map between __VSSYSCOLOREX identifiers (used by GetVSSysColorEx(Int32, UInt32)) and keys used by WPF ResourceDictionary objects. The keys provided by this class can be used to reference Brush instances that Visual Studio places in Resources.

VsColors

Maps between __VSSYSCOLOREX identifiers (as used by GetVSSysColorEx(Int32, UInt32) and keys used by Windows Presentation Foundation ResourceDictionary objects.

VSCommands

Provides the routed commands supported by the VS shell.

VsEnumerable<TComEnumerator,TComEnumerated>

Base class for VS-style enumerators using Dev10 and older enumerator interfaces that use PreserveSig

VsEnumerable<TComEnumerator,TComEnumerated,TEnumerated>

Represents a VS-style enumeration of TComEnumerated objects created from an enumeration of TEnumerated. Base class for VS-style enumerators using Dev10 and older enumerator interfaces that use PreserveSig

VsEnumerableEx<TComEnumerator,TComEnumerated>

Base class for VS-style enumerators using Dev11 and later enumerator interfaces that don't use PreserveSig

VsExecutionContextTypes

Context types used in Visual Studio execution tracker.

VsFonts

Contains the resource names for Environment fonts.

VsMenus

Includes the GUIDs for Visual Studio menu commands.

VSRegistry

Helper class to handle the registry of the instance of VS that is hosting this code.

VsResourceKeys

Exposes WPF resource keys for Style and ControlTemplate values that apply to common WPF controls.

VsSearchTask

VsSearchTask can be used as base class for implementing search-able toolwindows

VsServiceProviderWrapper

Wraps a service provider instance. The class is intended to be used for exposing a SVsService provider value to a VS MEF composition container.

VsShellUtilities

Provides static helper methods to use with the Visual Studio shell.

VsTaskLibraryHelper

Helper methods for using Visual Studio task library in managed code.

WAProvideLanguagePropertyAttribute

This class can be used for registering a Web Application Property for a project

WAProvideProjectFactoryAttribute

This attribute can be used to register information about a project system that supports the WAP flavor/sub-type.

WAProvideProjectFactoryTemplateMappingAttribute

This attribute is used to declare a new project system that supports Web Application Projects and define a mapping between the real project system and the 'fake' one that is defined only to store some WAP specific properties in the registry.

WebSiteProjectAttribute

This attribute adds a ProjectSubType to the exisiting list defined of ProjectSubTypes for the Web Site Project

WebSiteProjectRelatedFilesAttribute

This attribute allows the Web Site Project to nest one file type (related) under another file type (primary) in the solution explorer

WindowPane

Represents a Visual Studio window pane.

WrapperPolicy

Structs

RunningDocumentInfo

Represents information about a document in the RunningDocumentTable. It includes all the information returned by GetDocumentInfo(UInt32, UInt32, UInt32, UInt32, String, IVsHierarchy, UInt32, IntPtr).

StatefulReadOnlyList<TItem,TState>

A read-only list with an associated state.

Interfaces

IAsyncAttachedCollectionSource

Represents an IAttachedCollectionSource object that can report on whether or not the HasItems property is currently being initialized, and which raises an INotifyPropertyChanged event when the IsInitializingHasItems value changes.

IAsyncServiceContainer

Provides methods to add and remove services.

IAsyncServiceProvider

Provides a mechanism for retrieving proffered services asynchronously. This is the async equivalent of IServiceProvider and should be used in asynchronous contexts to avoid blocking calling threads.

IAsyncServiceProvider2

Provides a mechanism for retrieving proffered services. This is the async equivalent of IServiceProvider and should be used in asynchronous contexts to avoid blocking calling threads.

IAsyncServiceProvider3

Provides a mechanism for retrieving proffered services asynchronously. This is the async equivalent of IServiceProvider and should be used in asynchronous contexts to avoid blocking calling threads.

IAttachedCollectionService

Represents a service that can get attached collections for an item based on a known relationship, and which can enumerate relationships supported for an item.

IAttachedCollectionSource

Represents an object instance that can return a collection of items, and that knows whether or not any items exist without realizing the items themselves.

IAttachedCollectionSourceProvider

Represents a service which can enumerate relationships that exist for an object the service understands, and which can create attached collections for a relationship and object the service understands.

IAttachedCollectionSourceProvider2

Represents a service which can enumerate relationships that exist for an object the service understands, and which can create attached collections for a relationship and object the service understands.

IAttachedRelationship

Contains metadata about an attached relationship, used by the IAttachedCollectionService to describe relationships between objects.

IBuildCancellationAwareHostObject

Allows for a host object to be able to use a CancellationToken that is triggered when build is cancelled.

ICacheableAttachedCollectionSource

Represents an IAttachedCollectionSource that can potentially be cached. Cached sources do not need to be re-created each time they're requested.

IClientRightsAdditionalMetadata

This interface is for passing any additional metadata from the client rights.

ICodeContainerProvider

Information about a provider that is capable of acquiring an online resource to a local machine.

IComEnumeratorRelay<TComEnumerator,TEnumerated>

Provides typed enumeration methods.

ICommentTaskToken

This interface is used to get information about one of the tokens used to generate tasks.

IConfigureToolboxItem

Provides the ability to configure ToolboxItem objects dynamically by adding additional data to the toolbox item's Properties dictionary. This data is then serialized as a permanent part of the toolbox item.

IErrorList

This interface is used to get the state of the various switches in the chrome around the ErrorList tool window.

IFilteredHierarchyItemSet

Provides a flattened list of hierarchy items that represents all items in the hierarchy, and raises events when items are added to or removed from the hierarchy.

IInstalledToolboxItemInfo

Supplies information about an existing toolbox item.

IJoinableTaskFactoryAwareHostObject

Allows for a host object to be able to use the main thread without blocking a build that is blocked on the main thread.

IMaintenanceTask

An interface that may be implemented and exported into the default Visual Studio catalog in order to receive one chance per VS session when VS is idle to get some periodic work done.

IMenuCommandInvokeEx

Helps to invoke menu commands.

IMSDNChannel

interface for msdn subscription channel information.

INonClientArea

This interface represents a visual element which may logically contain non-client Win32 area when WM_NCHITTEST is sent to an HwndSource.

IOleMenuCommand

Represents an OLE menu command.

IProfileManager

Interface implemented by classes supporting VSPackages by persisting their state information through the Visual Studio settings mechanism.

IProfileMigrator

Supports the migration of user settings from one version of Visual Studio to another.

IReadOnlyObservableSet

A readonly observable collection that provides for constant time Contains look up.

IReadOnlyObservableSet<T>

A readonly observable collection that provides for constant time Contains look up.

IResXResourceService

An abstraction layer that lets clients control the resx readers and writers used within Visual Studio.

ISccUIClickedEventArgs

Arguments passed through several SCC related interfaces.

ISccUIClickedEventArgs2

Extending ISccUIClickedEventArgs to supply the UIElement that was clicked.

ISelectedGraphNode

Holds a reference to a selected GraphNode.

ISettingsMachineLocalityEvaluator

This interface is used in conjunction with SharedSettingsAttribute to evaluate whether a property value is machine-local (i.e. should not roam to other machines) at runtime.

ISettingsObserver
ISolutionSearchOptions

Represents the options a search provider should use when providing search results for a search of the solution.

ISolutionSearchParameters

Represents the parameters required to provide search results for a search of the solution.

ISolutionTreeFilter

A filter that controls a collection of items that should be included in the filtered tree. When the IncludedItems are placed into a tree, these items and their ancestors will be included in the tree, and all other items will be excluded. When the filter is no longer needed, the tree control will dispose the filter.

ISolutionTreeFilterProvider

Factory used to create an ISolutionTreeFilter. ISolutionTreeFilter provides a way to provide a list of included items which should be placed into the tree.

ISupportDisposalNotification

Represents an object which may become disposed, and which can notify listeners of changes to disposal state. Objects which hold references to an instance of ISupportDisposalNotification should watch for property changes on the IsDisposed property, and should release their reference when the property's value becomes true.

ITaskList

This interface is used to get the state of the TaskList tool window.

IToolboxAppDomainControl

This interface is implemented by clients who want to control the creation of the appdomain in which their IToolboxItemDiscovery implementation is created. If your package derives from Microsoft.VisualStudio.Shell.Package, set the AppDomainCreatorType property of your ProvideToolboxItemDiscoveryAttribute to the type of your class which implements this interface.

IToolboxAssemblyInfo

Supplies information about an assembly.

IToolboxExtensionsSdkInfo

Supplies information about an extensions SDK.

IToolboxExtensionsSdkInfo2

Provides additional information from SDK manifests.

IToolboxExtensionsSdkType

Represents a managed type from an extensions SDK.

IToolboxExtensionsSdkTypeByName

Represents a simple type from an extensions SDK.

IToolboxItemCreator

Creates new toolbox items and supplies information about existing toolbox items.

IToolboxItemDiscovery

Provides information about managed types from which toolbox items could be created.

IToolboxItemDiscoveryByName

Provides information about types from which toolbox items could be created.

IToolboxItemDiscoveryFactory

Creates various objects required for integration with the Choose Toolbox Items dialog.

IToolboxItemDiscoveryWithContext

Provides information about managed types from which toolbox items could be created.

IToolboxItemInfo

Supplies information about a managed type from which a toolbox item may be created.

IToolboxPlatformInfo

Supplies information about a platform (such as Windows v8.0).

IToolboxPlatformType

Represents a managed type with an associated platform. Other interfaces derive from this to add additional metadata.

IToolboxPlatformTypeByName

Represents a simple type with an associated platform. Other interfaces derive from this to add additional metadata.

IToolboxType

Represents a simple managed type. Other interfaces derive from this to add additional metadata.

IToolboxTypeByName

Represents a simple type.

IVsAccountManagementService

Represents the Visual Studio account management service.

IVsAsyncFileChangeEx

Asynchronous methods for the VS file change service (SVsFileChangeEx).

IVsAsyncFileChangeEx2

Asynchronous methods for the VS file change service (SVsFileChangeEx).

IVsHierarchyItem

Contains instance property information for a single item in an IVsUIHierarchyWindow.

IVsHierarchyItemCollectionProvider

Provides a read-only collection of hierarchy items that represent a subset of all hierarchy items under a specified hierarchy.

IVsHierarchyItemIdentity

Contains the information necessary to define an item in an IVsUIHierarchyWindow.

IVsHierarchyItemManager

Accesses the data model used by an IVsUIHierarchyWindow (like the Solution Explorer).

IVsManagedImageService

An interface proffered by SVsImageService that allows direct addition of WPF bitmaps to the image library.

IVsManagedSettingsChangeEventSource

Provides an event for changed settings.

IVsProjectSecrets

An interface implemented by a project system to store secrets that the application this project builds can access at runtime.

IVsSccChanges

An interface that is implemented by a Source Control Provider to track the number of pending changes in the currently active repository and user interaction with the displayed information.

IVsSccChangesDisplayInformation

Information about pending changes in the current repository of the active Scc provider.

IVsSccChangesDisplayInformation2

Extending IVsSccChangesDisplayInformation to allow greater flexibility for the SccProvider to

  1. decide when to show the compartment
  2. whether to show a up arrow on the compartment or not.
IVsSccCommitPendingChangesPrompt

An interface that is implemented by a Source Control Provider to set a message displayed to users to prompt them to commit their pending changes early and often.

IVsSccCurrentBranch

An interface that is implemented by a Source Control Provider to track display information and user interaction with the displayed information about the currently active branch in a repository.

IVsSccCurrentBranchDisplayInformation

Information about the current branch of the active Scc provider.

IVsSccCurrentBranchDisplayInformation2

Extending IVsSccCurrentBranchDisplayInformation to allow greater flexibility for the SccProvider to

  1. decide when to show the compartment
  2. whether to show a up arrow on the compartment or not.
IVsSccCurrentRepository

An interface that is implemented by a Source Control Provider to track the currently active repository and user interaction with the displayed information.

IVsSccCurrentRepositoryDisplayInformation

Information about the current repository of the active Scc provider.

IVsSccCurrentRepositoryDisplayInformation2

Extending IVsSccCurrentRepositoryDisplayInformation to allow greater flexibility for the SccProvider to

  1. decide when to show the compartment
  2. whether to show a up arrow on the compartment or not.
IVsSccPublish

Interface that supports publishing of source code that is in a local repository.

IVsSccSolution

Interface that raises events related to a loaded solution and Scc.

IVsSccUnpublishedCommits

An interface that is implemented by a Source Control Provider to track the number of unpublished commits in the active repository and user interaction with the displayed information.

IVsSccUnpublishedCommitsDisplayInformation

Information about Unpublished Commits.

IVsSccUnpublishedCommitsDisplayInformation2

Extending IVsSccUnpublishedCommitsDisplayInformation to allow greater flexibility for the SccProvider to

  1. decide when to show the compartment
  2. whether to show a up arrow on the compartment or not.
IVsTaskEvents

Interface for managed events implemented by IVsTask.

IVsTaskJoinableTask

Interface for attaching a single JoinableTask with an IVsTask instance.

IVsToolboxItemDiscoveryRegistrar

Implemented by service SVsToolboxItemDiscoveryRegistrar, which is provided by the shell. Packages wishing to provide toolbox items from managed types should call RegisterItemDiscovery when they load. Packages deriving from Microsoft.VisualStudio.Shell.Package get this behavior by default from their base class. In that case, the behavior of the object is controlled by parameters provided to ProvideToolboxItemDiscoveryAttribute.

IWpfAccountPicker

Represents the Windows Presentation Foundation account picker control provided by IVsAccountManagementService.

IWpfAccountPicker2

Represents the Windows Presentation Foundation account picker control provided by IVsAccountManagementService.

SVsProjectLocalSecrets

The service ID to query an IServiceProvider for to obtain an implementation of IVsProjectSecrets that stores secrets in a project's secrets.json file, or equivalent file that is never stored in source control and is local to the individual user or machine.

SVsSccDisplayInformationService

The service ID by which several SCC interfaces can be obtained including: IVsSccCurrentBranchDisplayInformation, IVsSccCurrentRepositoryDisplayInformation, IVsSccChangesDisplayInformation and IVsSccUnpublishedCommitsDisplayInformation.

SVsServiceProvider

Represents a Visual Studio service provider and intended for dynamic discovery of other VS services from MEF components.

SVsToolboxItemDiscoveryRegistrar

This is the service that implements IVsToolboxItemDiscoveryRegistrar. It is implemented by the shell.

Enums

AuthenticationState

The authentication state.

CloseResult

Specifies the results of the close operation.

CommandNavigationHelper.CommandFocusMode

Values for CommandFocusMode attached property, specify how the control on which it's set is registered with CommandFocusManager for handling focus restoration and entering menu mode.

CommentTaskPriority

Value that indicates the priority of a task in the task list.

CommonMessagePumpExitCode

Represents exit codes that are possible for CommonMessagePump.

DialogPage.ApplyKind

An enumeration that describes dialog page apply behavior.

FilterDescendantBehavior

Specifies the descendant behavior when including items in a filtered tree.

LogicalView

This enumeration lists the supported logical views.

PackageAutoLoadFlags

Specifies types of autoload behavior.

ProfileMigrationType

Specifies the migration action in MigrationType and ProfileMigrationType.

QueryCloseResult

Specifies the results of the query and close operation.

RegistrationMethod

How should the assembly be registered/located.

SettingScope

Describes the different setting scopes.

SettingStorage

Describes where settings are stored.

TaskCategory

Provides a set of task categories that specify the kind of task that is to be performed.

TaskErrorCategory

Represents a collection of values that identify types or severity of error messages that can appear in the Error List Options task window.

TaskPriority

Provides values for task priorities.

ThemeResourceKeyType

Specifies the type of resource being referenced by a ThemeResourceKey.

ToolboxItemDiscoveryContext

Indicates the context in which GetItemInfo(IToolboxType, ToolboxItemDiscoveryContext) is being called.

ToolWindowOrientation

This enumeration provides a number of possible tool window orientations with respect to a docking window.

UnlockResult

Specifies the results of the unlock operation.

VsCreateEditorFlags

__VSCREATEEDITORFLAGS, __VSCREATEEDITORFLAGS2, __VSCREATEEDITORFLAGS3

VsDockStyle

Defines constants for tool window orientation.

VsFrameMode

VSFRAMEMODE, VSFRAMEMODE2

VsFramePropID

__VSFPROPID, __VSFPROPID2, __VSFPROPID3, __VSFPROPID4, __VSFPROPID5

VsHierarchyPropID

__VSHPROPID, __VSHPROPID2, __VSHPROPID3, __VSHPROPID4

VsOpenSpecificEditorFlags

__VSOSPEFLAGS, __VSOSPEFLAGS2, __VSOSPEFLAGS3

VsQueryEditFlags

__VSQueryEditFlags, __VSQueryEditFlags2

VsQueryRemoveDirectoryFlags

VSQUERYREMOVEDIRECTORYFLAGS, VSQUERYREMOVEDIRECTORYFLAGS2

VsQueryRemoveFileFlags

VSQUERYREMOVEFILEFLAGS, VSQUERYREMOVEFILEFLAGS2

VsQuerySaveFlags

tagVSQuerySaveFlags, __VSQuerySaveFlags2

VsRdtFlags

_VSRDTFLAGS, _VSRDTFLAGS2

VsRdtSaveOptions

__VSRDTSAVEOPTIONS, __VSRDTSAVEOPTIONS2

VsRemoveDirectoryFlags

VSREMOVEDIRECTORYFLAGS, VSREMOVEDIRECTORYFLAGS2

VsRemoveFileFlags

VSREMOVEFILEFLAGS, VSREMOVEFILEFLAGS2

VsSolutionPropID

__VSPROPID, __VSPROPID52, __VSPROPID53, __VSPROPID54, __VSPROPID5

VsTaskContinuationOptions

Managed definition of __VSTASKCONTINUATIONOPTIONS/__VSTASKCONTINUATIONOPTIONS2.

VsTaskCreationOptions

Managed definition of __VSTASKCREATIONOPTIONS/__VSTASKCREATIONOPTIONS2.

VsTaskRunContext

Managed definition of __VSTASKRUNCONTEXT.

VsTaskWaitOptions

Managed definition of __VSTASKWAITOPTIONS.

WindowPane.PaneInitializationMode

Represents the possible initialization states for a WindowPane object.

Delegates

AsyncServiceCreatorCallback

The callback for the async service creator.

AsyncServiceCreatorWithProgressCallback

The callback that is invoked when an instance of the service is needed. This is called only one time, and the result is cached.

OnIdleHandler

A delegate used by the SingleTaskIdleManager class. When you create an instance of the SingleTaskIdleManager class, you pass in this delegate, which is then called at idle time.

VsInvokableAsyncFunction<T>

Used by the asynchronous task library helper to take an IVsTaskCompletionSource and return a Task Parallel Library (TPL) task.

VsTaskBodyCallback

Used by the asynchronous task library helper as the method type for a task body (what the task executes). Users of the library can either pass in this delegate type directly or use one of the wrapper methods that wraps simpler anonymous functions to this delegate type.