项目资源管理器的树状项目

Extension 可以在已打开的 RC+ 项目的项目资源管理器中添加专有的树状项目。
如果树状项目与专有文件关联,请使用前述的“项目文件”扩展点。

树状项目可以添加多个,并且每个项目都可以进行分层。

双击树状项目时,

  • 若为父项目,则会展开或收起子项目。
  • 若为末端子项目,则会调用 Extension 的命令。

树状项目可以拥有上下文菜单。选择上下文菜单项目时,会调用 Extension 的命令。

要使用此扩展点,需要创建并导出实现接口 IRCXProjectExplorerItemProvide 的类。

[Export(typeof(IRCXProjectExplorerItemProvider))]
public partial class ProjectExplorerItem : IRCXProjectExplorerItemProvider
{
    /// <inheritdoc />
    public string Id => Main.CommonId;

    /// <inheritdoc />
    public IRCXProjectExplorerItemProvider.Item ProjectExplorerRootItem
    {
        get
        {
            return new()
            {
                Caption = new(Main.CommonId, Caption.PECategory),
                Icon = Main.CommonIcon,
                Children =
                [
                    new()
                    {
                        Caption = new(Main.CommonId, Caption.PEItem),
                        Icon = Main.CommonIcon,
                        CommandName = "ItemCommand",
                        CommandParameter = "ItemCommandParameter",
                        ContextMenuItems =
                        [
                            new()
                            {
                                Caption = new(Main.CommonId, Caption.PEItemMenu),
                                CommandName = "ContextMenuCommand",
                                CommandParameter = "ContextMenuCommandParameter",
                            }
                        ]
                    }
                ]
            };
        }
    }

    /// <inheritdoc />
    public Task ExecuteProjectExplorerItemCommandAsync(
        string commandName,
        object? commandParameter = null
    )
    {
        // (Code here)
        return Task.CompletedTask;
    }
}