This documentation is archived and is not being maintained.

__VSHPROPID Enumeration

Specifies property settings for a hierarchy. Extended by __VSHPROPID2.

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

public enum __VSHPROPID
public enum __VSHPROPID
public enum __VSHPROPID

 Member nameDescription
VSHPROPID_AllowEditInRunModeBOOL. [optional] If false or E_NOTIMPL, the compiler will disallow edits during run mode (this is the most common expected behavior). true allows edits. This property enables VSA scenarios. 
VSHPROPID_AltHierarchyUNK. [optional] Returns an IVsHierarchy for SVsTrackSelectionEx
VSHPROPID_AltItemidI4. [optional] Returns an itemid for SVsTrackSelectionEx
VSHPROPID_BrowseObjectDISP. [optional] Returns an IDispatch for property browsing. 
VSHPROPID_CanBuildFromMemoryBOOL. [optional] If true, don't prompt to save before building. 
VSHPROPID_CaptionBSTR. Needed so environment (project window) can display UI. 
VSHPROPID_CmdUIGuidGUID for command bars (for root only). 
VSHPROPID_ConfigurationProviderOBSOLETE. Use IVsGetCfgProvider
VSHPROPID_DefaultEnableBuildProjectCfgBOOL. [optional] Specifies if "Build" should be initially checked by default in the solution cfg. Normally "Build" is checked by default if the project supports IVsBuildableProjectCfg
VSHPROPID_DefaultEnableDeployProjectCfgBOOL. [optional] Specifies if "Deploy" should be initially checked by default in the solution cfg. Normally "Deploy" is checked by default if the project supports IVsDeployableProjectCfg.  
VSHPROPID_DefaultNamespaceBSTR. [optional] String representing the item's folder-based namespace: rootnamespace.folder.subfolder. 
VSHPROPID_DesignerFunctionVisibilityI4. [optional] Value from the VSDESIGNER_FUNCTIONVISIBILITY enumeration. 
VSHPROPID_DesignerVariableNamingI4. [optional] Value from the VSDESIGNER_VARIABLENAMING enumeration. 
VSHPROPID_EditLabelBSTR. [optional] String displayed for in-place editing node caption. 
VSHPROPID_ExpandableBOOL. Specifies whether environment should display the "open-this-folder" plus sign. 
VSHPROPID_ExpandByDefaultBOOL. Specifies whether environment should expand this item. 
VSHPROPID_ExpandedBOOL. Specifies whether the node is currently expanded in the UIHierarchyWindow, starts as false
VSHPROPID_ExtObjectDISP. [optional] For ITEMID_ROOT, this is the ext.object of the project (Project). 
VSHPROPID_ExtSelectedItemDISP. [optional] Returns a custom SelectedItem object for the given itemid. 
VSHPROPID_FIRSTINT_PTR. Specifies the first property ID. 
VSHPROPID_FirstChildItemid of first child node (VSITEMID_NIL if no children). 
VSHPROPID_FirstVisibleChildINT_PTR. [optional] similar to FirstChild but only walks items to be displayed in UIHierarchyWindow. Required if hierarchy supports multiple (subsetted or supersetted) views of its contents. 
VSHPROPID_HandlesOwnReloadBOOL. [optional] Project handles unload/reload itself (otherwise environment handles it) 
VSHPROPID_HasEnumerationSideEffectsBOOL. [optional] If true, then this hierarchy will not be enumerated for FindInFiles and similar hierarchy enumerations. (Useful if enumerating might cause a login dialog or is unacceptably slow) 
VSHPROPID_IconHandleI4. Handle to an icon; UIHierarchyWindow will not call DestroyIcon on it. 
VSHPROPID_IconImgListI4. Handle to an imagelist (only for itemid==VSITEMID_ROOT). 
VSHPROPID_IconIndexI4. If Expandable=true, then IconIndex+1 is used for the open icon. 
VSHPROPID_ImplantHierarchyUNK. [optional] IVsHierarchy implant for this hierarchy. 
VSHPROPID_IsFindInFilesForegroundOnlyBOOL. [optional] If true, FindInFiles runs in main thread. 
VSHPROPID_IsHiddenItemBOOL. [optional] Specifies that item is not displayed in current UIHierarchyWindow view. Required if hierarchy supports multiple (subsetted) views of its contents. 
VSHPROPID_IsNewUnsavedItemBOOL. [optional] If true, this is a new unsaved item (as obtained from File.New.File) so the moniker will be a temporary name and the caption should be used in the UI instead. 
VSHPROPID_IsNonLocalStorageBOOL. [optional] Specifies whether project storage is local. IPersistFileFormat is used for saving project regardless of whether it is a local "file" or not. 
VSHPROPID_IsNonMemberItemBOOL. [optional] Specifies that item is not considered a member of the hierarchy. Required if hierarchy supports (supersetted) views of its contents, that is, ShowAllFiles displaying files in directory that are not members of the project. 
VSHPROPID_IsNonSearchableBOOL. [optional] Specifies that item is not subject to search-and-replace via Find/Replace in Files. Should be true for the project file itself. 
VSHPROPID_ItemDocCookieINT_PTR. [optional] The document cookie (an abstract value) of the hierarchy item. 
VSHPROPID_ItemSubTypeBSTR. [optional] Non-localize string representing the subtype of the item. It is up to each package to agree on the meaning of this string. 
VSHPROPID_LASTINT_PTR. Specifies the last property ID. 
VSHPROPID_NameBSTR. Name for project (VSITEMID_ROOT) or item. 
VSHPROPID_NextSiblingINT_PTR. Itemid of next sibling node (VSITEMID_NIL if no more siblings). 
VSHPROPID_NextVisibleSiblingINT_PTR. [optional] Similar to NextSibling but only walks items to be displayed in UIHierarchyWindow. Required if hierarchy supports multiple (subsetted or supersetted) views of its contents. 
VSHPROPID_OpenFolderIconHandleI4. [optional] Handle of an icon for an open folder. UIHierarchyWindow will not call DestroyIcon on it. 
VSHPROPID_OpenFolderIconIndexI4. [optional] Index for OpenFolder icon. 
VSHPROPID_OverlayIconIndexI4. [optional] Use VSOVERLAYICON enumeration. Overlay for the item's main icon. 
VSHPROPID_OwnerKeyBSTR. [optional] Owner key string that identifies the project GUID of the owning project. 
VSHPROPID_ParentI4. Itemid of parent node (VSITEMID_NIL if no parent). 
VSHPROPID_ParentHierarchyUNK. IVsHierarchy that owns this hierarchy. 
VSHPROPID_ParentHierarchyItemidINT_PTR. The itemid of this hierarchy in its parent hierarchy 
VSHPROPID_PreferredLanguageSIDGUID. [optional] Preferred SID of (text editor) language service for project. 
VSHPROPID_ProjectDirBSTR. [optional] Full path to project directory (for VSITEMID_ROOT only). 
VSHPROPID_ProjectIDGuidGUID. [optional] Identifies a project across solutions. Generated and set when project is created. Retrieved when project is opened. 
VSHPROPID_ProjectName[obsolete] Use VSHPROPID_Name
VSHPROPID_ProjectType[obsolete] Use VSHPROPID_TypeName
VSHPROPID_ReloadableProjectFile[obsolete] Use VSHPROPID_HandlesOwnReload
VSHPROPID_Root[obsolete] Itemid of Root must be VSITEMID_ROOT
VSHPROPID_SaveNameBSTR. File name specified on the FileSave menu. 
VSHPROPID_SelContainerUNK. [optional] Returns an ISelectionContainer for use with property browsing. 
VSHPROPID_ShowOnlyItemCaptionBOOL. [optional] If true, show only the caption in the UI instead of the full moniker. 
VSHPROPID_ShowProjInSolutionPageBOOL. [optional] Used to filter project when vb/c# calls the component picker for add-reference. Return VARIANT_TRUE to show the project is in the list. 
VSHPROPID_SortPriorityI4. [optional] Sort priority in UIHierarchyWindow. Standard projects have priority 0 (default). 
VSHPROPID_StartupServicesUNK. [optional] Returns an IVsProjectStartupServices* to add services to be started on next project load (for VSITEMID_ROOT only) 
VSHPROPID_StateIconIndexI4. State icon index. Use VsStateIcon enumeration. 
VSHPROPID_StorageTypeBSTR. [optional] Non-localize string representing storage type. Same as string used in VSDIR file to differentiate between different location MRU lists. 
VSHPROPID_TypeGuidGUID to identify type of node/hierarchy; searches on GUID_ItemType
VSHPROPID_TypeNameBSTR. Displays name to identify type of node/hierarchy (used in title bar). 
VSHPROPID_UserContextUNK. [optional] IVsUserContext for the project or item. 

Each __VSHPROPID must return a VARIANT structure filled in with the proper VT_ type. The caller may assume the VT_ type is correct. That is, there is no need to call VariantChangeType(), or verify the type, beyond an ASSERT() to ensure that there were no header file mismatches, and so on.


__VSHPROPID values must not overlap any other *PROPID group values.

This same logic applies to the caller when setting a property; the hierarchy assumes that the caller has passed a VARIANT already converted to the proper VT_ type.