Notepad++ 用户定义语言文件中的特殊字符

Jam*_*ice 7 notepad++

在编写 HTML 文件时,我使用 Notepad++ 作为我的主要编辑器。html.xml为 HTML 文件定义自动完成规则的默认API 文件总是让我烦恼,因为它充满了旧的/过时的/无效的标签名称。为了解决这个问题,我试图为有效的 HTML5 创建一个新的 API 文件。

问题之一是编辑器似乎无法识别非字母数字字符(您可以在默认的 HTML 自动完成文件中看到这样的一个实例 - 它定义了!doctype但您永远无法显示,因为编辑器没有似乎喜欢这个!角色)。

我曾尝试用转义版本(例如!感叹号)替换有问题的字符,但这似乎没有什么区别。

所以我的问题是,有没有办法让 Notepad++ 用户定义语言文件识别非字母数字字符?

(另一个问题是这个问题应该在这里问还是在 StackOverflow 上问......我把它贴在这里是因为它并没有真正询问任何关于编程的问题。更多的是关于编程工具的使用。)

示例(在首选项中启用自动完成,选择 HTML 作为语言并键入一个字母):

在此处输入图片说明

删除您刚刚键入的字母,然后键入感叹号。不会弹出自动完成选择,即使您滚动到它的顶部(当它为其他字符打开时)第一个条目是!doctype.

默认 HTML API 文件就是这种情况的事实让我相信它无法完成,但如果是这种情况,为什么要!doctype在那里列出?

更新

我还尝试将 API 文件中的默认编码从Windows-1252to UTF-8(和其他一些)更改为(和其他一些),并将测试文件中的编码更改为匹配(在编码菜单中),但这似乎没有区别。

小智 5

不幸的是没有办法,因为 Notepad++ 就是这样实现的。

我查看了 Notepad++ 的源代码,当它自动完成时,它会检查回您输入的单词的开头。这意味着它只检查字母数字字符和“_”。

因此,如果您键入“!d”并点击CTRL+Space以激活自动完成下拉菜单,它将向后解析您的字符串,并在“!”处停止。因为那不是字母数字,也不是“_”。因此,它会显示以“d”开头的单词。