Share via


IVsShell Interface

Definition

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 (guidPackage) is loaded in the environment.

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.

Applies to