如何在 Eclipse 编辑器插件中显示语法错误

2024-01-19

如何在 Eclipse 编辑器插件中指示语法错误(例如,非法的标记序列),就像在 Eclipse Java 编辑器中一样,即通过红色蠕动下划线、滚动条上可以跳转到的红色标记以及解释性消息您将鼠标悬停在其中一个上吗?

我正在为自定义文件格式(特别是 Shark3D 游戏引擎的“蛇文件格式”)编写一个 Eclipse 编辑器插件。我已经实现了一个扫描仪来获取语法突出显示和大纲。

  • 对于下划线,我是否只需让扫描仪返回一个IToken带有“蠕动的下划线”TextAttribute而不是普通的,或者是否有一种特定的机制来标记语法错误?
  • 如何实现滚动条标记?是IAnnotationModel相关接口在这里?如果是这样,我在哪里注册实现以便标记出现?
  • 我只找到了SourceViewerConfiguration.getAnnotationHover(),这将允许我实现悬停行为,但仅限于“注释”,我认为这意味着滚动条标记 - 如何实现文本本身的悬停行为?

我很乐意提供具体的建议以及涵盖此内容的教程的 URL - Eclipse 帮助文档和示例似乎没有。

Edit:标记是最好的解决方案。有关如何使用它们的工作示例可以在插件示例代码中找到org.eclipse.ui.examples.readmetool.AddReadmeMarkerAction


您应该使用标记。

源自“The Java Developer's Guide to Eclipse”的示例如下:

<extension point="org.eclipse.core.resources.markers"  
            id="snakesyntax"  
            name="Snake syntax error">  
    <super type="org.eclipse.core.resources.problemmarker" />  
    <super type="org.eclipse.core.resources.textmarker" />  
    <persistent value="true" />
<extension>

IMarker marker = res.createMarker("com.ibm.tool.resources.snakesyntax");

marker.setAttribute(IMarker.SEVERITY, 0);
marker.setAttribute(IMarker.CHAR_START, startOfSyntaxError);
marker.setAttribute(IMarker.CHAR_END, endOfSyntaxError);
marker.setAttribute(IMarker.LOCATION, "Snake file");
marker.setAttribute(IMarker.MESSAGE, "Syntax error");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Eclipse 编辑器插件中显示语法错误 的相关文章

随机推荐

  • 在 Rails 3 中从 application.js 访问 current_user 变量

    我希望从 application js 访问 current user 变量 我将 application js 重命名为 application js erb 以便服务器可以理解我的 ruby 代码 所以我得到了类似的内容 functio
  • 在单行 CSS 中添加 // 作为个人注释样式是一种不好的做法吗?

    我最近开始使用 注释 单行 CSS 代码 我知道我实际上并没有注释掉该行 我只是打破它 我应该使用 但效果是一样的 然后该行终止于 并且以下代码工作正常 我可以删除它 但通常我不喜欢这样做 以防万一我想稍后将其放回去 或者如果我回来查看我一
  • 模糊滤镜在 HTML5 Kinetic.Filters.Blur 中如何工作

    如何在 HTML5 中使用模糊滤镜 我发现这个 Kinetic Filters Blur imageData config 及参数 imageData Object config Object config radius Integer 用
  • 如何解析MultipartFormDataContent

    我正在编写一个 Web API 服务 我想在其中接受一个文件 图像 和一个包含图像关键信息的序列化对象 JSON 图像部分没有问题 但是当我添加包含反序列化对象的字符串内容时 我在尝试确定哪个是哪个并采取相应行动时遇到问题 客户端代码如下所
  • 如何在 pandas 中创建叠加条形图

    在更新我之前的一些代码以使用 pandas DataFrame 时 我遇到了以下问题 这是我的原始代码将创建的参考图 import pandas as pd import matplotlib pyplot as plt a range 1
  • 获取 CGEvent Tap 中按下的修改键

    设置事件点击后 我无法识别在给定 CGEvent 的情况下按下了哪个修饰键 CGEventFlags flagsP flagsP CGEventGetFlags event NSLog flags 0x llX flagsP NSLog s
  • 如何消除 php5 Strict 标准错误?

    将 PHP 升级到 5 4 3 WAMP 服务器 2 2 后 我用 CakePHP 1 3 制作的 Web 应用程序在索引中显示以下错误 严格标准 重新定义类的已定义构造函数 第 63 行 C cake cake libs object p
  • sql查询不打印

    我正在尝试运行动态查询 但由于某些奇怪的原因它没有运行 它甚至没有打印 请任何人告诉我为什么下面的动态查询不打印 DECLARE CLIENTPK NEW AS VARCHAR 50 DECLARE CGNEEPK AS VARCHAR 5
  • 弹簧动态注入,工厂化模式

    延续自依赖注入 延迟注入实践 https stackoverflow com questions 10384473 dependency injection delayed injection praxis 10414747 我有主课 pa
  • 如何在 Maven-3 下使用 MOXy 从 XSD 生成 Java?

    在 Maven 3 下使用 MOXy 从 XSD 生成 Java 的最简单 最好的方法是什么 参考 JAXB 接口有一个很好的 Maven 插件 但它似乎不支持 MOXy 有人有什么具体的可以提供吗 我知道我可以编写 ant 脚本 或者插件
  • 使用动态 SQL ALTER USER 查询预防 SQL 注入

    这是防止动态 sql alter user 查询中的 sql 注入的好方法吗 BEGIN z ident DBMS ASSERT ENQUOTE NAME ident z pass DBMS ASSERT ENQUOTE NAME pass
  • 如何将 jquery ui 小部件嵌入到polymer-dart web 组件中

    我尝试嵌入一个 jquery ui 小部件 例如将日期选择器集成到聚合物飞镖网络组件中 Web 组件的定义如下
  • 带引号的批处理路径

    如何检查路径是否有引号 如果没有则添加它 我知道我可以做这样的事情 set p path My path path 但我在引用时遇到问题 C My folder gt path gt C My folder gt Good 如果用户输入带引
  • GPUImage 色度键滤镜

    我正在尝试使用 GPUImage 框架的色键过滤器 我按照 Filtershowcase 示例进行操作 但显然我错过了一些东西 因为它只显示视频 但没有绿屏抠出效果 这是我对摄像机 滤镜的初始化 camera GPUImageStillCa
  • 检测多 SIM 设备中来电的目标 SimCard

    我读过很多帖子并尝试过很多解决方案 但所有帖子的共同点是它们都已经过时了 至少我找不到适用于较新版本的 Android 的解决方案 Post 1 https stackoverflow com a 21454296 6444297 结果 i
  • 以 DRY 方式扩展 SLICK 表

    我有一个关于 Slick Scala 的有趣问题 我希望你们中的一位好心人能够帮助我 我有几个表 并通过扩展在 SLICK 案例类中 case class A case class B case class C 共享这些共同领域 id St
  • 使用Jquery查找父div的id

    我有一些像这样的html div p Volume p div
  • Rails - 操作电缆上的服务器阻塞

    我有一个在开发中完美运行的 Rails 应用程序 我已部署到服务器 应用程序加载并正确显示其登陆和关于页面 但是 当我使用 Action Cable 访问页面时 服务器会阻塞 从网页发出的最后一个请求与 Action Cable 相关 并且
  • Android 中背景为 AnimationDrawable 的按钮状态

    我在 Android 中制作自定义按钮已经有一段时间了 事情很简单 只需为按钮状态制作图像资源并为其制作一个选择器 一切都很顺利而且美好 现在我遇到了新的情况 我制作了一个可绘制的动画并将其设置为按钮的背景
  • 如何在 Eclipse 编辑器插件中显示语法错误

    如何在 Eclipse 编辑器插件中指示语法错误 例如 非法的标记序列 就像在 Eclipse Java 编辑器中一样 即通过红色蠕动下划线 滚动条上可以跳转到的红色标记以及解释性消息您将鼠标悬停在其中一个上吗 我正在为自定义文件格式 特别