如何在 Scintilla 中隐藏换行符?
Posted
技术标签:
【中文标题】如何在 Scintilla 中隐藏换行符?【英文标题】:How to hide new-line characters in Scintilla? 【发布时间】:2012-11-10 14:41:29 【问题描述】:我正在为基于 Scintilla 的编辑器创建一个深色主题。我已经成功地定义了所有我想要的样式,除了行尾。换句话说,尽管我的编辑器中的所有文本都显示在深色背景上,但在每一行的末尾都有一个白色填充的小矩形。
我相信这个矩形与换行符有关,因为即使是空行也有它。但没有显示其他控制字符。
那么,我怎样才能摆脱这个白色矩形呢?
我尝试将 ControlCharSymbol 更改为其他值(低于或高于 0x20)但没有结果。
注意:我刚刚注意到,如果将空格和制表符设置为不可见,也会出现同样的情况。如果它们设置为可见,则 Scintilla 将它们显示为“.”。和 '--->' 使用我定义的颜色。
【问题讨论】:
【参考方案1】:如果您已经为词法分析器定义的所有样式设置了背景,您也可以尝试将setting the background 设置为STYLE_DEFAULT。
如果这不起作用,可以使用SCI_SETWHITESPACEBACK 为所有空白全局设置背景。
【讨论】:
SCI_SETWHITESPACEBACK (与具有相同默认背景值的 SCI_SETWHITESPACEFORE 一起)用于隐藏空白。但是每行末尾的小矩形仍然可见。 @Alex。嗯,好奇。我根本无法重现。你用的是什么词法分析器?如果您使用不同的 eol 模式,您会得到相同的结果吗? 你是对的。使用 STYLE_DEFAULT 后跟 SCI_STYLECLEARALL 将所有样式设置为默认值。然后我只需要更改我真正想要的样式。谢谢!以上是关于如何在 Scintilla 中隐藏换行符?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Windows 窗体 C# 中为文本框设置 Scintilla