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)
Syntax
'Declaration
<GuidAttribute("FD9DC8E3-2FFC-446D-8C50-99CA4A3D2D1C")> _
<InterfaceTypeAttribute()> _
Public Interface IVsShell
[GuidAttribute("FD9DC8E3-2FFC-446D-8C50-99CA4A3D2D1C")]
[InterfaceTypeAttribute()]
public interface IVsShell
[GuidAttribute(L"FD9DC8E3-2FFC-446D-8C50-99CA4A3D2D1C")]
[InterfaceTypeAttribute()]
public interface class IVsShell
[<GuidAttribute("FD9DC8E3-2FFC-446D-8C50-99CA4A3D2D1C")>]
[<InterfaceTypeAttribute()>]
type IVsShell = interface end
public interface IVsShell
The IVsShell type exposes the following members.
Methods
Name | Description | |
---|---|---|
AdviseBroadcastMessages | Enables clients to receive messages that are typically broadcast only to the main application window. | |
AdviseShellPropertyChanges | Enables clients to receive notifications of property changes to the environment. | |
GetPackageEnum | Returns a standard enumerator to iterate through the VSPackages currently loaded by the environment. | |
GetProperty | Returns an environment property. | |
IsPackageInstalled | Determines whether a VSPackage identified by guidPackage is installed and registered with the system. | |
IsPackageLoaded | Determines whether a VSPackage identified by the package GUID (guidPackage) is loaded in the environment. | |
LoadPackage | Triggers a VSPackage implementation DLL to be loaded into the environment. | |
LoadPackageString | Directly loads a localized string from a VSPackage satellite DLL. | |
LoadUILibrary | Triggers the satellite DLL to load if it has not already done so. | |
SetProperty | Sets an environment property. | |
UnadviseBroadcastMessages | Disables clients from receiving messages typically broadcast only to the main application window. | |
UnadviseShellPropertyChanges | Disables clients from receiving notifications of property changes to the environment. |
Top
Remarks
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.