我正在尝试开发一个小插件,它将执行一系列自动完成以及一些其他高级功能,以便创建一个原始IDE,以便与我们开发的自定义脚本语言一起使用。
所以我想知道,自动完成插件通常如何工作?我有一个基本的插件模板,我正在玩(C#one),我看到命令是如何工作的,无论如何从高层,但我想弄清楚如何创建我的自动完成功能。
我的第一个猜测是制作一个命令,它产生一个新线程,每100毫秒左右检索一次记事本++文本的全部内容,然后弹出一个小选择器框或直接写入自动完成的可能性,当在新输入的文本上匹配了正确的模式。
那些在我面前走过的人的智慧是什么?
非常感谢。
答案 0 :(得分:2)
好吧我明白了。显然,我下载的项目模板中有一个“beNotified”方法,它处理来自Scintilla / Notepad ++环境的所有事件/通知。每次将字符添加到GUI时,我可能会使用SCN_CHARADDED事件来检查当前文本行。