如何为 PHP 函数添加颜色高亮?

如何为 PHP 函数添加颜色高亮?

我最近开始使用 Notepad++,发现它的某些样式功能让我感到困惑。

我目前正在尝试为 PHP 的所有已定义函数(例如 count()、strlen() 等)添加颜色。在“设置”->“样式配置器”中,您无法为此类函数列表添加新样式。相反,我已经开始编辑样式器.xml语言文件

要添加新颜色,语言文件,我修改了php部分如下:

<Language name="php" ext="php php3 phtml" commentLine="//" commentStart="/*" commentEnd="*/">
    <Keywords name="instre1">[default keywords]</Keywords>
    <Keywords name="instre2">[my function list]</Keywords>
</Language>

[default keywords][my function list]替换为单词列表。

我还编辑了 php 部分样式器.xml如下所示:

<LexerType name="php" desc="php" ext="">
    <WordsStyle name="QUESTION MARK" styleID="18" fgColor="FF0000" bgColor="FDF8E3" fontName="" fontStyle="0" fontSize="" />
    <WordsStyle name="DEFAULT" styleID="118" fgColor="000000" bgColor="FEFCF5" fontName="" fontStyle="0" fontSize="" />
    <WordsStyle name="STRING" styleID="119" fgColor="FF0000" bgColor="FEFCF5" fontName="" fontStyle="0" fontSize="" />
    <WordsStyle name="STRING VARIABLE" styleID="126" fgColor="FF0000" bgColor="FEFCF5" fontName="" fontStyle="1" fontSize="" />
    <WordsStyle name="SIMPLESTRING" styleID="120" fgColor="FF0000" bgColor="FEFCF5" fontName="" fontStyle="0" fontSize="" />
    <WordsStyle name="WORD" styleID="121" fgColor="008040" bgColor="FEFCF5" fontName="" fontStyle="1" fontSize="" keywordClass="instre1">True False</WordsStyle>
    <WordsStyle name="NUMBER" styleID="122" fgColor="FF0000" bgColor="FEFCF5" fontName="" fontStyle="0" fontSize="" />
    <WordsStyle name="VARIABLE" styleID="123" fgColor="0080FF" bgColor="FEFCF5" fontName="" fontStyle="0" fontSize="" />
    <WordsStyle name="COMMENT" styleID="124" fgColor="FF8040" bgColor="FEFCF5" fontName="" fontStyle="0" fontSize="" />
    <WordsStyle name="COMMENTLINE" styleID="125" fgColor="FF8040" bgColor="FEFCF5" fontName="" fontStyle="0" fontSize="" />
    <WordsStyle name="OPERATOR" styleID="127" fgColor="8000FF" bgColor="FEFCF5" fontName="" fontStyle="0" fontSize="" />
    <WordsStyle name="FUNCTIONS" styleID="128" fgColor="000080" bgColor="FEFCF5" fontName="" fontStyle="1" fontSize="" keywordClass="instre2"></WordsStyle>
</LexerType>

改变的部分是最后一行“FUNCTIONS”。


当我重新启动 Notepad++ 并进入“设置”->“样式配置器”部分时,在 php 语言下,FUNCTIONS 样式存在。我可以更改样式的颜色,并且可以在“默认关键字”下看到整个关键字列表。然而,它并没有改变我的代码中的单词的颜色。

当我编辑包含“if”、“and”和“true”等内容的 WORD 样式时,我的代码中的内容会相应地发生变化。

关于如何实现这个功能你有什么想法吗?

答案1

我遇到了同样的问题。目前似乎没有解决方案。

该问题与 notepad++ 无关,而是与 Scintilla 项目有关。

它描述了这里

还指出创意流

看来我们必须等待 Scintilla 的更新。

相关内容