Qt: Should I use Visual Studio, Qt Creator or something else? [closed]
I realize that there have been similar questions, but they seem to have been from when Qt Creator was still in beta, so the answer might have changed since then:
开发者_Python百科We are going to start a project with a small amount of GUI that needs to work on Windows, OS X and Linux. So choosing Qt was a no-brainer, even though we have little experience with Qt.
What is currently the best option for IDE?
All the developers will be using Windows machines, so the IDE does not need to be cross-platform.
We use Visual Studio for most things, but most of us are also comfortable with Eclipse.
How are the refactoring tools in Qt Creator? I like Visual Assist X when using Visual Studio for C++. Have anyone tried using that with Qt-projects?
I realize that was a lot of different questions. Please answer even if you can't answer all of them.
EDIT:
I should probable add that we already have Visual Studio and Visual Assist licenses, so the cost of those is not an issue.
I use Visual C++ 2008 with Visual Assist and Qt Creator with MinGW:
- MinGW will drive you nuts, but thankfully you can use the VC++ compiler in Qt Creator.
- The debugger integration is not as good as VC++. You can't set the next instruction or do any of the fancy stuff like see what a function has returned in the locals window. GDB is as slow as a snail.
- Code navigation is as good as VA X (but use the tech preview, 1.2.1 is not that great)
- Code completion is acceptable, certainly not as good as VA X. Code completion doesn't work for anything a bit more complicated such as accessing the members of a const_iterator from a QList typedef.
- Lighter IDE than VC++ and has a nicer GUI IMO.
- .pro files are generally easier to manage than sln
QtCreator is a good alternative to VC++ and I would definitely use it on Linux. If you already have VC++ 2005 or 2008 and VA X, I recommend that you install the Qt addin and use VC++ for development. I also recommend that you install the Qt SDK side by side and compile in both MinGW and VC++ to catch cross-platforms issues early! Try to keep the .pro files in sync to the sln and beware of this issue.
Use QtCreator, but learn key all shortcuts first.
I'm 30% faster (veeeery subjective:-) since I switched, and I tried every IDE and editor there is for several days to several years. I'm fed up with visual-something and even eclipse, my long-time favorite.
First I thought 'another ide, what a waste of these developers' time', but after some days I used Qt creator even for non-Qt C++ development.
This IDE helps you to focus on your work, hides all distraction and lets you jump instead of search. (So, no class browser desired)
QTCreator is still in the beginning of its dev if you are facing it with Visual Studio.
Personally I'm using QTCreator for QT devs since all QT environment (IDE, QTDesigner, QT Documentation) is embedded and I find it great but not mature for now.
But since you used to develop with Visual Studio (with the Visual Assist X add-in) you should continue using it. In addition new QT binaries have been released for Visual Studio 2008. So no need to compile QT before using it!
Edit (Oct 5) : Next QtCreator release 1.3 will have an improved completion system at least as good as Visual Assist X : http://www.youtube.com/watch?v=TyfO-7lvy%5Fc&feature=player%5Fembedded.
I own Visual Studio 2005 and the wonderful add-on "Visual Assist X" (VAX I call it), but am pleased with using Qt Creator. Things get way better with Qt Creator 1.3, and I hope 1.4 adds a class browser, which is its worst weakness. But I am continually amazed by how good Qt Creator is, and how clear a vision its developers have. Amazed, I Say! It is as though all the VS competitors laid down and died and now Qt Creator is all that stands to truly develop a C++-Centric IDE. I always hated how VS watered itself down to adapt to every language, to the point that later versions downplayed the MFC wizards (yuck, but hey, I needed them back then). Eclipse is based on Java. I love using an IDE build with Qt and made for Qt. So go Qt Creator and don't look back. At first I was a bit wary that Qt Creator might be another "dies on the vine" type of project, but after the last two releases and the coming v1.3 I see that it is going to be the new kid on the block -- if only it gets that class browser!
I was confronted with the same problem not so long ago. I chose QtCreator in the end, because it really grew stable over the past few months.
It's just so much easier to have all your tools within one environment. The debugging facilities are also quite extensive and integrate well with the Qt framework. Code completion is almost as good as in Visual Studio (as long as you don't own Visual Assist ;-), and the code navigation is very easy to use!
That together with the fact that QtCreator works on all three major platforms made the difference for me in the end.
I think when starting a new project, QtCreator has become a serious alternative to consider...
Another possibility is using Netbeans.
Have a look at this
Netbeans provides great tools about memory and profiling for free. Morevover, the integration with Qt is nice.
I've never used the Qt visual studio integration, and I've only taken a quick look at qt creator, but here are my thoughts anyway.
Using Qt creator gives you a familiar debugging enviroment across platforms, with support for stuff like Qt collections.
It seems like Qt creator has really good code navigation features. It also integrates with git, subversion and perforce. When starting a new project, that seems like a plus compared to VS.
QtCreator is stable enough and a comfortable IDE, although compile/debug cycles are slower on Windows than with Visual Studio. It doesn't have all the fancy features Visual Studio offers, but after using it for a while I just realized I wasn't missing them. Especially in C++, where Visual Studio doesn't provide source refactoring - they really are pushing C# aren't they? ;)
Visual Studio is certainly a nice IDE, but at the end of the day if you have to pay many licences just for the fancy features (depending on the size of your team), that money could be better spent on other tools.
You will also avoid the trouble of maintaining different project files (Visual Studio on Windows, something else on MacOS and Linux), even if you develop on Windows only, time will come when you will have to compile, test and debug minor issues on the other OS'es.
Eclipse is an alternative, but I haven't checked the stability of Designer on that IDE. You might spend some time on configuring each workstation, and you might have to wait for updates. On the other hand, you benefit from the whole Eclipse environment, which could help if you have other needs. But is that worth the risk?
I would definitely try QtCreator first and try to stick with their environment. If that proves to be a problem, it won't be too late to move to VS later.
Your timing isn't too bad either: you should probably test the 4.6 preview, normally the official release should be soon.
Hit CTRL+K in QtCreator.
I would recommend to at least try QtCreator. Obviously for someone used to Visual Studio the transition won't be overnight but in the end I believe it'll be worth it.
Main reason is although you mention all developers will be using Windows, eventually you will have to run the program on other platforms during testing. And then it's hard to imagine you won't need to debug and fix things. You can do just fine with gdb/vim but for someone who's used to a debugger/editor experience that Visual Studio delivers, getting used to gdb/vim can take some time. QtCreator isn't perfect in this area, but it's as close as it gets to Visual Studio.
A few other points worth mentioning:
- It doesn't have the maturity of Visual Studio but for an IDE that's been around for around a year it's great.
- In terms of refactoring, it is not as advanced as Visual Assist X. As far as code browsing I'd say they're equal.
Have you considered a third option, MonoDevelop?
I have found it to be fairly quick, it has rudimentary refactoring support and it plays nice with QT.
Kindness,
Dan
qtcreator with ccache and make -j 5 make compile time cut down to almost unnoticeable.
精彩评论