C# Класс VsTeXProject.VisualStudio.Project.ProjectContainerNode

Наследование: ProjectNode, IVsParentProject, IBuildDependencyOnProjectContainer
Показать файл Открыть проект

Private Properties

Свойство Тип Описание
GetNestedHierarchy int
GetRegisteredProject RegisteredProjectType
OnNestedProjectFileChangedOnDisk void
RunVsTemplateWizard void

Открытые методы

Метод Описание
CloseChildren ( ) : int
EnumNestedHierachiesForBuildDependency ( ) : IVsHierarchy[]

Enumerates the nested hierachies that should be added to the build dependency list.

IsItemDirty ( uint itemId, IntPtr punkDocData, int &pfDirty ) : int
OpenChildren ( ) : int
ReloadItem ( uint itemId, uint reserved ) : int

Called to reload a project item. Reloads a project and its nested project nodes.

SaveItem ( VSSAVEFLAGS dwSave, string silentSaveAsName, uint itemid, IntPtr punkDocData, int &pfCancelled ) : int

Защищенные методы

Метод Описание
AddExistingNestedProject ( ProjectElement element, __VSCREATEPROJFLAGS creationFlags ) : NestedProjectNode

Add an existing project as a nested node of our hierarchy. This is used while loading the project and can also be used to add an existing project to our hierarchy.

AddNestedProjectFromTemplate ( ProjectElement element, __VSCREATEPROJFLAGS creationFlags ) : NestedProjectNode

This will clone a template project file and add it as a subproject to our hierarchy. If you want to create a project for which there exist a vstemplate, consider using RunVsTemplateWizard instead.

AddNestedProjectFromTemplate ( string fileName, string destination, string projectName, ProjectElement element, __VSCREATEPROJFLAGS creationFlags ) : NestedProjectNode

This can be called directly or through RunVsTemplateWizard. This will clone a template project file and add it as a subproject to our hierarchy. If you want to create a project for which there exist a vstemplate, consider using RunVsTemplateWizard instead.

AddVirtualProjects ( ) : void

Links the nested project nodes to the solution. The default implementation parses all nested project nodes and calles AddVirtualProjectEx on them.

CreateNestedProjectNode ( ProjectElement element ) : NestedProjectNode

Override this method if you want to provide your own type of nodes. This would be the case if you derive a class from NestedProjectNode

CreateNestedProjectNodes ( ) : void

This is used when loading the project to loop through all the items and for each SubProject it finds, it create the project and a node in our Hierarchy to hold the project.

FilterItemTypeToBeAddedToHierarchy ( string itemType ) : bool
GetProjectTemplatePath ( ProjectElement element ) : string

Based on the Template and TypeGuid properties of the element, generate the full template path. TypeGuid should be the Guid of a registered project factory. Template can be a full path, a project template (for projects that support VsTemplates) or a relative path (for other projects).

Reload ( ) : void

Reloads a project and its nested project nodes.

ReloadNestedProjectNode ( NestedProjectNode node ) : void

Reloads a nested project node by deleting it and readding it.

RemoveNestedProjectNodes ( ) : void

Приватные методы

Метод Описание
GetNestedHierarchy ( uint itemId, System.Guid &iidHierarchyNested, IntPtr &ppHierarchyNested, uint &pItemId ) : int
GetRegisteredProject ( ProjectElement element ) : RegisteredProjectType

Get information from the registry based for the project factory corresponding to the TypeGuid of the element

OnNestedProjectFileChangedOnDisk ( object sender, FileChangedOnDiskEventArgs e ) : void

Event callback. Called when one of the nested project files is changed.

RunVsTemplateWizard ( ProjectElement element, bool silent ) : void

Описание методов

AddExistingNestedProject() защищенный Метод

Add an existing project as a nested node of our hierarchy. This is used while loading the project and can also be used to add an existing project to our hierarchy.
protected AddExistingNestedProject ( ProjectElement element, __VSCREATEPROJFLAGS creationFlags ) : NestedProjectNode
element ProjectElement
creationFlags __VSCREATEPROJFLAGS
Результат NestedProjectNode

AddNestedProjectFromTemplate() защищенный Метод

This will clone a template project file and add it as a subproject to our hierarchy. If you want to create a project for which there exist a vstemplate, consider using RunVsTemplateWizard instead.
protected AddNestedProjectFromTemplate ( ProjectElement element, __VSCREATEPROJFLAGS creationFlags ) : NestedProjectNode
element ProjectElement
creationFlags __VSCREATEPROJFLAGS
Результат NestedProjectNode

AddNestedProjectFromTemplate() защищенный Метод

This can be called directly or through RunVsTemplateWizard. This will clone a template project file and add it as a subproject to our hierarchy. If you want to create a project for which there exist a vstemplate, consider using RunVsTemplateWizard instead.
protected AddNestedProjectFromTemplate ( string fileName, string destination, string projectName, ProjectElement element, __VSCREATEPROJFLAGS creationFlags ) : NestedProjectNode
fileName string
destination string
projectName string
element ProjectElement
creationFlags __VSCREATEPROJFLAGS
Результат NestedProjectNode

AddVirtualProjects() защищенный Метод

Links the nested project nodes to the solution. The default implementation parses all nested project nodes and calles AddVirtualProjectEx on them.
protected AddVirtualProjects ( ) : void
Результат void

CloseChildren() публичный Метод

public CloseChildren ( ) : int
Результат int

CreateNestedProjectNode() защищенный Метод

Override this method if you want to provide your own type of nodes. This would be the case if you derive a class from NestedProjectNode
protected CreateNestedProjectNode ( ProjectElement element ) : NestedProjectNode
element ProjectElement
Результат NestedProjectNode

CreateNestedProjectNodes() защищенный Метод

This is used when loading the project to loop through all the items and for each SubProject it finds, it create the project and a node in our Hierarchy to hold the project.
protected CreateNestedProjectNodes ( ) : void
Результат void

EnumNestedHierachiesForBuildDependency() публичный Метод

Enumerates the nested hierachies that should be added to the build dependency list.
public EnumNestedHierachiesForBuildDependency ( ) : IVsHierarchy[]
Результат IVsHierarchy[]

FilterItemTypeToBeAddedToHierarchy() защищенный Метод

protected FilterItemTypeToBeAddedToHierarchy ( string itemType ) : bool
itemType string
Результат bool

GetProjectTemplatePath() защищенный Метод

Based on the Template and TypeGuid properties of the element, generate the full template path. TypeGuid should be the Guid of a registered project factory. Template can be a full path, a project template (for projects that support VsTemplates) or a relative path (for other projects).
protected GetProjectTemplatePath ( ProjectElement element ) : string
element ProjectElement
Результат string

IsItemDirty() публичный Метод

public IsItemDirty ( uint itemId, IntPtr punkDocData, int &pfDirty ) : int
itemId uint
punkDocData System.IntPtr
pfDirty int
Результат int

OpenChildren() публичный Метод

public OpenChildren ( ) : int
Результат int

Reload() защищенный Метод

Reloads a project and its nested project nodes.
protected Reload ( ) : void
Результат void

ReloadItem() публичный Метод

Called to reload a project item. Reloads a project and its nested project nodes.
public ReloadItem ( uint itemId, uint reserved ) : int
itemId uint Specifies itemid from VSITEMID.
reserved uint Reserved.
Результат int

ReloadNestedProjectNode() защищенный Метод

Reloads a nested project node by deleting it and readding it.
protected ReloadNestedProjectNode ( NestedProjectNode node ) : void
node NestedProjectNode The node to reload.
Результат void

RemoveNestedProjectNodes() защищенный Метод

protected RemoveNestedProjectNodes ( ) : void
Результат void

SaveItem() публичный Метод

public SaveItem ( VSSAVEFLAGS dwSave, string silentSaveAsName, uint itemid, IntPtr punkDocData, int &pfCancelled ) : int
dwSave VSSAVEFLAGS
silentSaveAsName string
itemid uint
punkDocData System.IntPtr
pfCancelled int
Результат int