以下に記述されたコードによって、日食の垂直定規にマーカーを追加しています。問題は、同じエディターの行に複数のマーカーがある場合、それらのメッセージが、エディターの垂直ルーラー上のホバー ポップアップに 1 行 (連結) で表示されることです。このようなメッセージのフォーマットは、エンド ユーザーが 1 つのメッセージがいつ終了し、別のメッセージが開始するかを理解できないため、ユーザー フレンドリーではありません。Eclipse の Java エディターでは、エディターの同じ行にあるマルチマーカーで、マーカーのメッセージが垂直ルーラー ホバー ポップアップで異なる行に分割されます。
マーカーがエディター行の同じコード行から発行された場合、verticalRuler ホバー ポップアップ内の別々の行に異なるマーカー メッセージを配置する方法は?
よろしくお願いいたします。
try {
final IMarker marker = file.createMarker(MARKER_TYPE);
marker.setAttribute(IMarker.MESSAGE, issue.getMessage());
marker.setAttribute(IMarker.SEVERITY, issue.getSeverity().ordinal());
int lineNumber = issue.getLine();
if (lineNumber == -1) {
lineNumber = 1;
}
marker.setAttribute(IMarker.LINE_NUMBER, lineNumber);
marker.setAttribute(IMarker.LOCATION, MessageFormat.format(Messages.FILE_TYPE_PLACEHOLDER, Integer.toString(lineNumber)));
marker.setAttribute(IMarker.CHAR_START, issue.getOffset());
int charEnd = issue.getOffset() + issue.getLength();
final String sourceStr = mEditor.getDocumentProvider().getDocument(mEditor.getEditorInput()).get();
if (charEnd > sourceStr.length()) {
charEnd = -1;
}
marker.setAttribute(IMarker.CHAR_END, charEnd);
} catch (CoreException e) {
Activator.getEditorLog().logError("Could not add marker", e); //$NON-NLS-1$
}