NetBeans语言支持:CTRL-S不保存文本文件更改

时间:2012-11-29 17:31:27

标签: java netbeans module programming-languages

问题

我一直在研究NetBeans模块,该模块支持双线元素数据格式的lexing / parsing(从此处开始称为“TLE文件”),如下所述:

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

每个TLE文件都遵循以下基本格式:N = 0-9,C ='U'或'S',A = aZ,0-9,{{1 }} ='+','+'或' - ', ='+'或' - '。所有其他字符(包括空格)必须完全相同,并且每行数据必须包含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.Lexer实现。两者都很好用,我得到了我最初创建的语法高亮/错误修正,但是一个小问题仍然没有找到我。当我在NetBeans文本编辑器中更改TLE文件时,我无法使用 CTRL - S 键盘快捷键来保存更改。相反,我必须选择“文件” - > “保存”。关于为什么会出现这种情况的任何想法?

其他信息

  1. 我正在使用我的模块的org.netbeans.modules.parsing.spi.Parser配置文件,使用layer.xml标志向NetBeans注册我的自定义词法分析器/解析器。
  2. 我正在使用languageProvider.instance作为我的语言编辑。
  3. 到目前为止,我已 为我的模块添加了任何自定义操作。
  4. 我无疑是NetBeans模块开发的新手,因此我不能100%确定解决此问题可能需要哪些信息。如果您认为需要更多信息,请告诉我,我会在此处添加。

1 个答案:

答案 0 :(得分: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>