【问题标题】:Eclipse plugin to remove validation from existing editor从现有编辑器中删除验证的 Eclipse 插件
【发布时间】:2019-01-17 05:39:25
【问题描述】:

我正在创建一个 Eclipse RCP 应用程序,它处理与 HTML 非常相似的自定义文件格式,因此在大多数情况下,我可以使用 Eclipse 附带的常规 HTML 编辑器来利用其语法高亮和内容等功能帮助,但这种自定义格式包含一些在 HTML 中无效的字符/标签,例如 <#= my text #>,因此在将其添加到文件时,如下行:

<body><#= my text #></body>

编辑器的验证器会显示这个错误:

Invalid character used in text string (<#= my text #>).

所以我想知道是否可以修改现有编辑器/验证器的行为以删除某些特定验证并添加其他验证。

【问题讨论】:

  • 这种文件也用.html吗?
  • 不,这是一个自定义扩展,我添加了代码将该扩展链接到 HTML 编辑器,因此默认情况下它是打开的

标签: java eclipse-plugin eclipse-rcp


【解决方案1】:

是的,虽然这听起来像是理想情况下从 JSP 编辑器的一个分支开始,从它的解析器一直向上......

如果您使用 org.eclipse.core.contenttype.contentTypes 扩展点(使用您的新文件扩展名)定义了一个新的内容类型,然后为源验证扩展点 org.eclipse.wst.sse.ui.sourcevalidation 提供一个验证器,明确地为您的内容类型,HTML 验证器应该跳过为您的内容类型定义的更具体的内容。 https://github.com/eclipse/webtools.sourceediting/blob/0c532000ad09e53c9fb8ddfb1c3f1def983f57c0/core/bundles/org.eclipse.wst.sse.ui/src/org/eclipse/wst/sse/ui/internal/reconcile/DocumentRegionProcessor.java#L266 显示它在哪里寻找特定于内容类型的验证器,并且比它在基本(不太具体)内容类型中定义的任何验证器更喜欢那些。

【讨论】:

  • 这真是个好主意,我不知道你可以这样覆盖验证器
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-09
  • 1970-01-01
  • 2014-10-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-05-04
相关资源
最近更新 更多