Qt Creator 2.7.0 beta released

Published Thursday February 7th, 2013 | by

We are happy to announce a prerelease of Qt Creator 2.7. This is intended to give some early impression of improvements and new features of the final release scheduled to ship at the end of March, and also as a way to gather last minute user feedback.

All in all we are looking at more than 1300 changes by 63 developers. The changes with most user visible impact are recorded in the ChangeLog.

Let me highlight a few areas:

On the C++ support side we see better, but not yet full support for C++11. The new keywords alignof, alignas and noexcept are handled, as are ref-qualifiers in function declarations, “>>” in template parameters, some more cases of lambda captures, and a few more. The biggest addition is support for uniform initialization (a.k.a. brace initializers). In cases where the build system does not provide enough hints we now assume the code is C++11, not C++98/03, giving generally a better out-of-the-box experience. Before questions arise, yes, this is still our trusty old code model, a switch over to clang is still hampered by the performance impact this would have.

Screenshot of Qt Quick DesignerOn the QML side there was quite some work to make the Qt Quick Designer work with Qt Quick 2. Note, however, that the binary packages are based on Qt 4.8 and therefore do not contain qml2puppet, the external process that is responsible for rendering Qt Quick 2. You can build it yourself from source (qt-creator/share/qtcreator/qml/qmlpuppet/qml2puppet), or wait for the Qt 5.1 release. As the other Qt 5 packages, this will come with a Qt 5 based Qt Creator build. Qt 5.1 will also contain Qt Quick UI components, making the Qt Quick Designer more fun to use.

The “Kits” (i.e. working sets of device, compiler, debugger, and Qt version settings) introduced with Qt Creator 2.6 have proven to be a pretty flexible foundation for a wide scope of use cases, especially in the cross-development area. It is now e.g. possible to use certain custom toolchains without the need to create a specific Qt Creator plugin and also easier to create ready-made custom setups. As a result, it will be possible to provide ready-built embedded Linux images again for the commercial licensees which have been missing in 2.6. The new flexibility came with a few rough edges in the UI, but the worst have been addressed by now. This is one of the areas where feedback from Real World use would be especially valuable.

Other than that there have been smaller and bigger changes across the board. There is, for instance, experimental support for the (also experimental) QBS build system, including .qbs files for building Creator itself, Merge Tool support in the git plugins, new templates for BlackBerry applications, a more straightforward way to visualize images and vector data in external viewers when debugging etc etc. I’d like to take the opportunity and thank Orgad for becoming the most active contributor, and on a more personal note Lukas for picking up the ball in the FakeVim arena, tying up the loose ends and doing all the grunt work of bringing it from the “good enough for me” to the “works well for others” state. Thanks, guys!

What now?

The commercial license holders can download packages from the Customer Portal, open-source users from release.qt-project.org or directly build from the 2.7 branch on Gitorious. Try it, and report back using the Bug Tracker. We are also reachable on #qt-creator on FreeNode IRC and the qt-creator@qt-project.org mailing list. Please do not attempt to report bugs in the comment section of the blog post or the web forum, chances are they won’t be visible to the people who might be able to fix them.

We will go into string freeze on Thursday next week and plan to have a first Release Candidate two weeks later.

A final heads up for the users of the Madde plugin: As the functionality is now mostly available using the Generic Linux approach, the plugin has been downgraded to “not loaded by default”. This has right now the effect that the related settings vanish and need to be re-entered after re-enabling the plugin. We will look into a solution for the final.

Did you like this? Share it:

Posted in QtCreator

37 comments to Qt Creator 2.7.0 beta released

Orgad says:

Congratulations! :)

Thank you all for your great work.

For people that want to try out the Qt Quick 2 in the Qt Quick Designer (on Windows) we uploaded
the qml2puppet.exe for the Qt 5.0.1 packages.

MinGW: http://releases.qt-project.org/qtcreator/2.7.0-beta/qml2puppet/qml2puppet-Qt-5.0.1-mingw47.zip
MSVC2010: http://releases.qt-project.org/qtcreator/2.7.0-beta/qml2puppet/qml2puppet-Qt-5.0.1-msvc2010.zip

Just download the Qt 5.0.1 package and copy qml2puppet.exe in qtbase/bin.
After that, if Qt 5.0.1 is configured for your project, the Qt Quick 2.0 designer picks up the correct qml2puppet and is able to render the item.

Lilian says:

There was a bug reported on 14 dec 2012 of QtCreator not being able to detect the kits any more when you try to create an HTML5 Project. What should I do? Report another one and have a duplicate? The bug report doesn’t seem to get any attention.

anton says:

I had this bug too….

I would prefer to get the bugs fixed in 2.6 *before* doing too much stuff in 2.7,
otherwise in 2.7 we will have to wait for 2.8 to get the bugs fixed…

all in all I am afraid that this style of developping wil give us an ide with poor quality.

Even if its a really great project, sometimes its better to release some thing when its finished.

(OK its never really finished ;-)

Andre' says:

@anton: That bug had been fixed in the meantime. Since there is no more release planned from the 2.6 branch at this point of time the change is only available in the 2.7. Note also that this was not a regression, nor did in impact any existing projects, nor your general ability to use HTML5 with Qt Creator 2.6.x, it was just not convenient to set up a new Qt 5 based HTML5 project.

anton says:

@Andre:
Yes, admitted ;-) this bug is not such problematic.

But I personally posted:
https://bugreports.qt-project.org/browse/QTCREATORBUG-8689

Sergio Ahumada reacted promptly and moved this ticket from QT to QTCREATOR
(he seems to be in the Qt Team)
… but since then nothing happened … I do not expect a fix ..
only a confirmation from the QtCreator people.

OK, don’t get me wrong, its only 5 days ago … lets see :-)

In the meantime I wait for 5.0.2 ;-)

ABBAPOH says:

Hello, i’ve installed Qt creator 2.7.0beta on my Mac. So, where’s QBS plugin?:)

Also, i’ve built master branch using qt4, but i don’t see qbs plugin too. Should i build via qt5 or try to use different branch (like wip/qbs)?

André says:

@Lilian: That was an oversight, the HTML5 wizard was simply not updated to handle Qt 5. Should be fixed now.

@ABBAROH: To get started with QBS check the wiki pages linked from the post. The QBS sources are not part of Qt Creator, the easiest way to “connect” them is to check them out in parallel to your Qt Creator sources and/or set the QBS_SOURCE_DIR and QBS_BUILD_DIR environment variables.

ABBAPOH says:

André, i have qbs built, but not in path.
I added those variables as you said, and added qbs to my PATH variable. Still no effects. Anyway, i don’t see any qbs related settings or plugins in the Qt Creator. I suppose that qbs plugin should be in the Build Systems section in “About modules dialog”?

André says:

@ABBAROH: The qbs binary (i.e. the QBS comand line tool) does not need to be in PATH, the QbsProjectManager in Creator links directly against the backend library. The QbsProjectManager is experimental, so you have to explicitly enable loading it in Help->About Plugins->Installed Plugins. Once it is enabled, you should be able to open .qbs project files pretty much the same way as you can otherwise open .pro files, there is no further configuration needed.

ABBAPOH says:

André
As i already said, i don’t have QbsProjectManager in list of plugins:( I can attach screenshot somehow.

Tobias Hunger says:

Did you set QBS_SOURCE_DIR and QBS_BUILD_DIR _before_ running qmake?

ABBAPOH says:

wiped QtCreator buil dir completely and only then qmake built qbsplugin.
However, master branch can’t be built with latest qbs (linking error), and wip/qbs branch crashes when opening qbs project:(

Michael says:

From looking in the git log, I can see the beginnings of the PythonEditor plugin. This is quite exciting – will that arrive in the 2.8 release? Will it use rope for Python autocompletion or something else?

Andre' says:

It’s likely to show up as “Experimental” in 2.8, direction-wise there’s not much fixed yet. Using rope for completion certainly sounds like an option.

@ABBAPOH: Yeap, most of the work we do is currently focused on fixing issues in the 2.7 branch. So all the fixes for QBS changes go there, too. 2.7 is merged into master every couple of days, and thus gets fixes only with a slight delay.

The wip/qbs branch is a work-in-progress branch I used before we merged qbs support into the main repository. It is completely unmaintained and will not work. We should probably just delete it.

7 says:

Are auto declared instances getting “intellisense”? I noticed I wasn’t getting anything in the current version.

Majid says:

Thank you all for your great work.

i have a question. in download page i found several packs.
One for vs 2010 and one for mingw. how i can install both on my system ?
and how i can build my project in qt creator with both compiler (vs 2010 & mingw)?

Kai Koehne says:

You’re most likely talking about the 5.0.1 offline installers. You can install them side by side, e.g. by changing the install path to C:\Qt\Qt-5.0.1-mingw and C:\Qt\Qt-5.0.1-msvc . You’ll end up with e.g. two installations of Qt Creator etc.

If you don’t want to ‘switch’ between the creator installations, just take one and either register the ‘other’ compiler, Qt version, Kit by hand.

Arnab says:

Would really like it if it would be possible to open more than one window for editing purposes. I know it’s possible to open multiple instances, but that’s really not optimal :)

Oliver says:

From my point of view, C++ 11 features are not useful for 95% projects. What we need is simply make us coding more quickly and easily. Such as code templates(constructor,copy constructor,operator overload), and more Wizards(class creator,slot Wizard). And most important, code completion feature, which is not so smart as Eclipse (Alt+’/’).

Andre' says:

According to the feedback we get that is, I am afraid, not the view of the majority of our users. C++11 brings a lot of actually _useful_ features on the table, helping to improve execution performance and reducing the need to write boiler plate code. People are starting to use these features rather rapidly, and it’s also one of the areas with significant external contributions, indicating that this is heavily wanted and used. Oh, and Qt itself uses some of it.

Just handling C++11 as C++98/03 on the parser side is not a viable option, as some C++11 constructs (rvalue references, lambda, initializers etc) can completely throw off parser expecting 98. So as a minumum, the new constructs have to be recognized anyway. Properly handling them then is not too much of a stretch.

For the feature requests you have, consider filing them at bugreports.qt-project.org, perhaps with a bit of explanation why it is useful. The need for a copy constructor template is e.g. not obvious to me, “value” style classes tend to rely on their member’s copy constructors to work, classes in inheritance hierarchies are often non-copyable, in both cases there is no need to “manually” write a copy constructor for the class. I certainly do write copy-constructors every now and then, but right now I don’t feel this happens often enough to justify the implementation of a code template.

Note that you can easily add snippets to ./share/qtcreator/snippets/cpp.xml yourself or change e.g. the existing “derived from QObject” template.

Danny says:

Sorry, you’re wrong. C++11 is fantastic and is seeing rapid adoption. Apple’s XCode already supports a lot of it (via Clang) and even Microsoft are catching up with VisualStudio 2012.

C++11 features are largely compatibility with existing C++ code and can be used (or not used) at will. C++11 makes the std libraries alone 100x more useful and if you use function pointers or functors at all you will appreciate lambdas.

Creator cannot afford to fall behind here.

Andre' says:

@Olivier: For a reference what can be done with C++11 in a Qt context, check out Olivier’s blog on property bindings and declarative syntax in C++.

Konstantin Isakov says:

Is autocompletion for classes imported by the ‘using’ directive still broken? E.g.


using SomeNamespace::Foo;

Foo f;
f.(ctrl-space does not work here)

Jared says:

Yes, this does not have proper syntax-highlighting or code-completion. Would love the auto keyword to be deciphered by the code model as well.

I love this IDE and hope one day Clang is integrated.

Andy says:

I see that the autocomplete now functions for the shared_ptr type but not for unique_ptr.

[…] Qt Blog Tweet Related […]

Danny says:

It took me a while to get used to working with ‘Kits’ but I have to say they’re a great improvement over the older build system.

But Creator still suffers from the design of the .pro.user file which contains too much vital information and cannot be persisted between users, in source control or even between minor version changes. Please, please for Creator v3, ditch the pro.user files! They make Creator next to useless in a team environment.

More C++11 integration is very welcome and I’ m thrilled to see LLVM integration but someone seriously needs to give LLDB some love, particularly on Mac OSX where even basic debugging is so broken it’s a joke. I’ve noticed that Creator 2.6 provides the option to use LLDB in place of GDB but I’ve never been able to get it work.

Andre' says:

@Danny: We are painfully aware of the unfortunate mixture of “personal” and “project” data in the .pro.user files, addressing that should be on the agenda. Regarding LLDB, that’s now pretty high up on my personal list. I think we will have something in this area for 2.8.

Wolfgang says:

Could someone elaborate on what the problem with .pro files is supposed to be? I have no issues with them. In fact, I have never seen such a compact and elegant format in any other IDE. My only problem with QtCreator in that respect is how to persist parts of the information stored in the .user file when you refresh your working copy.

Bob says:

Is QtCreator ever going to have a minimap like KDevelop has? It would be a great help when getting lost around large files.

Subrato says:

As a long time QtCreator user, I have to say this:

This i.e. 2.7.x (and 2.6.x) is the most bloated version of QtCreator ever. I had to downgrade back to Qt 4.8.4 with QtCreator 2.5.x to get everyday work done. Is Qt 5 the culprit?

A couple of other things that annoyed me for a long time (as long as I used Qt) is the left most panel of icons. Is horizontal screen space so cheap?
Similarly what’s the point of having a new panel for debugger output? Why can’t it just dock into the already open panel containing the compiler/search etc. outputs (every IDE out there follows this UI principle)? Once a debugging run is one the amount of text editor view available is very small to be useful.

Maybe its time Qt projects starts a QtCreator “Express” edition.

Andre' says:

@Subrato: Assuming you are refering to the “Debugger Log” view there is (a) usually no need for you to open it at all, unless you want to debug the debugger itself, or issue direct commands to the debugger, and (b) the possibility to have it tabbed with any other of the debugger views. The “left buttons” have not changed since years.

Subrato says:

@Andre’
I’m not referring to the “Debugger Log”.
I’m talking about the “Locals and Expressions” pane. I think it is most frequently used pane being watched.
I think it should be possible to have it docked as yet another tab alongside “Issues”, “Application Output”, Compile Output” and “Search Results”. It will save a lot of space.

It will be great if someone suggests some command line switches to completely exclude some of the plugins.

We use Qt (and Qt Creator) heavily for server side software development, usually the stuff that runs as daemons. There must be a way to build the IDE without any dependency on Designer (in turn Webkit), Assistant, Linguist etc.

Andre' says:

Running “qtcreator -help” mentions “-noload Do not load ”

You can also simply delete the plugins you never need.

Jared says:

I have not experienced the bloat you have. For me, qtcreator keeps getting better and better. However, I also have always been annoyed by the mode selector bar. It never seemed an elegant user interface element to me.

I hacked in a very simple change to have the mode-selector bar disappear when the sidebar is hidden, replacing the setSidebarVisible function in mainwindow.cpp with this:

void MainWindow::setSidebarVisible(bool visible)
{
if (NavigationWidgetPlaceHolder::current()) {
if (m_navigationWidget->isSuppressed() && visible) {
m_navigationWidget->setShown(true);
m_navigationWidget->setSuppressed(false);
m_modeManager->setModeBarHidden(false);
m_menu
} else {
m_navigationWidget->setShown(visible);
m_modeManager->setModeBarHidden(!visible);
}
}
}

I rarely ever use the mode selector. If I want to change my build targets or enter debug mode I’ll just use ctrl-2,3, etc. I also don’t need the sidebar, preferring to use ctrl-k, ctrl-o, etc. to open/find files

This is a crude hack, but has worked for me for the past few months and only took a few minutes to figure out/implement.

Commenting closed.