Commit Graph

47 Commits

Author SHA1 Message Date
Erik Verbruggen
9246e78d23 C++: started to make indexing plug-able.
Change-Id: Iff35840d73882a212dd77b54e4223c0b4111ac1c
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
2012-10-23 09:26:19 +02:00
Eike Ziller
42f4595e37 Merge remote-tracking branch 'origin/2.5'
Conflicts:
	src/libs/cplusplus/cplusplus-lib.pri

Change-Id: I430ec8c6dda4afad3aedb1bc47d3af64537cfe66
2012-07-24 14:17:33 +02:00
Christian Kamm
8dc0f69ed1 C++: Fix broken merge of 9121c21230.
Change-Id: I0cca1851132245430d59840728362ddea1475655
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
2012-07-23 07:19:26 +02:00
Erik Verbruggen
f1b2100e34 Move the ModelManagerInterface out of the CPlusPlus library.
Change-Id: Iffaa18f848a22f6961b49dff048672b194570df6
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2012-03-14 11:46:24 +01:00
Erik Verbruggen
2d262bd3b7 [C++] Added object pool handling for CompletionAssistProvider.
Change-Id: I89634989a7f360a30f7ed1bde4e67c93551ddfe4
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2012-02-23 10:33:50 +01:00
Erik Verbruggen
6fe6f5cdb1 C++: make highlighting/completion plugable.
Change-Id: I990fdf5411153041c6b4c62f31b453342d59de53
Reviewed-by: Eike Ziller <eike.ziller@nokia.com>
2012-02-20 14:21:22 +01:00
Erik Verbruggen
dbc3332b8e C++: Moved completion/highlighting into the model manager.
This way the editor does not need to know all the details of
instantiating or maintaining classes for highlighting and/or completion,
it can just ask the model manager. The change also enables different
highlighting- or completion-engines without changes to the cppeditor.

Change-Id: I8000d9d9fe446b292defddb2295493cf77d0f14a
Reviewed-by: Leandro Melo <leandro.melo@nokia.com>
2012-02-08 14:30:14 +01:00
Leandro Melo
466ea4842c C++: Improve file accuracy when finding symbols
This patch introduces a priority-based mechanism when searching for certains
symbols in the snapshot. The priority corresponds to how similar the file path
from the "reference" symbol is to the file path from the "candidate" symbol.
This solves a variety of issues when matching "equivalent" symbols but that
are in another file/project, such as when following a function declaration,
a forward class declaration, or adding a definition through a quickfix.

There's now a symbol finder which will compute the "best" search order and cache
the most recent results. A consequence is that following symbols in some cases
is slower, but not apparently significatly.

Note: The "find" functions were moved from the Snapshot to the new SymbolFinder
class.

Task-number: QTCREATORBUG-6697
Task-number: QTCREATORBUG-6792

Change-Id: Ia518f014275fec1f4d0cb3224bd4e06a9df6d557
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2012-01-23 11:34:44 +01:00
Leandro Melo
beede7d7cf C++: Automatic Doxygen comment blocks generation
This improves our completion support for documentation
comments. It's now possible to have a Doxygen block
generated when hitting enter after a /** or /*! comment
start. A couple other related options are also available.

Task-number: QTCREATORBUG-2752
Task-number: QTCREATORBUG-3165

Change-Id: I1c81c0b4b370eb1d409ef72a9c7f22c357f202f4
Reviewed-by: Leena Miettinen <riitta-leena.miettinen@nokia.com>
Reviewed-by: Christian Kamm <christian.d.kamm@nokia.com>
2011-12-09 10:25:59 +01:00
Christian Kamm
bc1b724476 C++: Move codegen test into the CppTools plugin.
Change-Id: I4c70a9dbd5445188c3d202427da96e1c6ff90b63
Reviewed-by: Bill King <bill.king@nokia.com>
2011-11-15 15:37:29 +01:00
Jarek Kobus
2244911826 Implement Code Style schemes
Task-number: QTCREATORBUG-5092

Change-Id: I218cef02f7c242e4dfae59b1b8021ea618e60d07
Reviewed-on: http://codereview.qt-project.org/5160
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
2011-09-23 10:23:15 +02:00
Leandro Melo
23decd9d34 C++ editor: Improve type hierarchy widget
Now the type hierarchy widget will also show the classes
derived from the selected one. For consistency the way
the base classes are shown was changed too. The diagram
below is an example from Creator's code when openining
the type hierarchy for BaseTextEditorWidget:

Bases
 +QObject
  +QWidget
   +...
     BaseTextEditorWidget
 +QPaintDevice
  +...
    BaseTextEditorWidget
Derived
 +BaseTextEditorWidget
  +VCSBaseEditorWidget
    GitEditor
    MercurialEditor
    ...
   GLSLEditorWidget
   CppEditorWidget
   QmlJSTextEditorWidget
   ...

Depending on the project and on the selected class the
hierarchy widget might take a bit to be constructed.
This should be improved later.

Change-Id: Ifbdd1cbbba955a0bdf03297ff0e7620351b12dc5
Reviewed-on: http://codereview.qt.nokia.com/883
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2011-07-08 14:50:26 +02:00
Christian Kamm
779fafcbfe Make C++ code style configurable.
Change-Id: Iaf08edb2361146e6b5e1cbafdb716a23c938875b
Done-with: Jarek Kobus
Task-number: QTCREATORBUG-2670
Task-number: QTCREATORBUG-4310
Task-number: QTCREATORBUG-2763
Task-number: QTCREATORBUG-3623
Task-number: QTCREATORBUG-567
Reviewed-on: http://codereview.qt.nokia.com/74
Reviewed-by: Leandro T. C. Melo <leandro.melo@nokia.com>
Reviewed-by: Jarek Kobus <jaroslaw.kobus@nokia.com>
Reviewed-by: Roberto Raggi <roberto.raggi@nokia.com>
2011-05-24 12:45:07 +02:00
Leandro Melo
bec4f02495 New code assist API
This is a re-work of our completion engine. Primary goals are:

- Allow the computation to run in a separate thread so the GUI is not locked.
- Support a model-based approach. QStrings are still needed (filtering, etc), but
internal structures are free to use more efficient representations.
- Unifiy all kinds of *assist* into a more reusable and extensible framework.
- Remove unnecessary dependencies on the text editor so we have more generic
and easily "plugable" components (still things to be resolved).
2011-05-18 10:46:20 +02:00
Christian Kamm
5f50a6ae34 C++: Move the ModelManagerInterface from CppTools to CPlusPlus. 2011-01-04 15:58:21 +01:00
Oswald Buddenhagen
e160f071ce centralize addition of pluginspecs to OTHER_FILES 2010-11-03 17:47:41 +01:00
dt
6b6d9871b8 Merge remote branch 'origin/2.1'
Conflicts:
	share/qtcreator/templates/mobileapp/app.pro
	share/qtcreator/templates/qmlapp/app.pro
	src/plugins/cpptools/cpptools.pro
2010-10-04 16:07:46 +02:00
dt
41ceaf2821 Ui Code Model Support: Refactor code in preparation for cmake support 2010-10-04 15:09:58 +02:00
Erik Verbruggen
3ebc328498 C++: added quickfix to insert a method definition.
Reviewed-by: Christian Kamm
2010-09-30 12:19:39 +02:00
con
2bda8675e5 C++ symbols find filter for advanced find.
Required refactoring of the search result window to show real trees of
search results.

The backend is the backend from the Locator filter, which is a bit
outdated now.
2010-07-23 16:34:22 +02:00
Bill King
c9710052bb Fix autotests so that they're compiling again. 2010-07-06 14:37:45 +10:00
Christian Kamm
88f2e340bd C++: Introduce the new CodeFormatter.
Done-with: Erik Verbruggen
2010-07-02 16:13:12 +02:00
Roberto Raggi
91eff02007 Moved CppRefactoringChanges. 2010-06-22 12:13:30 +02:00
Erik Verbruggen
297b281ced Added infrastructure to change multiple files at once. 2010-06-14 15:03:10 +02:00
con
ed77fcc551 Rename pro and pri files 2009-10-16 11:50:38 +02:00
con
a5bfacecb7 Rename directory quickopen --> locator 2009-10-16 11:44:18 +02:00
con
89d75814dd CppQuickOpenFilter --> CppLocatorFilter 2009-10-16 10:55:58 +02:00
Roberto Raggi
f820c1c776 Removed CppSemanticSearch & co. Find usages of a Symbol is way more powerful. 2009-10-09 11:13:59 +02:00
Roberto Raggi
8848be4caa Find references 2009-09-23 16:52:41 +02:00
con
f6ff04a7be Integrate merge-request #567 into branch 'master'
Christian Hoenig (1):
      Implement CppCurrentDocumentFilter for symbols in current document

Request-url: http://gitorious.org/qt-creator/qt-creator/merge_requests/567
Reviewed-by: con <qtc-committer@nokia.com>
2009-06-04 14:46:21 +02:00
Roberto Raggi
c2a40ce9cf Introduced CppTools::Internal::SemanticSearch. 2009-06-03 10:50:33 +02:00
Christian Hoenig
575495b99b Implement CppCurrentDocumentFilter for symbols in current document 2009-05-30 10:43:07 +02:00
Friedemann Kleint
0e3aa47fcd Added ToolTip support for CDB.
Make debugger tooltip API more general, have the engines check the
correct file type, figure out the expression and context from the text
editor.

Put common functionality in watchutils.cpp. In the CDB engine, check
whether a tooltip expression is a known variable within the stack frame
context. If so, retrieve via symbol group or dumpers. Cache by function
and expression.
Reviewed-by: hjk <qtc-committer@nokia.com>
2009-05-14 14:29:37 +02:00
Alessandro Portale
2be7226215 Rename qworkbenchplugin.pri to qtcreatorplugin.pri 2009-05-08 16:42:48 +02:00
dt
8f738dfcc8 Add the *.pluginspec to OTHER_FILES so that we can use Locator for them
Hopefully i didn't miss a plugin.
2009-04-22 15:06:58 +02:00
Friedemann Kleint
bccf4a1fc3 Fixes: Introduce a cpp settingspage containing file naming conventions (lower case and suffixes). Reorder VCS settings pages.
Task: 241959, 248085

RevBy: Optics/Naming checked by con
Details: Give IOptionPage an id() to differentiate from trName(). Make showOptionsDialog return a bool (applied) and give it an optional parent. Change Cpp and form class wizards, give them a Configure... button to change those settings.
2009-03-18 16:43:01 +01:00
Roberto Raggi
a976385b44 Code completion of doxygen tags. 2009-02-20 12:55:18 +01:00
Roberto Raggi
4c5ff047f0 Initial support for doxygen comments. 2009-02-20 11:52:27 +01:00
Thorbjørn Lindeijer
687e353b6f Moved dependency on QtHelp
Necessary because the CppHoverHandler uses QtHelp and moved from
CppTools to CppEditor.
2008-12-16 15:13:52 +01:00
Thorbjørn Lindeijer
1efe71992b Moved the CppHoverHandler to the CppEditor plugin
It used to be in CppTools, but since the hover handler only makes sense
in the context of the C++ editor, this is a better place.
2008-12-16 12:27:13 +01:00
Thorbjørn Lindeijer
78f1fca9aa Added configuration options for code completion
It is now possible to choose between case-sensitive or case-insensitive
completion. Also, you can now disable the automatic insertion of braces.
2008-12-15 11:42:43 +01:00
Thorbjørn Lindeijer
5c5167717f Renamed cpptools.cpp to cpptoolsplugin.cpp
To match the class name, CppToolsPlugin.
2008-12-15 11:42:43 +01:00
Roberto Raggi
aed481dec8 Don't hardode -O3 optimization level for cpptools. 2008-12-12 10:09:47 +01:00
Thorbjørn Lindeijer
5f544b4daf Added the CppFunctionsFilter to QuickOpen
In the GUI this is currently called "Methods" with the shortcut 'm'.
2008-12-09 17:19:35 +01:00
Roberto Raggi
f6fbb274ae Moved the preprocessor. 2008-12-08 12:24:40 +01:00
Thorbjørn Lindeijer
cecd5023dd First incarnation of classes quickopen filter
Invokable with 'c', currently shows all classes it can find.
2008-12-04 18:22:58 +01:00
con
05c35356ab Initial import 2008-12-02 12:01:29 +01:00