0

問題

ここで説明するように、Two Line Element データ形式 (ここからは「TLE ファイル」と呼びます) の字句解析/解析をサポートする NetBeans モジュールに取り組んできました。

http://www.celestrak.com/columns/v04n03/

各 TLE ファイルは、次の基本形式に従います。ここで、N=0-9、C='U' または 'S'、A=aZ、0-9、+= ' '、'+'、または '-'、および-= '+' または '- '。空白を含む他のすべての文字は正確に同じである必要があり、データの各行には正確に 69 列が含まれている必要があります。

1 NNNNNC NNNNNAAA NNNNN.NNNNNNNN +.NNNNNNNN +NNNNN-N +NNNNN-N N NNNNN
2 NNNNN NNN.NNNN NNN.NNNN NNNNNNN NNN.NNNN NNN.NNNN NN.NNNNNNNNNNNNNN

私のレクサーとパーサーは、それぞれ と で実装されてorg.netbeans.spi.lexer.Lexerorg.netbeans.modules.parsing.spi.Parserます。どちらもうまく機能し、最初に作成しようとしていた構文の強調表示/エラー修正を取得できますが、1 つの小さな問題がまだわかりません。NetBeans テキスト エディタで TLE ファイルを変更すると、キーボード ショートカットのCTRL-を使用して変更を保存できません。S代わりに、「ファイル」->「保存」を選択する必要があります。これがなぜなのかについてのアイデアはありますか?

追加情報

  1. モジュールの構成ファイルを使用して、フラグlayer.xmlを使用してカスタム lexer/parser を NetBeans に登録しています。languageProvider.instance
  2. 私はorg-netbeans-modules-editor-NbEditorKit自分の言語のエディターとして使用しています。
  3. この時点まで、モジュールにカスタム アクションを追加していません。

確かに、私は NetBeans モジュールの開発に非常に慣れていないので、この問題を解決するためにどのような情報が必要になるか 100% 確信が持てません。さらに情報が必要だと思われる場合はお知らせください。ここに追加します。

4

1 に答える 1

1

私はそれを考え出した。答えは比較的簡単でした。モジュールのファイルで定義されたファイルシステムに、次の基本レベルのfolderエントリを追加するだけで済みました。layer.xml

<folder name="Shortcuts">
    <file name="D-S.shadow">
        <attr name="originalFile" stringvalue="Actions/System/org-openide-actions-SaveAction.instance"/>
    </file>
</folder>
于 2012-11-29T20:08:06.650 に答える