是否可以使用 vis 将用户重定向到 java 文件中的代码块?

Is it possible to redirect user to a code block within a java file using vis?

我正在使用 vis 库来可视化数据,我想在按下按钮后将用户重定向到 java 中的某个代码块。我正在使用库中的以下代码来处理按钮点击:

s = "test";
b = box(text(str () { return s; }),
    fillColor("red"),
    onMouseDown(bool (int butnr, map[KeyModifier,bool] modifiers) {
        s = "<butnr>";
        return true;
    }));
render(b)

在用户单击按钮后,我希望他被重定向到 eclipse 中的某个 java 代码块(就像当您在终端中遇到某种解析错误时发生的情况一样)。任何帮助将不胜感激。

我感觉 onMouseDown 中存在错误,但如果它有效,那么 util::Editors 中的 public void edit(loc file) 函数就是你的朋友。

编辑器将打开,选择将围绕该位置的目标偏移量和长度进行设置。如果你使用像 java+method://... 这样的逻辑位置,你必须先注册 m3 模型才能工作。这是 createM3FromEclipseProject 的标准副作用,但请检查 analysis::m3::Registry 以使这些位置解析为硬文件加上偏移量。