3.8. Notepad++的自动完成

优质
小牛编辑
129浏览
2023-12-01

设置(T) ⇒ 首选项... ⇒ 备份 ⇒ 备份与自动完成 ⇒ 自动完成 ⇒ 勾选 "所有输入均启用自动完成","函数自动完成","输入时提示函数参数"

我之前所用过的自动完成功能,至少包括:

  • docbook的自动完成的支持。各种标签(docbook中称为元素)的自动完成:

  • python的自动完成的支持,包括函数和库:

  • php中可以自动完成函数:

    还有函数参数提示:

此自动完成的好处,还是很明显的:

至少不用让你完全记住每种语言的所有函数(关键字)的全部单词,只需要写出部分字母

剩下的字母就可以通过Notepad++帮你自动匹配,就可以通过上下键选择所需项,然后按Tab,实现自动补全了。

就不用全部一个个字母的输入了,还是很方便使用的。

Notepad++自动完成功能内在实现的逻辑

之前没太注意,所以也不太清楚,对于此自动完成的功能,到底是如何实现的,或者说,想要搞懂,Notepad++实现自动完成的大概逻辑是什么样的。

后来,才大概想明白:

因为在Notepad++在安装过程中,有个选项:Notepad++安装选项:Auto Complete Files

就是指的是自动完成的功能,需要支持哪些类型的文件。

此处,应该就是会去安装对应的数据库,然后对于打开的文件,通过文件名后缀(或者文件头的声明等),识别出当前文件的语言,比如c,Python,Docbook等,

之后,再根据当前所输入的字符,动态匹配当前语言的自动完成所涉及的数据库,显示出所匹配的函数,以及函数提示等。

至此,才清楚,其大概实现逻辑。

3.8.1. Notepad++的单词自动完成

之前,是知道了有函数自动完成。不过后来,在折腾Sublime

【xnip推荐】一款相对不错的文本编辑器:Sublime Text 2

的过程中,发现其中有个很好用的功能:文件内的,函数,变量等内容的,自动完成。

之前不知道这个就个东东叫做,单词自动完成,现在才知道。

然后后来也发现了,Notepad++中,有个自动完成:

设置(T) ⇒ 首选项... ⇒ 备份 ⇒ 备份与自动完成 ⇒ 自动完成 ⇒ 勾选 "所有输入均启用自动完成","单词自动完成"

但是,由于当前所用的6.2.3中的版本的单次自动完成有bug,无法正常显示列表:

#4056 Word auto-completion is not working in NP++ 6.1.6 or late

使得无法使用。

但是巧的是,Notepad++最近又发布了6.2.3的版本,修复了此bug,所以,刚去更新了最新6.2.3,然后就可以实现单词的自动完成的效果了:

比如某个Python文件内的变量的自动完成:

比如当前文件内部的,汉字都可以自动完成的: