IVsShell Interface
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Provides access to the fundamental environment services, specifically those dealing with VSPackages and the registry.
public interface class IVsShell
public interface class IVsShell
__interface IVsShell
[System.Runtime.InteropServices.Guid("FD9DC8E3-2FFC-446D-8C50-99CA4A3D2D1C")]
[System.Runtime.InteropServices.InterfaceType(1)]
public interface IVsShell
[System.Runtime.InteropServices.Guid("FD9DC8E3-2FFC-446D-8C50-99CA4A3D2D1C")]
[System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)]
public interface IVsShell
[<System.Runtime.InteropServices.Guid("FD9DC8E3-2FFC-446D-8C50-99CA4A3D2D1C")>]
[<System.Runtime.InteropServices.InterfaceType(1)>]
type IVsShell = interface
[<System.Runtime.InteropServices.Guid("FD9DC8E3-2FFC-446D-8C50-99CA4A3D2D1C")>]
[<System.Runtime.InteropServices.InterfaceType(System.Runtime.InteropServices.ComInterfaceType.InterfaceIsIUnknown)>]
type IVsShell = interface
Public Interface IVsShell
- Attributes
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.
Methods
AdviseBroadcastMessages(IVsBroadcastMessageEvents, UInt32) |
Enables clients to receive messages that are typically broadcast only to the main application window. |
AdviseShellPropertyChanges(IVsShellPropertyEvents, UInt32) |
Enables clients to receive notifications of property changes to the environment. |
GetPackageEnum(IEnumPackages) |
Returns a standard enumerator to iterate through the VSPackages currently loaded by the environment. |
GetProperty(Int32, Object) |
Returns an environment property. |
IsPackageInstalled(Guid, Int32) |
Determines whether a VSPackage identified by guidPackage is installed and registered with the system. |
IsPackageLoaded(Guid, IVsPackage) |
Determines whether a VSPackage identified by the package GUID ( |
LoadPackage(Guid, IVsPackage) |
Triggers a VSPackage implementation DLL to be loaded into the environment. |
LoadPackageString(Guid, UInt32, String) |
Directly loads a localized string from a VSPackage satellite DLL. |
LoadUILibrary(Guid, UInt32, IntPtr) | |
LoadUILibrary(Guid, UInt32, UInt32) |
Triggers the satellite DLL to load if it has not already done so. |
SetProperty(Int32, Object) |
Sets an environment property. |
UnadviseBroadcastMessages(UInt32) |
Disables clients from receiving messages typically broadcast only to the main application window. |
UnadviseShellPropertyChanges(UInt32) |
Disables clients from receiving notifications of property changes to the environment. |
Extension Methods
OnPropertyChanged(IVsShell, Int32, Action<Object>) |
Invokes a callback each time a shell property changes. |
WhenPropertyChanged(IVsShell, Int32, Action<Object>) |
Invokes a callback when a shell property next changes. |