Thread: Can Anyone Recommend A C++ IDE?

  1. #16
    Registered User
    Join Date
    Aug 2003
    Posts
    1,218
    Quote Originally Posted by Elkvis View Post
    Qt Creator's UI is very non-traditional, as IDEs go, and in some ways I'd even call it inconvenient, but it certainly does beat Code::Blocks and Eclipse in just about every other way.
    Just curious but what features do you have in mind here?
    STL Util a small headers-only library with various utility functions. Mainly for fun but feedback is welcome.

  2. #17
    Registered User
    Join Date
    Oct 2006
    Posts
    3,445
    Quote Originally Posted by Shakti View Post
    Just curious but what features do you have in mind here?
    Keep in mind that most of my comments were strictly my opinion. Your results may vary.

    Regarding the UI:
    Qt Creator doesn't use the typical tab-based editor. It uses a listbox that contains a list of the open files. I personally prefer a tab view.
    Editing project preferences is split into two areas: the .pro file and a GUI-based editor. I understand why they are separated, but I think it would be better if they consolidated them into a single unified control.
    Switching between the Edit, Design, and Debug (and others) perspectives is unusual, and it can take a while to get used to it, especially if you're used to a more traditional IDE, particularly Visual Studio, that switches perspectives automatically.

    Regarding the ways in which it surpasses Eclipse:
    Everything about Qt Creator is faster than Eclipse, except the build process, in which case the underlying platform build system takes over in both cases. Eclipse is so incredibly slow at times, that I literally have to get up and take a trip to the restroom just to kill some time while waiting for it to complete. The indexer is the primary culprit here, but I would consider just about every part of Eclipse to be unnecessarily slow.

    Regarding the ways in which it surpasses Code::Blocks:
    Qt Creator is a commercial software product, that happens to be available under an open source license, so all of the features in Qt Creator are thoroughly tested before being released. As a result, the overall user experience is much better. Despite being unusual, Qt Creator works very well. It doesn't have a reputation for being buggy like Code::Blocks does.
    What can this strange device be?
    When I touch it, it gives forth a sound
    It's got wires that vibrate and give music
    What can this thing be that I found?

  3. #18
    Registered User
    Join Date
    Aug 2003
    Posts
    1,218
    Quote Originally Posted by Elkvis View Post
    Keep in mind that most of my comments were strictly my opinion. Your results may vary.

    Regarding the UI:
    Qt Creator doesn't use the typical tab-based editor. It uses a listbox that contains a list of the open files. I personally prefer a tab view.
    Editing project preferences is split into two areas: the .pro file and a GUI-based editor. I understand why they are separated, but I think it would be better if they consolidated them into a single unified control.
    Switching between the Edit, Design, and Debug (and others) perspectives is unusual, and it can take a while to get used to it, especially if you're used to a more traditional IDE, particularly Visual Studio, that switches perspectives automatically.
    Yah I was curious because I also used to find it to be a bit clumsy to work with so wanted to compare notes so to speak.

    Note that the comments below are not meant to invalidate your concerns or to tell you "you are wrong" or anything. I am just giving my perspective and thoughts on the same points as you gave above (and maybe tips on how to "fix" some of it)

    About the consolidating of project preferences: I don't really think that is completely possible. One is supposed to be machine-dependant (the Project view) and one is supposed to be project dependant (the .pro file). The pro file tells qmake how to generate a makefile, while the Project settings tells Qt Creator what toolchain to use on this particular machine/Operating system. The split becomes more apparent when you work on the same project in both Linux and Windows, with say gcc (and maybe even a crosscompiler to ARM or some other target) as toolchain in Linux, and the MSVC compiler on Windows. In this case you do not want to pollute the Windows specific settings with Linux-stuff and vice versa, but at the same time you want to be able to generate a correct makefile.

    About the switching of perspective I can totally get that. One of the gripes I currently have is when I launch an application while in design mode, this causes the Application output window to show up at the bottom of the screen. Now when I am in Edit mode I can close this window with escape button no problem, but in design mode the escape button will close the designer and I get shown the raw XML code for the UI instead, which I can not edit anyway. So yah this is kind of unintuitive at times.

    Last the file handling; I had the exact same gripe, until I learned about the locator. Qt Creator does not lend itself well to a mouse-centric file-handling workflow. But when you learn to love the locator you will miss it when you don't have it. Nowadays when I want to edit a file I hit ctrl+k and type the name of the file I want to edit (or parts of it) and hit enter and boom, it's open. If I want to go to a function in the file: ctrl+k type <dot><space><part of function name> and I will be taken there. And now when I am used to this I miss this feature so much in Visual Studio or other mouse-centric IDEs. I miss it so much that I have a hard time using tab-based IDEs.
    Last edited by Shakti; 08-25-2014 at 02:56 PM.
    STL Util a small headers-only library with various utility functions. Mainly for fun but feedback is welcome.

  4. #19
    Registered User
    Join Date
    Oct 2006
    Posts
    3,445
    Quote Originally Posted by Shakti View Post
    About the consolidating of project preferences: I don't really think that is completely possible. One is supposed to be machine-dependant (the Project view) and one is supposed to be project dependant (the .pro file). The pro file tells qmake how to generate a makefile, while the Project settings tells Qt Creator what toolchain to use on this particular machine/Operating system. The split becomes more apparent when you work on the same project in both Linux and Windows, with say gcc (and maybe even a crosscompiler to ARM or some other target) as toolchain in Linux, and the MSVC compiler on Windows. In this case you do not want to pollute the Windows specific settings with Linux-stuff and vice versa, but at the same time you want to be able to generate a correct makefile.
    Like I said, I understand why it is the way it is, but I think it would be nice to have a global (cross-platform) .pro file editor, that effectively makes it impossible to screw up your .pro file. it would allow you to edit any detail of the file, while providing assistance and preventing invalid input. For example, a series of check boxes for which Qt components to include, or a means to graphically add include and library paths as well as the libraries themselves. Something like Eclipse has, where you can select which configuration to modify, so you can still have separate settings for win32 or linux or whatever.
    What can this strange device be?
    When I touch it, it gives forth a sound
    It's got wires that vibrate and give music
    What can this thing be that I found?

  5. #20
    Registered User
    Join Date
    Aug 2003
    Posts
    1,218
    Quote Originally Posted by Elkvis View Post
    Like I said, I understand why it is the way it is, but I think it would be nice to have a global (cross-platform) .pro file editor, that effectively makes it impossible to screw up your .pro file. it would allow you to edit any detail of the file, while providing assistance and preventing invalid input. For example, a series of check boxes for which Qt components to include, or a means to graphically add include and library paths as well as the libraries themselves. Something like Eclipse has, where you can select which configuration to modify, so you can still have separate settings for win32 or linux or whatever.
    Ah yes, that would be awesome!
    STL Util a small headers-only library with various utility functions. Mainly for fun but feedback is welcome.

  6. #21
    Registered User
    Join Date
    Dec 2006
    Location
    Canada
    Posts
    3,226
    I only use Qt Creator as a tabbed editor for code completion and auto-indentation, and do all my building/running/debugging on the command line, so I don't have to deal with all the project config stuff.

  7. #22
    C++ Witch laserlight's Avatar
    Join Date
    Oct 2003
    Location
    Singapore
    Posts
    27,417
    I confess that I use Geany with build scripts at the command line.
    Quote Originally Posted by Bjarne Stroustrup (2000-10-14)
    I get maybe two dozen requests for help with some sort of programming or design problem every day. Most have more sense than to send me hundreds of lines of code. If they do, I ask them to find the smallest example that exhibits the problem and send me that. Mostly, they then find the error themselves. "Finding the smallest program that demonstrates the error" is a powerful debugging tool.
    Look up a C++ Reference and learn How To Ask Questions The Smart Way

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Can you recommend...
    By Joeg1484 in forum C Programming
    Replies: 3
    Last Post: 12-17-2009, 09:18 AM
  2. What would you recommend me?
    By Piggy-Bank in forum Tech Board
    Replies: 6
    Last Post: 09-07-2006, 09:28 PM
  3. recommend me...
    By ElastoManiac in forum Networking/Device Communication
    Replies: 3
    Last Post: 11-28-2005, 09:00 AM
  4. Can anyone recommend this?
    By Lurker in forum A Brief History of Cprogramming.com
    Replies: 10
    Last Post: 11-01-2003, 06:37 PM
  5. What would you recommend?
    By Inept Pig in forum A Brief History of Cprogramming.com
    Replies: 5
    Last Post: 05-22-2002, 11:48 PM

Tags for this Thread