You are using an obsolete web browser, or you have the page styles (CSS) disabled. You'll be able to access this site, but only a visually simplified version.

Qt Creator

Well, since everybody is doing it, I too wanted to share my wisdom about the technology preview version of Qt Creator.

I will not write about the Qt Creator vs KDevelop relationship since KDevelop was never my scene. Tried the KDE3 edition once (a long time ago), and it just didn’t work for me (not only because of all the crashes). After that, I turned to Eclipse for C++ development because of its plugins, mainly the Subversion browser. I even set it to work with CMake properly, and to run KDE4 applications in their own environment. But, after awhile, I got tired of the slowness and of compilation errors related to ‘:w’ everywhere in the code, so I decided to return to Vim and to make an IDE out of it, but that is another story.

Qt Creator

At first I just downloaded it, started, and closed it almost immediately. Why? It looks too fancy for a real developer’s tool. Shiny run, debug and build buttons, etc. and a large Nokia logo. Why do I need that, I really don’t know.

Then, I decided to give it a second chance and start a small, but real project. The interface, although too fancy for me (remember, I use Vim) isn’t all that bad at all. It is pleasant and fast (unlike most IDEs today). I will not repeat Aaron’s stances on the subject – I mostly agree with him – I’ll just point a few other things that I did or did not like.

Pros

Well, I have nothing to add what was not already said – UI is clean, it is fast, it has a quite a few nifty features…

Cons

If this sounds too harsh or rude, I apologize, it wasn’t my intention, just trying to say what I find peculiar about the IDE.

I like keeping my code organized. I like having subdirectories, and subdirectories of those subdirectories etc. How to do that in Qt Creator? Well, to be honest, there is no way (at least not yet). You can organize your files the way you want, but Qt Creator will show all of them in a list. So, what is the point of organizing them? And what is the point of the Project browser if you get a list of a (potentially) few hundred files?

Then, you want to add a class to your project. You right-click the project in the project browser, and get an option to add a new file. OK, lets go for that. Here you get to create a ‘C++ Header file’ and ‘C++ Source file’ (amongst other non-relevant options for this task). OK, so we need to create them separately… but I know I saw somewhere an option to create a C++ Class… huh… let’s try this: File > New… Oh we get the SAME dialogue as the one we had earlier, only now we get to create a C++ Class as well. Strange.

Epilogue

I don’t want to sound like I hate the software, because I don’t – it is really cool, but I wanted to take it a bit more seriously than just ‘uh, a new toy, I must try it’. It has a potential to become a really good development environment, but has a really long way to go before it does.

And for the end, Trolls*, good job so far, now just finish it ;) .

* Hmmm, since it is no more Trolltech but Qt Software, should we start calling them Qties (Cuties) instead of Trolls? :)

9 Comments

  1. They’ll always be “trolls” to me :)

    Comment by profoX (Wesley) — 4 November 2008 @ 21:15 Reply to this comment

  2. >> so I decided to return to Vim and to make an IDE >> out of it, but that is another story.

    A story that I’d like to hear :-)
    Have you tried the vim mode in kate, I like it! And do you use eclipse for java development or also vim?

    Comment by thomas coopman (tmske) — 4 November 2008 @ 22:41 Reply to this comment

  3. Just hide the project explorer and use CTRL-K to get to the quick open bar and then start typing the name of the file you want to open. In a non-trivial project, the project explorer is going to be way slower no matter how nicely you organize it in subfolders.

    Comment by Leo S — 5 November 2008 @ 00:41 Reply to this comment

  4. I completely agree with your review.
    Qt Creator, at this stage, is not for developers, but kids.
    KDevelop is quite enough for me and it has everything I need. Moreover, in KDE, Qt applications like Skype or Creator, sometimes stop to work and re-start if you change the focus on a different windows. This does not happen with KDE, which is based on Qt too.
    Regards

    Comment by giuseepd — 5 November 2008 @ 00:44 Reply to this comment

  5. @tmske
    Well, maybe one day I’ll be bored enough to translate the article I wrote about that into English. And possibly to add a few KDE development related things, but not now :)

    I have followed the Kate+Vim summer of code project, but haven’t tried it yet. It is on my TODO list, but I haven’t got the time ATM.

    As for Eclipse, strangely enough, I have never used it for Java. I use NetBeans with jVi (jvi.sourceforge.net) plugin which makes the editor in NB behave just right :) (and this is mostly due to fact that I don’t develop in Java much lately, so I haven’t made a Vim Java IDE yet)

    @Leo
    I have to disagree. The Project plugin for Vim does help immensely – directories, filters etc. And since it is a normal Vim window, you can also do a search on it, if you want.

    For example, when developing Lancelot, I rarely work on both the library and the application at the same time. So, why would I bother with classes which are not in the currently desired group (and no, creating multiple projects just for that is not a valid solution, at least not for me).

    As I said, Qt Creator is a beginning of something that has a great future (I hope it will) but right now it is just a toy (albeit for more advanced kids :) )

    Comment by Ivan Čukić — 5 November 2008 @ 07:46 Reply to this comment

  6. Thanks for the review, it shows that we (Qt Software) are on the right track :) Although I didn’t understand why the two points you made justify the harsh conclusion that “it’s just a toy”.

    Regarding the Projects Browser: Well, if you have a complicated, deeply nested project the Project Browser is just not for you. It’s meant to work for small projects, because browsing through 1000 or more files will not scale, never mind how nifty the view is. If we would show the complete structure (that is, all subdirs, pri files, relative file paths etc) the view would be hardly usable, unless you expand the sidebar to take half of the width of your screen. You have probably noticed that you have other views in the sidebar too: the Open Documents, which probably corresponds to the vim project plugin, the File System view … And in most of the cases you want to use QuickOpen anyway!

    I hope you give QtCreator another try when we finally release it.

    Comment by Kai Koehne — 6 November 2008 @ 15:34 Reply to this comment

  7. @Koehne
    Well, you definitely are on the right tracks :)

    The term “toy” was used only as a follow up to “not for developers, but kids” comment by giuseepd. Albeit, Lego Mindstorms are toys, so I did not mean it as an insult or anything. So I apologize if that sounded too serious and rude.

    The main reason I, personally, find it not fitting is the editor, but Aaron (I think) already pointed that out, so I didn’t want to duplicate.

    It simply doesn’t provide what I’m used to with Vim. And the rest of Qt Creator at the moment provides nothing except gdb integration that would even tempt me to switch to it.

    To see how the Project tree could become useful, visit the Project script for Vim http://www.vim.org/scripts/script.php?script_id=69 – it is not all you ever wanted, but is very useful even for larger projects. It allows you to show certain things, to hide others, to make virtual subdirs etc – for example, create a UI subdir that shows only *.ui files etc. So, it can be a simple file browser, but a lot more than that.

    I’m going to continue using Qt Creator it for something small that I started (I mentioned it in the post), to see whether I can get used to it – so, I’m not dumping it or anything.

    And, naturally, I await the final version eagerly. :)

    p.s. As long as I got your attention, splitting the editor vertically/horizontally would be a very welcome addition! :)

    Comment by Ivan Čukić — 6 November 2008 @ 15:54 Reply to this comment

  8. I did my bachelor thesis on a project based on Lego Mindstorms, so I like your comparison :)

    It is of course hard to switch your everyday working environment, especially if you are used to vi which doesn’t exactly follow the use interface the average joe editor :) On the qt-creator mailing list there are in fact a couple of people highly addicted to vim (there are emacs guys too, of course), and we are looking for ways to support them – either by keybindings, or by firing up an external editor … we’ll see.

    I will have a look at the vim project mode. However, for the 1.0 version of qt-creator our target is to get the basic things right, so you will probably not see very advanced features regarding the project explorer :) But I’m optimistic that as soon as the interfaces are somewhat fixed people will develop all kinds of plugins, copying the most beloved features of other editors :)

    There is already a way to split the editor both vertically/horizontally (right under the Window menu), but we are not really happy with it right now usability wise.

    We really appreciate feedback, and if you happen to find more issues, tell us! You might also consider to join the (right now very active) mailing list: qt-creator@trolltech.com .

    Comment by Kai Koehne — 6 November 2008 @ 16:40 Reply to this comment

  9. [...] I said earlier, I am a Vim fan, and I can not see that it will change in the foreseeable future. But, I have to [...]

    Pingback by Ivan Čukić » Vim and Qt Creator’s Quick Browse — 16 November 2008 @ 19:42 Reply to this comment

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.