Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java NetBeans语言支持:CTRL-S不';t保存文本文件更改_Java_Netbeans_Module_Programming Languages - Fatal编程技术网

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

Java NetBeans语言支持:CTRL-S不';t保存文本文件更改,java,netbeans,module,programming-languages,Java,Netbeans,Module,Programming Languages,问题 我一直在开发一个NetBeans模块,该模块支持两行元素数据格式的词法分析/解析(从这里开始称为“TLE文件”),如下所述: 每个TLE文件都遵循此基本格式,其中N=0-9、C='U'或'S'、A=A-Z、0-9、+/code>=''、'+'或'-',以及-='+'或'-'。所有其他字符(包括空格)必须完全相同,每行数据必须有69列: 1 NNNNNC NNNNNAAA NNNNN.NNNNNNNN +.NNNNNNNN +NNNNN-N +NNNNN-N N NNNNN 2 NNNNN

问题

我一直在开发一个NetBeans模块,该模块支持两行元素数据格式的词法分析/解析(从这里开始称为“TLE文件”),如下所述:

每个TLE文件都遵循此基本格式,其中
N
=0-9、
C
='U'或'S'、
A
=A-Z、0-9、
+/code>='
'、'+'或'-',以及
-
='+'或'-'。所有其他字符(包括空格)必须完全相同,每行数据必须有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
我的lexer和parser分别按照
org.netbeans.spi.lexer.lexer
org.netbeans.modules.parsing.spi.parser
实现。这两种方法都很有效,我得到了我最初打算创建的语法突出显示/错误更正,但有一个小问题仍然没有解决。在NetBeans文本编辑器中更改TLE文件时,无法使用CTRL-S键盘快捷键保存更改。相反,我必须选择“文件”-->“保存”。你知道为什么会这样吗

其他信息

  • 我正在使用模块的
    layer.xml
    config文件,使用
    languageProvider.instance
    标志向NetBeans注册我的自定义lexer/parser
  • 我正在使用
    org netbeans模块编辑器NbEditorKit
    作为我的语言编辑器
  • 到目前为止,我还没有向我的模块添加任何自定义操作

  • 诚然,我对NetBeans模块的开发非常陌生,所以我不能100%确定需要什么信息来解决这个问题。如果您认为需要更多信息,请务必告诉我,我会将其添加到此处。

    我想出来了。答案相对简单。我所要做的就是将以下基本级别的
    文件夹
    条目添加到由模块的
    layer.xml
    文件定义的文件系统中:

    <folder name="Shortcuts">
        <file name="D-S.shadow">
            <attr name="originalFile" stringvalue="Actions/System/org-openide-actions-SaveAction.instance"/>
        </file>
    </folder>