Notepad++ 中的大括号突出显示将字体更改为默认字体:如何修复?

Notepad++ 中的大括号突出显示将字体更改为默认字体:如何修复?

标题可能有点令人困惑,但问题就在这里。我使用 Notepad++ 进行编码,也用 Markdown 编写文档。出于某种原因,Markdown 不在“支持的语言”列表中,所以我创建了一种自定义语言,并将字体更改为 Arial,因为它对我来说更容易阅读。

但是现在,如果我在文本中使用括号,记事本会为我突出显示它们,并且在突出显示期间,它不仅会将它们变为红色,还会让他们成为信使。由于一些奇怪的字距调整问题,它还会使括号向下和向右移动 1-2 个像素,因为它们会瞬间改变字体,看起来很分散注意力。我想禁用此功能。让它们突出显示,当然,这没有问题,但我不想每次使用括号时它们都会从 Arial 到 Courier 再到 Arial 闪烁。

通常,要禁用此效果,我应该转到“样式配置器”;导航到“全局样式”,然后将“括号突出显示”的字体设置为“空”。这就是我所做的,但它似乎不起作用。字体名称设置为“”,字体大小设置为“”,粗体/斜体/下划线都未选中,但它仍然从 Arial 闪烁到 Courier。我检查了带有样式的 XML 文件,那里的字体值似乎真的是“=”(空),但它仍然闪烁。

我还寻找了一种方法来禁用自定义语言的括号突出显示,但找不到方法。

有什么建议么?

更新:这是我尝试过的另一种解决方案,但它不起作用(或者至少不容易起作用)。从菜单中似乎可以尝试在样式配置器中设置默认(全局)字体,然后为不同的语言指定不同的字体,但这是不可能的。这是我尝试过的:转到“样式配置器”,并将“默认样式”设置为“Arial”。现在我的 MD 是 Arial(很好),但我的代码也是 Arial(糟糕)。然后我转到其中一种语言(Python),并将“DEFAULT”样式的“字体名称”更改为“Courier New”。它改变了缩进和行距,但实际上并没有改变字体,因为看起来其他样式(STRING、NUMBER、COMMENTLINE 等)不会继承到 DEFAULT。

如果我手动将“Python”的所有样式更改为 Courier,它实际上似乎有效,所以从技术上讲这是一个可行的解决方案,但它非常尴尬,因为人们必须为他们使用的每种语言以及这种语言中的每种样式都这样做,而不是只为 Markdown 更改一次。

我现在想知道是否可以将 Markdown 集成到 Style Configurator 中。我是否应该直接在“stylers.XML”中描述它?还是太难了?

更新 2:另一个不起作用的选项:将一种语言添加到默认语言列表中(通过“langs.xml”),或劫持现有语言之一以使用“md”扩展名,将其设置为 Arial。添加不起作用,因为它根本不起作用。似乎语言列表是硬编码在记事本中的某个地方,然后才从 XML 上传。仅向 XML 添加新项目不会创建新语言。

有一种很好的“中性”语言,称为“normal”,其默认扩展名为“txt”,也非常适合托管“md”。可惜的是,它没有任何样式字段可供编辑,因此无法为其设置字体。

在“stylers.xml”中为“正常”语言添加默认样式不会改变任何内容;它只是被忽略了。

劫持列表中已有的正确语言也是行不通的,因为语言有各种为其定义的特殊字符,而且似乎无法编辑这些字符。您可以清除“lang.xml”中的所有关键字并更改注释符号,但它仍将数字和运算符作为特殊样式处理。最后,即使您手动将所有样式设置为“Arial,黑色”,它仍会在您键入时将括号闪烁。所以这也是一条死路。

还有谁有其他想法吗?

答案1

Notepad++ 提供了如此多的选项,可能很难找到在哪里设置它们。以下是一些设置字体和默认文件格式的地方,可能会有所帮助...如果它有效,请告诉我。

Preferences>中New Document,设置Default languageMarkdown默认语言

Preferences>中Highlighting,将Smart Highlighting>Enable和/或Highlight Matching Tags>设置Enable为未选中。 精彩比赛

正如您所提到的,在 中Style Configurator,您可以设置Global override字体和Brace highlight style字体。您可以专门将它们设置为 Arial,而不是留空。您还可以编辑造型师.xml* 手动。

样式配置器

*[顺便说一下,上面显示的 Inconsolata 有助于区分零和 O、L、I 和 1]

相关内容