[Qt-creator] Some thoughts about 2.5

Geronimo Ma. Hernandez geronimo013 at gmx.com
Mon May 28 06:48:26 CEST 2012


Hello sirs,

thank you all for your attention.
When I read Christians post, which looked to me very dismissive and snotty, I 
thought - I won't answer.

But then I read the posts from Sascha and André and I felt like you did 
understand my intention. So I cooled down and now I try to answer all points.

> I'd really like to see the debugger log. Something is unusual here.

OK, yesterday I had a little time to investigate the build problem from cmake 
and finally I got an executable for debugging. The log is attached. (I changed 
the absolute path of my home directory to a '~')
 
> Qt Creator won't protect you from knowing what you do. Maybe just sticking
> to Netbeans is the best option in this case. You seem to know and like it.

Well, Netbeans is not my first choice - for no language. It never was, and I 
guess, it never will be. But currently netbeans is the ide that supports most 
the way I like to work.
I'm an eclipse user and fan (already from the time, before naming it eclipse), 
but actually when I tried cdt I was so disappointed by the little 
functionality (compared to the great support at java language), that I looked 
for other ide.

Most of them did not live at least 5 minutes, until I purged them from disk 
and I won't even remember its name. Of cause, each ide brings its favorite 
build suite and some don't even support to import existing projects.
Netbeans supports only its own Makefiles, but support is excellent. KDeveloper 
created the cmake suite, so I was very happy, when I read, that QtCreator has 
cmake support. I don't know cmake and neither make - so I'm forced to use 
dialogs and wizards.
So currently my project layout is created by KDevelop and I created a 
directory aside for netbeans, which supports importing source and headers from 
other directory/projects.

As I'm pretty new to C++ my faults are the biggest part, so debugging support 
has the biggest importance to me. KDevelop and netbeans offer reasonable 
debugging support, KDevelop is the slowest ide I've ever got in touch with, 
but has some nice features. From netbeans I like the separation between header 
and source and window support is very close to the great eclipse one.
 
> > Ok sorry - I found the above article that incredible, that I got
> > emotional.
> 
> [Well, I might even agree on the "incredible" part, but I am afraid
> we might disagree on the direction...]

:) - There might be a difference, depending on the background of the reader. 
You probably are proud of all that features, but someone who just wants to see 
some content of locals at debugging time gets horrorified.

OK, let's head the other details:

> I guess there is a barrier of communication and it is also possible that you 
> "identified" things you are missing without having finished your exploration.

I don't see a communication barrier. The barrier was to join the ML.
My exploration finished, when I first started debugging. Getting no content of 
nothing, does not help me.

So my focus on ide selection is, what the ide can do for me. And very 
important too: the learning curve - means, how much time do I have to spent 
before getting the best out of it.
If I find an ide that fits, then I take my time to find out, what I can give back 
- like doing with my writing.

But I admit the possibility that you took my writing as affront and not for the 
wish to help improve an attractive application. 

>> - support for different window (number, size, position) for debug session
>> and editing session and each session should save column size for lists too.

> This is an example of failed communication. I'm not sure I understand what
> you want to say.

When I start editing, I found out, that the editor-window can be splitted, so 
usually I have 4-6 editor(-windowpart)s open side by side.
When I start debugging, new windows (like variables) are introduced. When I 
join splitted editors, that change is stil in place, when I stop debugging.
Or to say the same in other words:
When I edit source, my major focus is the overview , so I like to see many 
editors at the same time.
When I debug my app, the major focus are details (my errors). So this time, 
one editor/source-window is ok, the other windows like variables, stack, 
memory are more important.
But ok - I don't know any ide beside eclipse, that supports this kind of 
session handling.

> For cmake-based projects (I don't have experience with, but) there is 
> discussion for improving the already great support existing there. Anyways, 
> you can use a full cmake-based wizard (like ccmake e.g.) then import your 
> project in QtCreator.

Please, don't tell me, what I can do outside of QtCreator. I know my linux 
system and lot of commandline tools, like source formatter and lot of others.
The point is, I don't want to learn new build-suites and I won't become a C++-
developer.
Ant from apache is the best multi-project build system I know and I don't need 
others.
If an ide needs another build-system, I expect, that it offers enuf 
wizzards/dialogs, that I can manage the build without having to learn the 
build suite.

But - hey - that's my expectation! - You're probably a C++ developer and know 
your build suites. So you have a distinct point of view.

>> - support templates for file, class and method creation (file-templates
>> distinct for each extension), with placeholder for date, username,
>> classname, ...

> This is already there. What do you mean? There are many possibilities for 
> macros too and you can even write your own wizards for creating absolutely 
> custom files.

Hey, I'm not interested in macros or writing my own extension (yet).
A template is a placeholder, that can easily be edited by the user.

I dived through the menu-entries, but did not find any similar entry.
I missed file comments (any comment) for created files. I gues doxygen is the 
standard for C++ - so this comments should be there, without having to change 
any default settings.


> > What do you mean? It seems to me this is what QtCreator does already!
> > 
> > Actually, QtCreator shows a clickable symbol near the changed definition / 
> > declaration; if you click it (or hit alt-enter), QtCreator refactors the 
> > counter part, BUT source navigation opens the destination file and jumps
> > the cursor there.
> 
> I just rechecked this. If you hit alt-enter and select "Apply function 
> signature changes", QtCreator 2.5 indeed does silently change the signature 
> without switching to the source file.
> OTOH, if you click onto the light bulb, it does jump to the signature.

Ok, I have to confess: I'm a mouse-squeezer, so I clicked the light bulb and 
did not imagine, the keyboard shortcut could behave different.
Hey, you're so great!

Thanks a lot!

> > - files created by "new C++-class" should automatically become part of the
> > (active) project, or add a context menu entry for project tree-nodes

> What do you mean? This is already the case.

May be, you confused it with kdevelop. There it works, but using "new C++-
class" in QtCreator created 2 files that where NOT part of the project. I had 
to edit CMakeLists.txt manually and then run a cmake manually to get the newly 
created files appear in the projects filelist.
May be it works for Makefile-projects or others, but it definitively does not 
work for cmake projects.

> > - add support for external beautifier/code-formatters like astyle,
> > uncrustify, jindent or the like
>
> Look at Tools/External/Configure, You won't need more, probably.

Please take for granted, that I don't know the much you know.

When I look at the recommended path (which I already did before you wrote it), 
I don't see anything about source-formatter.
Even if I see, the add button - how can I imagine, that an external formatter 
is supported? That's not intuitional at all.


> 
> > What do you mean? This is the case already.

Not in the version, I use (2.5)

> Additionally one can press Ctrl-Shift-U while the editor cursor is inside
> the desired keyword; QtCreator will do a search for the identifier based on
> its understanding of the code.

Don't take me wrong. I don't talk about search highlighting.
If anyone of you know eclipse or netbeans, then you know, what I mean.
Both ide have the highlight column at the right side, QtCreator has it on the 
left, that does not matter. The highlighting of changed and unsaved lines is 
great.

Ok - on eclipse and netbeans, if the cursor is inside a i.e. variable, all 
usages of that variable in that file are marked at the marker column (little 
dash) and if you click on such a dash, the editor window scrolls to that part 
of the file.

Additionally all usages of that element are highlighted by color, so it helps 
to find shadowed variables or the like.
In KDevelop the highlighting works in other editor window too, so if you have 
the header- and sourcefile open, an element is highlighted in both files. 

This is very helpful if you search for name clashes and the highlighting 
differs by semantic usage, not only by pattern matching. I know, there's a 
compiler option for name clashes, but sometimes the clash is by intention, so 
I'd like an ide to show me the like only if I want to.

kind regards

Gero
-------------- next part --------------
A non-text attachment was scrubbed...
Name: QtCreator.Debug.Log.tar.bz2
Type: application/x-bzip-compressed-tar
Size: 5708 bytes
Desc: not available
URL: <http://lists.qt-project.org/pipermail/qt-creator/attachments/20120528/c9348d4d/attachment.bin>


More information about the Qt-creator mailing list