使用非托管 C++ 中, HierUtil7 项目结构可以将项目文件夹层次结构重命名节点。 有关更多信息,请参见 HierUtil7 Sample。
展开层次结构节点
展开层次结构节点并对重命名文件夹
使用以下方法,选择层次结构节点:
IfFailGo(pNode->ExtExpand(EXPF_SelectItem, GUID_MacroExplorer));
pNode 是层次结构容器与该文件夹对应,并 EXPF_SelectItem 是从 EXPANDFLAGS 枚举。 GUID_MacroExplorer 是在 Vsshell.idl 定义的 GUID 常数是 rguidPersistenceSlot 的一个示例就 ExtExpand函数签名,定义在 Hu_node.h。
HRESULT ExtExpand(EXPANDFLAGS expandflags, REFGUID rguidPersistenceSlot = GUID_SolutionExplorer) const;
可以找到在文件夹中, installation root\Program Files\VSIP 8.0\EnvSDK \ common \ hierutil7 的 Hu_node.h 文件:
使用 PostExecCommand,通过发布重命名命令将该文件夹重命名
IfFailGo(srpVsUIShell->PostExecCommand(&guidVSStd97, cmdidRename, 0, NULL));
srpVsUIShell 是 IVsUIShell 指针: <IVsUIShell>srpVsUIShell。 guiVSStd97 是命令 cmdidRename 属于命令组的唯一标识符,定义在 Vsshlids.h。