[]
默认情况下,命令的分组是其他。
可以通过标注CategoryAttribute来自定义分组。
[Category("我的分组")]
public class MyPluginCommand : Command
{
}
效果如下:
如果分组名与既有的分组名一致,会加到已有的组里。
[Category("数据库")]
public class MyPluginServerCommand : Command, ICommandExecutableInServerSideAsync
{
public async Task<ExecuteResult> ExecuteAsync(IServerCommandExecuteContext dataContext)
{
return new ExecuteResult();
}
public override CommandScope GetCommandScope()
{
return CommandScope.ExecutableInServer;
}
}
效果如下:
如果有多个插件,在同一分组,可以通过OrderWeightAttribute标注排序权重。
[OrderWeight(1)]
[Category("我的分组")]
public class MyPluginServerCommand1 : Command, ICommandExecutableInServerSideAsync
{
public async Task<ExecuteResult> ExecuteAsync(IServerCommandExecuteContext dataContext)
{
return new ExecuteResult();
}
public override CommandScope GetCommandScope()
{
return CommandScope.ExecutableInServer;
}
}
[OrderWeight(2)]
[Category("我的分组")]
public class MyPluginServerCommand2 : Command, ICommandExecutableInServerSideAsync
{
public async Task<ExecuteResult> ExecuteAsync(IServerCommandExecuteContext dataContext)
{
return new ExecuteResult();
}
public override CommandScope GetCommandScope()
{
return CommandScope.ExecutableInServer;
}
}
[OrderWeight(3)]
[Category("我的分组")]
public class MyPluginServerCommand3 : Command, ICommandExecutableInServerSideAsync
{
public async Task<ExecuteResult> ExecuteAsync(IServerCommandExecuteContext dataContext)
{
return new ExecuteResult();
}
public override CommandScope GetCommandScope()
{
return CommandScope.ExecutableInServer;
}
}
设计器效果: