Favorite IDE/editor for Qt
-
Vim. Simply because most of the development time is spent editing code. So, even if I miss some things available in an IDE, those are easier to live without than to use a Ctrl-C-Ctrl-V editor :)
And since Vim is extensible using vimscript and python, there are no important things to be missed.
As for IDEs, Qt Creator feels nice, and KDevelop4 is just freaking awesome. (When the VIM mode in KDev becomes mature enough, I could even consider abandoning Vim)
-
Ivan: Are you aware that Qt Creator has a vi mode? Never used it myself, so I can not really say how well it works, but it seems to have quite a few users:-)
-
Yes, I know, so does the KDevelop.
QtCreator2 has come a long way concerning FakeVim mode (compared to 1.x), but it still isn't sufficiently powerful for my taste.
From my point of view, it needs (the same goes for KDev) exporting of menu actions and similar to FakeVim command - so that, for example, I can type :vsplit instead of Ctrl+E, 3... and it desperately needs command completion.
I haven't checked whether it supports custom key mapping (*map commands in Vim) but that also would be essential :)
-
In my most humble opinion, QtCreator is simply the best cross-platform fully integrated c++ IDE available. Sorry Eclipse, but I can't stomache using a Java IDE that is overloaded with features and hacked to provide c++ functionality. I can install QtCreator on any platform in minutes, and I can confiugre it for my personal uses just as fast.
-
I typically use Vim for editting, and Eclipse for debugging, but I've been trying to use Qt Creator more. I like the FakeVIM mode, but it still does not have enough features to replace VIM. One of the things I miss the most is the ctrl-N for word completion -- perhaps there is something equivalent.
For debugging I've still not been able to get Qt Creator debugger to work as well as Eclipse. For some tasks it works well, for other tasks, it has trouble displaying variables, and overall the GDB integration does not seem as stable as Eclipse. However, I'm looking forward to using it more as I learn Qt Creator, and it improves. I wrote a short article about the subject:
http://bec-systems.com/site/704/qt-creator-for-cc-development
-
cbrake: File feature requests in "our bugtracker":http://bugreports.qt.nokia.com/.
Please consider giving the master branch a try first... it is already pretty much different than 2.0 and has some FakeVim mode improvements, too IIRC.
-
Qt Creator is my fav for Qt developement, Visual studio for C#.Net stuff. I think. Qt creator is simply the best available for qt developpemnt. I really like the camel case completion :).
-
I use Qt Creator (Qt development for both mobile and desktop), Eclipse (for Java and Android development), vim for everything else and in-between.
-
[quote author="cbrake" date="1282679946"]I typically use Vim for editting, and Eclipse for debugging, but I've been trying to use Qt Creator more. I like the FakeVIM mode, but it still does not have enough features to replace VIM. One of the things I miss the most is the ctrl-N for word completion -- perhaps there is something equivalent.
For debugging I've still not been able to get Qt Creator debugger to work as well as Eclipse. For some tasks it works well, for other tasks, it has trouble displaying variables, and overall the GDB integration does not seem as stable as Eclipse. However, I'm looking forward to using it more as I learn Qt Creator, and it improves. I wrote a short article about the subject:
http://bec-systems.com/site/704/qt-creator-for-cc-development
[/quote]
ctrl-Space does word completion in QtCreator
-
It is rather difficult to get used to Ctrl+Space when you are used to Ctrl+N/Ctrl+P. Especially since C+N opens the /New/ dialogue :)
-
@Ivan: All keys can be reassigned, so just change them to suite your needs better.
-
[quote author="Ivan" date="1281359417"]Yes, I know, so does the KDevelop.[/quote]
They are different implementations, and differently "conforming".
[quote author="Ivan" date="1281359417"]QtCreator2 has come a long way concerning FakeVim mode (compared to 1.x), but it still isn't sufficiently powerful for my taste.
From my point of view, it needs (the same goes for KDev) exporting of menu actions and similar to FakeVim command - so that, for example, I can type :vsplit instead of Ctrl+E, 3... and it desperately needs command completion.[/quote]
Just typing :vsplit actually works. No need to map anything. But if you want to map anything, there's Tools->FakeVim->Ex Command Mappings.
[quote author="Ivan" date="1281359417"]I haven't checked whether it supports custom key mapping (*map commands in Vim) but that also would be essential :)[/quote]
Seeing commits like 44c02264d "fakevim: make :map work for non-ASCII characters" suggests that something like that works.
-
[quote author="Duck" date="1283074460"]
They are different implementations, and differently "conforming".
[/quote]Wasn't QtCreator's FakeVim based on Kate's (GSoC project from while back)?
[quote author="Duck" date="1283074460"]
Just typing :vsplit actually works.
[/quote]Yes, I saw. But I have no idea in which version it was introduced. And it behaves a bit odd when you want to close a split with :q - it leaves the splits, but closes the current file (and all splits that used to show it, become empty)
As for mapping, I meant something like
@:imap <F5> <ESC>:make<CR>@
(or a more complicated function calling etc. - it doesn't need to be Vimscript, Qt/ECMAScript would do just fine)
Thanks for the tip on ex-mappings. It can be useful, but it is a bit tedious to set up manually for every item.
From my point of view, if the above (vim-like-scripting) was implemented, the actions could have a default qtc_ActionName ex command, and we could define comething like this in .qtcreatorvimrc (or wherever)
@:command MyCommand call SomeFancyFunction(...)@
-
[quote author="cbrake" date="1282679946"]I typically use Vim for editting, and Eclipse for debugging, but I've been trying to use Qt Creator more. I like the FakeVIM mode, but it still does not have enough features to replace VIM. One of the things I miss the most is the ctrl-N for word completion -- perhaps there is something equivalent.[/quote]
It has Ctrl-Space for C++ code completion, taking scopes into account and such. That's not exactly what Ctrl-N provides, but some people seem to be more eager to have "C++ consciousness" instead of "pattern matching".
[quote author="cbrake" date="1282679946"]
For debugging I've still not been able to get Qt Creator debugger to work as well as Eclipse. For some tasks it works well, for other tasks, it has trouble displaying variables, and overall the GDB integration does not seem as stable as Eclipse.[/quote]Now, that's interesting. Which issue on http://bugreports.qt.nokia.com/browse/ are you refering to? I quickly browsed through the debugger related issues and except for the Mac-specific QTCREATORBUG-2097 there's nothing stability related that's easily attributed to Qt Creator (as opposed to gdb itself).
Also, there's this issue of "usability". Eclipse C++ debugging is so fragmented that's not even funny anymore. CDI? DSF? TCF? CDI is declared obsolete, still widely used because it, well, does not create surprises anymore. According to http://dev.eclipse.org/mhonarc/lists/cdt-dev/msg20191.html DSF still cannot really put breakpoints in dynamically loaded plugins, and TCF is "experimental", at best. To my best understanding, none of the three modes can debug MSVC compiled binaries (Qt Creator can), none of them does anything like "pretty-printing" of (non-trivial) Q* or std::* or Symbian types, or even user defined types. How do you visualize, say, the properties of a QObject (-derived class) in the (any of the) Eclipse debuggers?
-
[quote author="Ivan" date="1283077985"]
Wasn't QtCreator's FakeVim based on Kate's (GSoC project from while back)?[/quote]No, it's a completely unrelated code base.
[quote author="Ivan" date="1283077985"]
[quote author="Duck" date="1283074460"]
Just typing :vsplit actually works.
[/quote]Yes, I saw. But I have no idea in which version it was introduced. And it behaves a bit odd when you want to close a split with :q - it leaves the splits, but closes the current file (and all splits that used to show it, become empty)
[...]
From my point of view, if the above (vim-like-scripting) was implemented, the actions could have a default qtc_ActionName ex command, and we could define comething like this in .qtcreatorvimrc (or wherever)@:command MyCommand call SomeFancyFunction(...)@[/quote]
The "odd" closing behaviour is inherited from Creator core. :make also works directly, :imap works at least for a limited set of actions, and regarding "if Foo was implemented...": FakeVim is really easy to get involved with, with more than a hundred contributions from outside Nokia so far.
I do agree that having a "standardized" way to access Creator core functionality would not hurt, on the other hand, hard-wiring, say :vsplit to the respective core action is only three lines, so there has to be a few hundreds of such cases of interaction to make implementing a generic interface worth while.
-
[quote author="Duck" date="1283097413"]... and regarding "if Foo was implemented...": FakeVim is really easy to get involved with, with more than a hundred contributions from outside Nokia so far.[/quote]
I know, but unfortunately I have too much already on my plate with KDE and my PhD studies so I can't really do this as well.
The only way I can currently contribute is by suggesting improvements.
-
For any complex project, Eclipse is still my IDE of choice. Due to its extensibility you can rely on additional tools for a lot of tasks, e.g. you can add XML editing with automatic XSD validation and auto-complete support or seamless integration with bug tracking tools.
The only major feature I am missing in Eclipse compared to QtCreator is its automatic parsing of Qt objects into meaningful output when debugging. But apparently someone is working on that for the next CDT release.