Notepad++ 记事本++;代码折叠打开和关闭被多行错误定位

Notepad++ 记事本++;代码折叠打开和关闭被多行错误定位,notepad++,code-formatting,code-folding,Notepad++,Code Formatting,Code Folding,所以我用Notepad++编写了一个用户定义的语言来组织一个写作项目。我知道如何进行代码折叠,在过去的几个月里,它工作得很好。问题是,最近,代码折叠功能与打开和关闭标记的实际位置相差几行。例如: 01 02 03 { the sea of time 04 some 05 events 06 that 07 are 08 happening 09 } 10 11 {和}用于打开和关闭折叠块。但是实际的功能使得Notepad++UI中的打开和关闭按钮可能出现在第01行和第10行,或者第01行

所以我用Notepad++编写了一个用户定义的语言来组织一个写作项目。我知道如何进行代码折叠,在过去的几个月里,它工作得很好。问题是,最近,代码折叠功能与打开和关闭标记的实际位置相差几行。例如:

01
02
03 { the sea of time
04 some
05 events
06 that 
07 are 
08 happening 
09 }
10
11
{和}用于打开和关闭折叠块。但是实际的功能使得Notepad++UI中的打开和关闭按钮可能出现在第01行和第10行,或者第01行和第11行。因此,当我去折叠块时,它折叠的不仅仅是我封闭的部分,甚至遮住了下一个块的开头,在某些情况下阻止我在不禁用语言文件的情况下再次打开块。如果我在关闭标记前输入几行空白,它将重置为应该的状态,但如果我实际折叠任何块或切换到记事本++中的另一个文档,它将再次中断

我无法在其他地方找到有关此错误的任何文档。 我正在编写的文本文件有几百KB,大约2000行长,关联的语言文件有1500多个定义的关键字。这只是记事本++无法处理这么多格式的一个例子吗


问题的另一个可能来源是,几天前,我在“用户定义语言”对话框的“文件夹”页面上短暂选中并取消选中了“折叠压缩(折叠空行)”复选框,以查看它会做什么,因为我找不到关于它做什么的文档。这大概是问题开始时的情况-但此后该复选框一直未选中,错误仍然存在。

如果定义了任何分隔符或运算符,这可能会导致代码折叠偏移

仅当分隔符的“打开”和“关闭”显示在同一行时,该错误才会出现。在我的UDL中,为了突出显示“.sig”,我将“.sig”定义为打开分隔符,“nal”定义为关闭分隔符。在我的代码中,每次使用“.signal”,我的代码折叠都会从结束位置向下移动1行,这导致我的折叠成为一种阻碍而不是帮助


在一个稍微相关的问题中,如果要突出显示“.signal”或类似的内容,可以通过将“.”作为运算符1,将“signal”作为运算符2来实现

好吧,如果它以前工作过,为了解决您的问题,卸载n++并重新安装它,然后安装您的语言……或者将n++降级到它工作的旧版本。我首先做的是导出该语言,将其从n++中删除,然后重新导入,这并没有解决问题,现在它不在用户定义的语言列表中。因此,我将尝试这些选项。编辑:从那时到现在,我没有更新过n++,所以我认为降级不会改变任何事情。我只是更新了它的最新版本,问题没有解决,所以我在路上完全卸载。不,仍然不起作用。卸载、重新安装、折叠标记仍未对齐。用户定义语言的早期版本在应用时也不能正常工作,其XML数据几乎要小十倍。我正在使用一个自定义扩展,如果这有什么不同的话。我也有同样的问题,请尝试“编辑”下的“下线转换”,然后选择“Windows”,为我清除它