独自のテキストエディタでSyntax Coloring、Formatting、AutoComplete、Error-Markersを含むRCP 3.xでRCPアプリケーションを開発しました。自分のRCPアプリケーションのエディタで類似の単語をすべてハイライト表示するにはどうすればいいですか?
今、Mark Occurrences
を実装します。エディタで単語をクリックすると、似たような単語がすべて強調表示されます。これはJavaエディタに似ています。
アイデアはありますか? ありがとうございます。
これは私のコードの一部です:
public class MyEditor extends TextEditor {
String clickedWord = "";
@Override
protected void handleCursorPositionChanged() {
super.handleCursorPositionChanged();
try {
ISourceViewer viewer = getSourceViewer();
int caret = viewer.getTextWidget().getCaretOffset();
clickedWord = Utils.readWordAt(viewer, caret);
if (!clickedWord.trim().isEmpty()) {
Display.getDefault().asyncExec(new Runnable() {
@Override
public void run() {
highlightSimilarWords();
}
});
}
} catch (Exception e) {
}
}
private void highlightSimilarWords() {
ISourceViewer viewer = getSourceViewer();
IDocument document = viewer.getDocument();
String content = document.get();
Pattern p = Pattern.compile(clickedWord);
Matcher m = p.matcher(content);
while (m.find()) {
int offset = m.start();
int length = m.end() - m.start();
viewer.setSelectedRange(offset, length, false);
}
}
}
を助けるかもしれないカップルのプラグイン。あなたがこれまでに試したこととあなたが立ち往生した場所を教えてください。 –
Javaエディタは、このために注釈モデルで注釈を使用します。 –
[Javaエディタのソースコード](http://git.eclipse.org/c/jdt/eclipse.jdt.ui.git/tree/org.eclipse.jdt.junit/)を参照してください。 – howlger