3.2. Notepad++的语法高亮

语法高亮,Syntax Highlight,也被叫做代码高亮

其实,其他很多文本编辑器也都支持此语法高亮功能,但是发现Notepad++支持的语言更多,更方便使用。

个人用过的,就有C,C++,Python,XML,HTML,xml,Javascript等,

甚至还支持一些相对很多人不是很常用的类型,比如makefile,tex/LaTex等。

而对于这些的支持,作为开发者的话,如果等你遇到了,有此需求了,就会发现,这些功能是多么有用。

3.2.1. 语法高亮的实现逻辑

Notepad++对于任何一个文件,想要实现对应的语法高亮的话,大概逻辑是:

先是根据该文件后缀,去判断该文件属于哪种类型的文件

然后再调用对应的语法高亮配置,给不同的关键字(和符合对应逻辑的代码),设置不同的属性,包括字体粗细,改变颜色等

最终得到我们所看到的语法高亮后的代码的效果。

因此,如果文件没有后缀,或者不支持该文件的后缀名,则Notepad++打开该文件后,也没法自动对其实现语法高亮。

比如对于一个文件,Makefile.mk,其是一个makefile文件,用Notepad++打开后,由于无法识别后缀,不知道是何种类型文件,所以无法语法高亮:

而如何对不支持的文件类型实现语法高亮,就是下面第 3.2.2 节 “实现未知类型(不支持的后缀名)的文件的语法高亮”要介绍的内容了。

3.2.2. 实现未知类型(不支持的后缀名)的文件的语法高亮

3.2.2.1. 通过手动设置语言,实现未知类型文件的语法高亮

语言(L)⇒M⇒Makefile:

即可看到语法高亮的效果了:

[注意] 注意
通过手动设置语言的方式实现语法高亮,只对当前打开的文件有效,关闭再打开,就失效了,就需要再手动操作一次,相对比较麻烦。推荐用下面的办法:第 3.2.2.2 节 “通过添加文件后缀名,实现未知类型文件的语法高亮”

3.2.2.2. 通过添加文件后缀名,实现未知类型文件的语法高亮

设置⇒语言格式设置⇒语言,选择Makefile

可以看到左下角有默认扩展名为mak,意思为,当Notepad++打开mak后缀的文件的时候,就识别为Makefile文件,调用Makefile的语法高亮设置,对此文件进行颜色设置。

对应的,想要支持mk后缀的Makefile文件的话,在自定义扩展名中,加上对应的mk

同样可以实现对于后缀名为mk的文件,去实现对应的Makefile的语法高亮的效果。

[提示] 提示

通过添加后缀名的方式,则可以实现之后的每次打开此后缀的文件名,都可以自动识别,并实现语法高亮的效果了。即一劳永逸的效果。

[注意] 注意
  • 不要将mk写成.mk*.mk

    添加自定义扩展名的时候,不需要加点".",也不需要加星号点"*.",否则是无法识别的。

  • 想要给自定义扩展名中,添加多个后缀名的话,经过测试,正确做法是:多个文件名后缀之间以空格区分:

    而不是(我)原以为的,分号";"或者冒号非分隔符":"。

3.2.3. 自定义语法高亮的颜色

对于语法高亮时显示的颜色,也可以自定义:设置⇒语言格式设置:

接下来,就可以根据自己需要配置不同的颜色了。