プロジェクトエクスプローラーのツリー項目

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;
    }
}