forked from qt-creator/qt-creator
Clang: Provide tooltips
This includes also the query data for the help system (F1) for an
identifier under cursor.
Regressions (libclang changes necessary):
- Function signatures do not contain default values.
- Aliases are not resolved for/at:
- template types
- qualified name of a type
Fixes/Improvements:
- Resolve "auto"
- On a template type, show also the template parameter.
- For a typedef like
typedef long long superlong;
the tooltip was "long long superlong", which was confusing.
Now, "long long" is shown.
New:
- Show first or \brief paragraph of a documentation comment.
- Show size of a class at definition.
- Show size of a field member in class definition.
Task-number: QTCREATORBUG-11259
Change-Id: Ie1a07930d0e882015d07dc43e35bb81a685cdeb8
Reviewed-by: Marco Bubke <marco.bubke@qt.io>
This commit is contained in:
@@ -32,6 +32,7 @@
|
||||
#include "cpptools_global.h"
|
||||
|
||||
#include <texteditor/codeassist/assistinterface.h>
|
||||
#include <texteditor/helpitem.h>
|
||||
#include <texteditor/quickfix.h>
|
||||
#include <texteditor/texteditor.h>
|
||||
#include <texteditor/textdocument.h>
|
||||
@@ -48,6 +49,18 @@ class TextDocument;
|
||||
|
||||
namespace CppTools {
|
||||
|
||||
// For clang code model only, move?
|
||||
struct CPPTOOLS_EXPORT ToolTipInfo {
|
||||
QString text;
|
||||
QString briefComment;
|
||||
|
||||
QStringList qDocIdCandidates;
|
||||
QString qDocMark;
|
||||
TextEditor::HelpItem::Category qDocCategory;
|
||||
|
||||
QString sizeInBytes;
|
||||
};
|
||||
|
||||
class CPPTOOLS_EXPORT BaseEditorDocumentProcessor : public QObject
|
||||
{
|
||||
Q_OBJECT
|
||||
@@ -78,6 +91,7 @@ public:
|
||||
virtual QFuture<CursorInfo> cursorInfo(const CursorInfoParams ¶ms) = 0;
|
||||
virtual QFuture<CursorInfo> requestLocalReferences(const QTextCursor &cursor) = 0;
|
||||
virtual QFuture<SymbolInfo> requestFollowSymbol(int line, int column) = 0;
|
||||
virtual QFuture<ToolTipInfo> toolTipInfo(const QByteArray &codecName, int line, int column);
|
||||
|
||||
public:
|
||||
using HeaderErrorDiagnosticWidgetCreator = std::function<QWidget*()>;
|
||||
|
||||
Reference in New Issue
Block a user