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 が使用するコードモデルは、テンプレートに関しては少し制限されているため、完成していない傾向があります。QListでもかなり頻繁に失敗する傾向があります。

現在使用しているものよりもはるかに正確なclangコードモデルを使用して修正するための作業が進行中ですが、残念ながらそれもかなり遅くなります(クリエイターは何かに時間がかかりすぎる場合は近道をするだけなので驚くことではありません:- )。現在、それは使用できません。コード補完と構文強調表示が機能するために必要な初期解析を取得するのに時間がかかりすぎます。ユースケースのclangを改善するか、情報をキャッシュするなどして、これをどのように改善できるかを検討しています。

おそらく、最終的には既存のコード モデルを少し修正するか、最初の解析を高速化するために独自のコード モデルを使用し、以前に抽出したデータを改善するために後で clang をフォローアップするだけになるでしょう。

于 2012-12-16T18:34:16.477 に答える