0

在 Qt Creator 中,如果我有一个QList<SomeClass*>被调用someList的,我输入

someList[0].

它显示 SomeClass 的所有成员的列表,并转换“。” 进入“->”,这很棒。但是,如果我对 std::vector 做同样的事情,我不会得到任何建议或转换。我仍然可以自己输入代码,但它会起作用。

有什么方法可以让 Qt Creator 建议非 Qt 容器中的对象成员?

我正在使用 Qt Creator 2.4.1。

4

1 回答 1

1

Creator 实际上会解析 C++ 代码并忽略注释,因此 doxygen 不会在这里提供帮助;-) 它会解析项目中的所有文件以及包含的所有文件,并在必要时使用包含路径查找这些文件。

不,目前没有办法让 Creator 做到这一点。在模板方面,Creator 使用的代码模型有点受限,因此这些模板往往没有完成。QLists 也经常失败。

正在通过使用 clang 代码模型来解决这个问题,该模型比我们目前使用的更精确,但不幸的是,这也慢得多(这并不奇怪,因为创作者只会在需要太多时间的地方走捷径:- )。目前这只是不可用,要获得代码完成和语法突出显示所需的初始解析需要太长时间。我们正在研究如何通过为我们的用例改进 clang 或缓存信息或其他方式来改进这一点。

也许我们最终会稍微修复一下我们现有的代码模型,或者使用我们的代码模型进行快速初始解析,然后再跟进 clang 以改进我们之前提取的数据。

于 2012-12-16T18:34:16.477 回答