Commands, extP="org.eclipse.ui.commands"Handlers, extP="org.eclipse.ui.handlers",Bindings, extP="org.eclipse.ui.bindings"Menus, extP="org.eclipse.ui.menus"
本文以eclipse 4.20为参考.
使用extension points是实现软件menu, toolbar, 和key binding相关功能的主要办法. 相对于代码编程而言, 有易配置, 逻辑清晰易维护的优点.
Commands, extP=“org.eclipse.ui.commands”用于添加category, command.
复杂的command还可以使用commandParameter, 需要定义commandParameterType.
commandParameterType/converter需要继承org.eclipse.core.commands.AbstractParameterValueConverter.
command在没有绑定handler时是disabled.
一个例子,
Handlers, extP=“org.eclipse.ui.handlers”,
handler定义的是command被激发时要执行的动作. 用于绑定command和handler, 前者指定command id, 后者指定handler class.
handlerClass要实现org.eclipse.core.commands.IHandler, 通常继承org.eclipse.core.commands.AbstractHandler.
除此, 考虑动态情形, 可以指定activeWhen和enableWhen.
一个例子
Bindings, extP=“org.eclipse.ui.bindings”
设定key bindings, 包括keyScheme和keyBinding.
对于keyScheme, 可以在Window > Preference > General > Keys > scheme中选择使用.
需要注意, keyScheme可以有parent scheme.
一个例子,
Menus, extP=“org.eclipse.ui.menus”
用于设定main menu/toolbar, view menu/view, view dropdown menu, conext menu和trim.
menuContribution/locationURI用于指定出现的位置.
允许实现动态的menu list, 其class需继承ContributionItem.
一个例子
驽马一架 一花一世界 2022/1/23
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)