【问题标题】:Why does the RASCAL IDE extension for Eclipse not work?为什么 Eclipse 的 RASCAL IDE 扩展不起作用?
【发布时间】:2020-01-18 22:12:50
【问题描述】:

我尝试使用 RASCAL 文档的这个示例: http://tutor.rascal-mpl.org/Rascal/Libraries/util/IDE/Menus/Menus.html#/Rascal/Libraries/util/IDE/IDE.html

注册语言和注释器后,没有任何反应。

我的目标是构建这个示例,为 java 文件注册一些菜单项,这些文件可以启动 RASCAL 可视化或报告。

感谢任何帮助。

重现步骤:

  1. 在 Eclipse 中启动 Rascal 控制台
  2. 输入import util::IDE;
  3. 输入import ParseTree;
  4. 输入m1 = popup(menu("MyMenu", [action("Example item", void (Tree t, loc s) { println("<t> @ <s>");})]));
  5. 输入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});

【问题讨论】:

  • 您能否添加您编写的确切代码以及您希望对您的问题起作用的 UI 操作?目前它相当模糊????
  • 我已经添加了将问题重现到问题中的步骤。

标签: eclipse menu ide rascal


【解决方案1】:

要将菜单项添加到不是由 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-13
    • 1970-01-01
    • 2019-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多