2

我目前正在使用 QScintilla 开发自己的代码编辑器。QScintilla 已经提供了自动完成和呼叫提示功能。我想要的是摆脱自动完成弹出小部件,检索它获得的列表,用我自己的小部件解析和显示它们。所以这就是我所拥有的:

//disable the autocompletion feature:
QsciScintilla::setAutoCompletionSource( QsciScintilla::AcsNone);

//use this function call to get the list from api class:
void updateAutoCompletionList (const QStringList &context, QStringList &list)

问题是,updateAutoCompletionList 只给我来自 QsciScintilla::AcsAPIs 的结果,我无法从QsciScintilla::AcsDocument.

有什么办法可以得到结果QsciScintilla::AcsDocument吗?

预先感谢。

4

1 回答 1

0

我自己解决了。

没有可用的 API 让我这样做,所以我阅读了 QsciScintilla 类的源代码,它有一个名为“startAutoCompletion”的方法,你可以从中得到答案。

实际上它确实搜索所有文本,收集与自动完成上下文匹配的单词,避免重复。没有我想象的那么花哨,但实际上性能也没有我想象的那么慢 :)

于 2013-10-09T15:34:57.887 回答