[英]How to create an Error Hover for Syntax Errors in a custom Eclipse Editor
[英]How to show syntax errors in an eclipse editor plugin
我如何在eclipse編輯器插件中指示語法錯誤(例如非法的令牌序列),就像在eclipse Java編輯器中一樣,即通過紅色蠕動下划線,滾動條上的紅色標記,您可以跳轉到,以及解釋性消息你徘徊在任何一個?
我正在為自定義文件格式(特別是Shark3D游戲引擎的“蛇文件格式”)編寫一個eclipse編輯器插件。 我已經實現了一個掃描儀來獲得語法高亮和一個大綱。
IToken
下划線” TextAttribute
的IToken
而不是正常的,或者是否有標記語法錯誤的特定機制? IAnnotationModel
在這里是相關的接口嗎? 如果是這樣,我在哪里注冊實現以便標記出現? SourceViewerConfiguration.getAnnotationHover()
,這將允許我實現懸停行為,但僅適用於“注釋”,我想這意味着滾動條標記 - 如何實現文本本身的懸停行為? 我會很高興具體的建議以及一個涵蓋這個的教程的URL - 日食幫助文檔和示例似乎沒有。
編輯:標記是最好的解決方案。 有關如何使用它們的工作示例可以在org.eclipse.ui.examples.readmetool.AddReadmeMarkerAction
中的插件示例代碼中找到。
你應該使用標記。
源自“Java開發人員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");
正確的方法是使用標記界面。
標記本質上是一種將標記對象映射到源代碼中的位置的模型,因此在多個文件中可能存在錯誤的情況下這是有意義的。 (參見IMarker界面)
如果您想要將標記添加到當前編輯器而不是所有項目,則使用Annotations可以選擇更便宜的選項,您可以自行添加刪除。
標記在UI中表示為注釋,但Eclipse會添加和刪除注釋本身。 通過直接注釋,您可以控制。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.