マーカーをクリックしたときにカスタムアクションを実行する必要があります。RelatedItemLineMarkerInfoからマウスクリックを聞くにはどうすればよいですか?
私は、チュートリアルに従って、
NavigationGutterIconBuilder<PsiElement> builder =
NavigationGutterIconBuilder.create(LessonScriptIcons.PUZZLE).
setTarget(this).
setTooltipText("Navigate to component");
RelatedItemLineMarkerInfo<PsiElement> m = builder.createLineMarkerInfo(this);
を試してみました。しかし、私は、マーカーのナビゲーションハンドラを取得、またはそれ以外の場合は、このマーカーのイベントを監視する方法を見つけ出すことはできません。 ( "this"要素の先頭に移動するカーソルは、やや望ましくないが、重要ではない重要な副作用です。
は、その後、私はこれを試してみました:
RelatedItemLineMarkerInfo marker = new RelatedItemLineMarkerInfo(this, getTextRange(), MyIcons.VOLUME, 0, tooltipProvider, handler, GutterIconRenderer.Alignment.CENTER, new ArrayList<GotoRelatedItem>());
このアプローチは、私は、マーカーのマウスクリックを聞くことができます。しかし今、私は特有の問題を経験しています。マークされたコード行が編集されるたびに、これは、溝の中に重複、三重などのマーカーをもたらします。
これを行う正しい方法は何ですか?