Appearance
命令的分组与排序
默认情况下,命令的分组是其他

可以通过标注CategoryAttribute来自定义分组
csharp
[Category("我的分组")]
public class MyPluginCommand : Command
{
}效果如下
如果分组名与既有的分组名一致,会加到已有的组里
csharp
[Category("数据库")]
public class MyPluginServerCommand : Command, ICommandExecutableInServerSideAsync
{
public async Task<ExecuteResult> ExecuteAsync(IServerCommandExecuteContext dataContext)
{
return new ExecuteResult();
}
public override CommandScope GetCommandScope()
{
return CommandScope.ExecutableInServer;
}
}效果如下

如果有多个插件,在同一分组,可以通过OrderWeightAttribute标注排序权重
csharp
[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;
}
}设计器效果
更新: 2022-12-04 20:35:43
原文: https://www.yuque.com/robert-bh51n/ea8l6c/ptysbtfy0v9pngc0