提问人:Nikolai 提问时间:6/13/2023 更新时间:7/6/2023 访问量:102
如何将 TM4E (TextMate) 连接到 eclipse?
how connect TM4E (TextMate) to eclipse?
问:
我想在我的eclipse插件中添加一些正则表达式突出显示语法的可能性。我了解到可以通过 eclipse 的 TM4E 实现。在哪里可以找到有关连接到 eclipse 的文档或教程?
Eclipse TM4E™ - Eclipse IDE 中的 TextMate 支持
我在任何地方寻找文档和教程,但没有给出结果。
答:
2赞
mami
6/21/2023
#1
首先,确保将 tm4 添加为项目的依赖项(编辑插件.xml依赖项)。
然后注册要突出显示的内容类型。将此添加到您的插件 .xml 中(该示例适用于 .asm 文件):
<extension
point="org.eclipse.core.contenttype.contentTypes">
<content-type
priority="normal"
id="tm4.asm"
name="Assembly file"
base-type="org.eclipse.core.runtime.text"
file-extensions="asm">
</content-type>
</extension>
然后添加 TextMate 语法。确保 scopeNameContentTypeBinding 内容类型 id 与内容类型的 id 匹配,并且作用域名称与语法的作用域名称匹配:
<extension
point="org.eclipse.tm4e.registry.grammars">
<grammar
path="/src/syntaxes/asm.tmLanguage.json"
scopeName="source.asm">
</grammar>
<scopeNameContentTypeBinding
contentTypeId="tm4.asm"
scopeName="source.asm">
</scopeNameContentTypeBinding>
</extension>
最后,将 TextMate 语法复制到正确的位置,在本例中为
/src/syntax/asm.tmLanguage.json
更新:
还要在语法中设置范围名称。同样,scopeName 应与 tm4e 扩展点中指定的名称匹配:
{
"scopeName": "source.asm",
"name": "ASM",
"fileTypes": [
"asm"
],
....
}
评论
0赞
Nikolai
7/3/2023
我已经按照你说的做了所有的事情。我创建了最简单的文本伴侣语法示例 [来源:pastebin.com/E8AzdWKd],并尝试通过这些代码行 [pastebin.com/n9QmbQbj] 在插件中连接此语法.xml。但是当我尝试启动我的插件时,我得到了 tm4e 的异常,例如 [没有为 <source.test> 提供语法]。我test.tmLanguage.json放在 src/syntax 中,我什至在二进制构建和源代码构建中添加了 src。它没有帮助。也许我做错了什么?我的build.properties看起来像[pastebin.com/8DquR8Ty]
0赞
mami
7/6/2023
我已经更新了我的答案,希望对您有所帮助。
评论