使用位置数据类型转到 Eclipse 中的文件

go to file in eclipse by using location datatype

单击 eclipse 输出 window 中的位置类型时,您可以转到该文件(位置)。 我希望能够用 rascal 中的方法触发它。

所以要清楚,我有一个java方法的位置,我想通过rascal触发eclipse来关注这个文件。

您正在 util::ValueUI 寻找 openEditor

import util::ValueUI;,再试

openEditor(|project://rascal/src/org/rascalmpl/library/Map.rsc|);

Map 模块的编辑器将打开。

看看 util::Editors 模块。它包含一个编辑功能,可以使用相关编辑器打开您传递给它的任何文件,并带有可选的突出显示。

请注意,如果您有像 java+method://... 这样的逻辑位置,则必须使用 IO:resolveLocation 在 m3 模型中查找该方法的实际物理位置,然后使用它。例如:

rascal>import IO;
ok
rascal>resolveLocation(|java+method:///io/usethesource/impulse/language/LanguageRegistry/IMPFileEditorMapping/setTheDefaultEditor(org.eclipse.ui.IEditorDescriptor)|)
loc: |project://impulse/src/io/usethesource/impulse/language/LanguageRegistry.java|(15638,134,<433,8>,<436,9>)
rascal>openEditor(resolveLocation(|java+method:///io/usethesource/impulse/language/LanguageRegistry/IMPFileEditorMapping/setTheDefaultEditor(org.eclipse.ui.IEditorDescriptor)|))