我尝试使用这个流氓文档的例子: http://tutor.rascal-mpl.org/Rascal/Libraries/util/IDE/Menus/Menus.html#/Rascal/Libraries/util/IDE/IDE.html
注册语言和注释器后,没有任何反应。
我的目标是构建此示例,为java文件注册一些菜单项,这些文件可以启动RASCAL可视化或报告。
任何帮助,不胜感激。
重现步骤:
- 在 Eclipse 中启动流氓控制台
- 类型
import util::IDE;
- 类型
import ParseTree;
- 类型
m1 = popup(menu("MyMenu", [action("Example item", void (Tree t, loc s) { println("<t> @ <s>");})]));
- 类型
registerContributions("abc",{m1});
当我打开 *.abc 文件时,我希望在 Eclipse IDE 中有一个新的菜单项"MyMenu"。我不知道它应该在哪里弹出,文档没有说明菜单项应该在哪里显示。
rascal>import util::IDE;
ok
rascal>import ParseTree;
ok
rascal>m1 = popup(menu("MyMenu", [action("Example item", void (Tree t, loc s) { println("<t> @ <s>");})]));
Contribution: popup(menu(
"MyMenu",
[action("Example item",function(|prompt:///|(50,45,<1,50>,<1,95>)))]))
rascal>registerContributions("abc",{m1});
ok
rascal>registerContributions("rsc",{m1});
要将菜单项添加到不是由 Rascal 本身生成但已经存在于 eclipse 中的编辑器(例如 Java 编辑器(,您可以使用registerNonRascalContributions
。见 http://tutor.rascal-mpl.org/Rascal/Libraries/util/IDE/IDE.html#/Rascal/Libraries/util/IDE/registerNonRascalContributions/registerNonRascalContributions.html
您需要默认 Java 编辑器插件的"编辑器 ID",我相信这是org.eclipse.ui.JavaEditor
。