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

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

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

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

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

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

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

例子(在首选项中启用自动完成功能,选择 HTML 作为语言并输入字母):

在此处输入图片描述

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

事实上,默认 HTML API 文件的情况让我相信这是无法做到的,但如果是这样的话,为什么它会!doctype列在那里呢?

更新

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

答案1

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

我查看了 Notepad++ 的源代码,当它自动完成时,它会检查到单词您正在输入的内容。这意味着它仅检查字母数字字符和“_”。

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

相关内容