Qt Creator 2.2 released

Published Friday May 6th, 2011 | by

We are happy to announce the release of Qt Creator 2.2.

Even if this release is following the previous release after not even ten weeks it contains a whole lot of new features as well as bug fixes and enhancements making an update worthwhile.

Let’s have a look at some highlights:

  • New Bazaar VCS support by Hugues Delorme.
  • Completely rewritten debugging support for the MSVC toolchain, resulting in significant speed improvements and allowing to debug 32 bit and 64 bit applications independent of the build of Qt Creator itself.
  • New configurable MIME type definitions to map editors to files as you wish (look in Environment->MIME Types).
  • New support recording and playing text editing macros by Nicolas Arnaud-Cormos.
  • New configurable snippets to the editors, already including a range of predefined C++ and QML snippets (see Preferences->Text Editor->Snippets). Snippets support placeholders.
  • New configurable access to external tools, also used, but not restricted to, access to the native Qt translation tool lupdate and lrelease.
  • New pinnable debugger tool tips.
  • New support for the CODA Symbian on-device debugging agent.
  • New Valgrind/memcheck based memory debugger integration added (Debug->Analyzer) for Linux and Mac.
  • New specialized editor for the GL shader language.

Improvements to already existing features include

  • Better QML support, such as completion for urls, file imports and attached properties.
  • Better JSlint-style warnings
  • Better locator filter for QML functions.
  • Improved Qt Quick Designer.
  • Better support for manually configured tool chains.
  • Better support for mixed QML/C++ debugging, like mixed stepping from QML into C++ plugin code.
  • Better customization of build steps through variables like the file path of the current document.
  • Proper quoting and use of native shell syntax when specifying a program’s command line arguments.

…and many more, as listed in the changes file.

Source packages, as well as binaries for Linux, Windows and Mac, are available from The Qt Developer Network. The sources are also directly available from the git repository.

As usual, please don’t hesitate to post suggestions through the usual means, i.e. the Bug tracker, the Mailing list, or the #qt-creator IRC channel on Freenode.

To give some optical impression of Qt Creator, some random screenshots follow:

Qt Creator 2.2 not yet contained in the Qt SDK 1.1, but the plan is, of course, to make it available as update.

Did you like this? Share it:

Posted in C++, Qt Quick, QtCreator

57 comments to Qt Creator 2.2 released

gemfield says:

when the update is available?

Gregory says:

It’s a bit unfortunate your release Qt SDK 1.1 with Qt Creator 2.1 on May, 4th then Qt Creator 2.2 on May, 6th isn’t it? :)

Alan says:

@Gregory: indeed, that’s a bit strange.

Otherwise, where can we download Qt Creator 2.2 from? Qt Creator 2.1 is still the version available for download. It would have been nice to post this blog entry after having updated the download page… :)

Tobias Hunger says:

@Alan: The blog posts has the link: http://developer.qt.nokia.com/wiki/QtCreator2.2Download

Daniel Molkentin says:

@Gemfield Within the next weeks, as part of the regular updates.
@Gregory maybe, but should we have deferred the release even more? Remember that SDK integration needs some extra work compared to the stand-alone version from a packaging and Q&A point of view.

Alan says:

@Tobias: I remember reading the sentence and yet I overlooked the link! Oops, my bad! Off to installing it now… :)

Thiago Macieira says:

“Better support for manually configured tool chains.”

Like! :-)

Thiago Macieira says:

Congratulations guys. I just have one more question: how does Berlin manage to make a release when I had all of you guys stuck in a room yesterday for the entire day? :-)

André Pönitz says:

@gemfield: “When it is ready.” ;-)

@gregory: Aligning the releases would have been technically possible, but it would have delayed the SDK release for quite a while as creating the SDK is a bit more involved then “grabbing some random version of Creator, bundle some other stuff, and put it as .zip on some FTP server.” That could be done in a few minutes, sure. But proper package testing alone, ensuring that it works in all the intended cross-platform use cases is an extensive and really time consuming process. Qt Creator 2.1 was a very good release, with a proven record of being useful and robust in the field. Using that as a base for an SDK made (and makes) a lot of sense to us.

Alan says:

Ok, I have just downloaded and installed Qt Creator 2.2 on Windows 7, Ubuntu 11.04 32-bit and Mac OS X 10.6, and well… is it me or is something broken when it comes to defining a custom process step in the build steps? Using CMake, I have a custom process step for which the working directory used to be ${BUILDDIR}/build, but if I use that with Qt Creator 2.2, then it fails (everything works fine with Qt Creator 2.1 and this on all three platforms).

Just for information, if I create a new custom process step, the default working directory is %{buildDir} (on all three platforms) and is in red (telling me that it’s a not a valid directory). If I replace the % with a $, then the text is rendered in black (telling me it’s a valid directory)…

Anyone, any idea of what’s going on here?

Vasiliy Sorokin says:

Great! Thanks!

Daniel Molkentin says:

@Thiago Macieira That’s the magic that we do :-)

Tim says:

Looks awesome. I really hope this all doesn’t go to waste…

mario says:

Thanks! Keep up the great work and walk with pride :)

André Pönitz says:

@Thiago: Hah! Did the puppets we put into that room move at all during the day? ;-)

Thiago Macieira says:

@André: now that you mention it, only Ossi was really asking questions… ;-)

nath says:

@Thiago: Yeah, we didn’t tell Ossi about the puppets so that he wouldn’t be able to break the release. ;)

suy says:

You rock guys. I’ve never been excited about IDEs in general, but Creator is the exception to the rule. Seriously, congratulations for the awesome work.

Great release,

I’m looking forward to track leaks with Valgrind.

Javi Moya says:

Nice release !!! thanks !

the integration with Valgrind is a great feature…

any chance of a track leaks under Windows? (with a free tool)

CrazyWind says:

I have built qt statically from source version 4.7.3, then I set Version name: QtStatic4.7.3 and qmake location:d:qtsdkqtsources4.7.3binqmake.exe in QtCreator 2.1->Tools->Options->Qt4->Qt Versions, it works fine, but QtCreator 2.2 shows the message “failed to detect the ABI(s) used by the Qt Versions” below qmake location and can’t build. Someone has alread report this “bug”, but it doesn’t seems to be solved.
Sorry for my poor english.
Anyone can help? thanks.

André Pönitz says:

@CrazyWind: Is that http://bugreports.qt.nokia.com/browse/QTCREATORBUG-4424 ? That was fixed _after_ the released packages were build, that fix did not make it into the release. Sorry. Your options are basically to build yourself, use a nightly snapshot next week, or wait for the SDK update.

CrazyWind says:

@André Pönitz: Thank you for your timely reply ! Someone has already report it at “http://bugreports.qt.nokia.com/browse/QTCREATORBUG-4212″ ,not the one you mentioned above.OK, I’ll use QtCreator2.1 now and waiting for the SDK update.

Majid Hatami says:

@CrazyWind : based on what you can see in : http://bugreports.qt.nokia.com/browse/QTCREATORBUG-4771
you can copy QtCore*.dll files from your shared version of Compiled or SDK version files to the your Static version directory
for example your Static is in C:qtst4.7.3 , just copy , QtCore*.dll files from the shared library of Qt to your own Static built version at C:qtst4.7.3lib then it will be fixed for now.

Thanks to Tobias Hunger for information and solution

CrazyWind says:

@Majid Hatami: I had seen you your post at “http://developer.qt.nokia.com/forums/viewthread/5663/” just several minuts before I saw this, thank you for the nice method, the problem has been solved perfectly!

Jason says:

Why not package it into SDK 1.1 ??

Daniel Molkentin says:

@Jason: As indicated, this will happen after some verification work has been done.

scut52 says:

@Alan:
I know it’s just a longshot but did you check your environment path-variables (windows)?
——-
Is there supposed to be a possibility to update my 2.1 version to the new 2.2?

greets

mjk says:

Just downloaded. Fabulous work guys! Best IDE ever.

HollaDieWaldfee says:

How can i integrate the QML components TP in the IDE? I always get errors when i try to import the components and they don’t show up in the graphical QML editor either.

Thomas Hartmann says:

@HollaDieWaldfee:

Since the support of Qt Components is not official we do not have a nice answer, yet.
The easiest way (atm) is to build Qt Creator 2.2 yourself with a Qt desktop version that includes Qt Components .
Once Qt Components are final we will provide a solution.

HollaDieWaldfee says:

@Thomas Hartmann
Thanks for the reply.
Are there any tutorials for building Qt Creator 2.2 with included Qt Components and when will the Qt Components be final?

chall3ng3r says:

Great stuff guys!

Downloading now :)

// chall3ng3r //

Thomas Hartmann says:

@HollaDieWaldfee
The exact schedule of Qt Components I do not know. The technology preview is out:
http://labs.qt.nokia.com/2011/04/08/qt-quick-components-for-symbian-technology-preview/

The source of the Qt Components can be found here:
http://qt.gitorious.org/qt-components/

It basically comes down to compiling 4.7.3(4) then compiling the Qt Components and a make install (Qt Components come with a README).

Then the Qt Components are installed in imports inside your Qt.
If you compile/run your Qt Creator 2.2 with this Qt, then Qt Components work.

Nan Jiang says:

I am working on Windows 7. I always download QtCreator source code and compile it before I use. For the latest QTC version 2.2.0, I cannot debug because I don’t have Python installed. I am very puzzled: why do I have to installed Python for my C++ debugging?

Andre' says:

@Nan Jiang: Qt Creator uses gdb when debugging applications compiled with MinGW on Windows (and cdb for applications compiled with the Microsoft compiler). Newer versions of gdb can use Python as internal scripting language, and Qt Creator makes extensive use of this ability (see e.g. http://labs.qt.nokia.com/2010/10/15/peek-and-poke-vol-4 )

For Windows/MinGW and Linux, using Python-enabled versions of gdb is required nowadays. [On Mac, Apple's old python-less gdb port still works "officially", and the debugging support for Windows/MSVC does not use gdb, so python is not relevant here]

You can get Python-enabled gdb builds from ftp://ftp.qt.nokia.com/misc/gdb/7.2/ . They are also bundled in the Qt SDK.

Tobias Hunger says:

Nan Jiang: We use a python-enabled GDB to debug Mingw/Gcc based applications. That way we can provide human readable output for the Qt data structures without having to bother our users with the need to rebuild debugging helpers all the time.

So actually you need a python-enabled GDB, not python itself. I am not sure how much of a python environment we really need.

The Qt Creator binaries ship with several of those GDBs. Try using one of those.

Nan Jiang says:

@Andre’, @Tobias Hunger. Thanks for your replies, I created a folder named “lib” on mingwbin

everything works fine. :D

s200999900 says:

When can I expect the following “Community and collaboration tools” (in road map link: http://qt.nokia.com/developer/qt-roadmap#community-and-collaboration-tools) ? It is very expected features for me :)

T-man says:

The downloadable source doesn’t compile out of the box, missing ‘ide_version.h’

André Pönitz says:

@T-man: ide_version.h is generated from ide_version.h.in when running qmake.

André Pönitz says:

@s200999900: There is no time tag attached. VCS integration works already, there’s access to code pasting sites, for other bits like tasklists the “local” infrastructure is in place.

silvansky says:

Is there a way to debug some code via CDB on WinXP 64? What version of CDB should I install? I tried latest 32 and 64 bit versions with Windows SDK, but they not working properly, with 32bit I can stop on breakpoint, but can’t step into/over, 64 bit version doesn’t allow to stop at all.

silvansky says:

And by the way, why can’t I add custom MSVC toolchain? Only autodetected ones… So I have to uninstall CDB x64 and install CDB x86 to switch to it, and vice versa. And restarting creator is also needed.

Friedemann Kleint says:

silvansky: What are you trying to do, exactly? Could you take the discussion to the forum or the mailing list?
I would recommend installing the latest 64 bit version of the “Debugging Tools for Windows” and Visual Studio 2010 / 64bit (patched). https://qt.gitorious.org/qt-creator/qt-creator/blobs/master/README has some useful hints for the setup (even if you do not want to compile Qt Creator yourself).

silvansky says:

Friedemann Kleint: I’ve got VS 2008, latest DTfW x64, but creator doesn’t allow me to stop on breakpoints. With DTfW 32 bit I can stop, but can’t step. DTfW is a part of Windows SDK of the same bitness.

André Pönitz says:

@silvansky: can we please discuss that on bugreports.qt.nokia.com ? Handling this kind of issue in blog comments does not scale well.

Eduardo Barreto Alexandre says:

Hello there, can you guys consider integrate this plugin https://github.com/fberger/emacskeys to Qt Creator?
The plugin doesn’t work with the newer version of Qt Creator and I already tried 2 times make it work, but it’s a liittle too complex to me fix it, and as I am an emacs guy I would love be able to use the emacs keybindings on Qt Creator.

Thanks!

André Pönitz says:

@Eduardo: Short answer: No.

This is code is basically a copy of the FakeVim code, with a global search and replace from ‘Vim’ to ‘Emacs’, plus a first shot at actually implementing something emacs specific (I count 22 functions). This is far from being usable as an Emacs replacement and certainly not in a state that can be merged to Creator mainline.

Having “proper” emacs support would certainly be nice If you are interested in maintaining the plugin, please go ahead, fix it, and create a merge request on gitorious.

silvansky says:

@André Pönitz
Here is bugreport
http://bugreports.qt.nokia.com/browse/QTCREATORBUG-4916

Chris says:

Still has no code completion for typedefs. Having it for smart pointers (like in itk) would be really nice, but having it for common typedefs should be somewhat of a basic feature, wouldn’t you say?

André Pönitz says:

@Chris: I am afraid you need to be a bit more verbose, and preferably file your issue with a code sample showing your problem on burgreports.qt.nokia.com. Yes, there is a known issue with typedefs within class templates, but for “plain” typedefs like “typedef QString String;” it surely works.

Jeff Adams says:

Hello,

Creator is a great start but it has a few issues I have noted. I’m not sure if this is the correct place to post this but please forward to the appropriate developers for consideration.

1) It appears folders cannot be created. I am stuck with Headers, Sources, Forms, etc. This is not optimal as I’d like to lay out a project hierarchy as I see fit. I know this goes back to the syntax of a .pro file, but this really is problematic. When you have many source and header files in a project, the vertical displacement in the project organizer between a source file and its corresponding header can be quite large and thus problematic. It is better to group functionally related items together in a project hierarchy to ease switching between related components.

2) I like to put my headers in an “include” subdirectory and the sources in a “src” subdirectory. These directories appear under the top level folders and leave me with items like this:

Headers
include
myHeader.h

The directories my files live in should not be shown in the hierarchy, just the files themselves (along with my hierarchically created folders – see item #1).

3) When I add my headers in via the include subdirectory, an entry should be made automatically in the .pro file.

4) I would like to be able to save an existing project as a makefile or a visual studio project or an xcode 4 project or an eclipse project directly from creator. I use creator mostly because it can automatically add slots in the source and header files directly. Once this is done I shift to the native IDEs for development.

Thanks for a great start!

Andre' says:

@Jeff: The proper place for suggestions and bug reports is http://bugreports.qt.nokia.com. Let me comment nevertheless:

1) and 2) It is known that this feature is missing. The main reason why nobody scratched this itch so far is probably that people quickly switch over to the “other” forms of navigation (Ctrl-K for the Locator, or F2, F4, Ctrl-Tab etc, which are typically much faster than “manual” navigation in the project tree, no matter how well organized it is).

3) Could you expand a bit on that, i.e. what exactly you do, and what outcome you prefer? (Perhaps on http://bugreports.qt.nokia.com, too)

4) The main problem here is that there are a lot of constructs where there is no 1:1 correspondence between the different project formats, so “automatic” conversion is bound to become impossible rather sooner than later. “Best effort” import/export might be good enough for doing the boring tasks of creating big file lists initially, but after that (and the usually necessary manual cleanup after the import) there’s not much choice than to maintain both (or in your case three) build systems manually. qmake traditionally goes a bit beyond its core duties by providing basic VS and xcode export, but that obviously cannot handle items that are not available in either “source” or “target” system, and cannot scale well to a dozen “other” build systems, and even moving targets within an “foreign” system.

Jeff Adams says:

Andre,

Thank you for the response. I’ll post a bug report as you suggest.

items 1 & 2) I understand your point. However Qt is multi-platform. So we have various IDE project files checked in to source control for the different platforms. It makes it much easier for our team if the project hierarchy looks mostly the same in the various IDEs. Also we have developers of different experience levels. Some hotkey between header and implementation, some like to click the mouse. It’s a religious issue to some extent. So I choose not to fight the battle where possible. In all things symmetry has value. Might I suggest specially formatted comments in the .pro file that will not affect build processing but creator can use the values to present a proper folder and source file hierarchy? I know its not the best answer, but it lets you keep everything in a single file without having to extend .pro syntax.

3) When I add an include file in a subdirectory that is not listed in the INCLUDEPATH variable in the .pro file, add it. When include files are removed, determine if an entry can be removed from the INCLUDEPATH.

4) I understand the problem. My core need is to have some mechanism to let the IDE know a given header file has moc requirements. Once this is set then have the IDE moc the header file before the build and then compile the resultant cpp. This is what the visual studio add-in does fairly well. I try to setup the qt projects for our team so they can just fill in the pieces and not have to understand moc header file prerequisites, etc. But in the event they add a QWidget derived screen I end up having to go back and rework the IDE project file for them so the project builds properly. I’m just looking to make this multi-platform build/maintenance process a little easier.

Clam says:

Hi,

I’m new to Qt, so I’m not familiar with its development policies. I downloaded Creator 2.2 a few days ago, and decided that I like the 2.1 better for its simplicity. My question is: will future releases of Qt 4.7 libraries still be _perfectly_ compatible with Creater 2.1, or do I simply have to get rid of my disinclination towards 2.2 and try to live with it?

Andre' says:

@Clam: Updates within the Qt 4.7.x series are not supposed to break applications using it, so at least in theory, Qt Creator 2.1 should continue to work with it. However, no matter what happens over there, there won’t be any changes in the Qt Creator 2.1 branch anymore, not to mention any releases from that branch. Right now, all development happens in the master branch (i.e. the upcoming 2.3 release), and even the 2.2 branch is open for critical (or trivial) fixes only.

Commenting closed.