1

コード補完機能をCodeMirrorベースのxmlエディターに統合したいと思います。基本的に、xmlファイルのスキーマを解析し、スキーマとその構造に従ってコード補完を提供します。しかし、私には何とかできなかったことがあります。たとえば、カーソルがxmlタグ内の場所に移動した場合、コード補完はそれに応じて動作する必要があります。カーソルがタグなどの中にあることを認識している必要があります。どうすればよいですか?

コードミラーのXMLパーサーは、カーソル位置のセマンティック位置についての手がかりを与える可能性があると思います。それは可能ですか?

または、カーソル位置を分析してそれに応じて動作する一般的な方法はありますか?

前もって感謝します。

4

1 に答える 1

2

CodeMirror 2 を使用している場合は、特定の位置でパーサーの状態を分析できる getTokenAt メソッドがあります。これは、 http: //codemirror.net/2/demo/complete.html でローカル JavaScript 変数をオートコンプリートするために使用されていることがわかります。XML パーサーの場合、状態の context プロパティを調べることができます。これはオブジェクトのリンク リストであり、それぞれが tagName プロパティと、その上のコンテキストにリンクする prev プロパティを含んでいます。

于 2011-02-23T20:58:36.710 に答える