所以我在Notepad ++中创建了一个用户定义的语言来组织一个写作项目。我知道如何进行代码折叠,并且在过去的几个月中它运行良好。问题在于,最近,代码折叠功能与打开和关闭标记的实际位置相差几行。 E.g:
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行。所以当我去折叠块时,它折叠的不仅仅是我所包含的部分,甚至是遮挡下一个块的开头,在某些情况下阻止我再次打开块而不禁用语言文件。如果我在关闭标记之前输入几个空白行,它将重置为应该如何,但如果我实际折叠任何块或者如果我在Notepad ++中切换到另一个文档,则会再次中断。
我无法在其他地方找到此错误的任何文档。 我写的文本文件是几百千字节,大约2000行,关联的语言文件有超过1500个定义的关键字。这仅仅是Notepad ++无法处理这么多格式的情况吗?
问题的另一个可能来源是,几天前我简单地检查了一下,然后取消选中"折叠紧凑(折空线)" “用户定义语言”对话框的“文件夹”页面上的复选框,以查看它将执行的操作,因为我找不到有关它的功能的文档。这是关于问题何时开始 - 但此后复选框已取消选中,错误仍然存在。
答案 0 :(得分:1)
如果定义了任何分隔符或运算符,则可能导致代码折叠偏移。
当分隔符的打开和关闭都出现在同一行时,似乎只存在错误。在我的UDL中,我定义了" .sig"作为我的开放分隔符和" nal"为了突出显示" .signal"。每次使用" .signal"在我的代码中,我的代码折叠从关闭位置向下移动了1行,这导致我的折叠成为障碍而不是帮助。
在一个稍微相关的问题上,如果你想突出显示" .signal"或类似的东西,这可以通过制作"。"您的运营商1和"信号"你的运营商2.