IVsShell Interface

Provides access to the fundamental environment services, specifically those dealing with VSPackages and the registry.

Namespace:  Microsoft.VisualStudio.Shell.Interop
Assembly:  Microsoft.VisualStudio.Shell.Interop (in Microsoft.VisualStudio.Shell.Interop.dll)

public interface IVsShell

The IVsShell type exposes the following members.

Public methodAdviseBroadcastMessagesEnables clients to receive messages that are typically broadcast only to the main application window.
Public methodAdviseShellPropertyChangesEnables clients to receive notifications of property changes to the environment.
Public methodGetPackageEnumReturns a standard enumerator to iterate through the VSPackages currently loaded by the environment.
Public methodGetPropertyReturns an environment property.
Public methodIsPackageInstalledDetermines whether a VSPackage identified by guidPackage is installed and registered with the system.
Public methodIsPackageLoadedDetermines whether a VSPackage identified by the package GUID (guidPackage) is loaded in the environment.
Public methodLoadPackageTriggers a VSPackage implementation DLL to be loaded into the environment.
Public methodLoadPackageStringDirectly loads a localized string from a VSPackage satellite DLL.
Public methodLoadUILibraryTriggers the satellite DLL to load if it has not already done so.
Public methodSetPropertySets an environment property.
Public methodUnadviseBroadcastMessagesDisables clients from receiving messages typically broadcast only to the main application window.
Public methodUnadviseShellPropertyChangesDisables clients from receiving notifications of property changes to the environment.

Direct manipulation of other VSPackages is discouraged. The recommended procedure is for the VSPackage to proffer services, using the SProfferService service, which are then consumed by other VSPackages sharing the environment.

Notes to Callers

Call IVsShell in conjunction with the environment service, SVsShell, when needing to implement VSPackages, projects, editors, and other entities that require access to local registry information or directly manipulate other VSPackages.

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
© 2014 Microsoft