私は Java でソース コード エディター (Java ソース コード用) を作成しており、単純な構文の強調表示を追加したいと考えています (キーワードの独特な色付けで十分です)。助言がありますか?
6 に答える
のようなものJSyntaxPane
、おそらく?
いくつかの言語をサポートする JEditorKit を使用して拡張するのは非常に簡単です。主な目標は、構文の強調表示をサポートする見栄えの良い Java Swing エディターを簡単に作成できるようにすることです。
RSyntaxTextAreaはどうですか?変更された BSD ライセンスを使用します。
まず、一般的なパーサーを使用して、ソースから AST (抽象構文ツリー) を作成することを検討する必要があります。周りにはいくつかのツールがあります。最初に、インターネットをグーグルで検索するとjavaparserであることがわかりました。このパーサーは行番号と列も記録しているように見えるので、javaparser からの AST はエディターの優れたモデルになる可能性があります。
ツリーを処理し、AST ノード タイプの色を定義して出力するだけです。
既存のエディター(たとえば、Notepad ++- http: //notepad-plus.sourceforge.net/uk/site.htm)を調べて、ユーザー定義の構文の強調表示がどのように行われるかを確認したい場合があります(チェックするプラグインの1つ-Gmod 10 Lua構文ハイライト)。Java(および他の言語)も同様に行われることを賭けたいと思います...
Google のprettify.jsを確認してください。そこにはいくつかのかなり巧妙なトリックがあり、構文の強調表示についてより堅牢な感触が得られるかもしれません。
http://www.neathighlighter.com/は優れた JavaScript ハイライターです。