Lower case filenames
I have been doing Qt programming within Visual Studio for a number of months now. I always camel case for both class names and file names, so I am always unchecking the "Lower case file names" option in the Visual Studio plug-in to create Qt classes.
Well, I just went to create my first C++ class in Qt Creator and that option isn't there! I sure would love to see it get added in the future. Or is this something I could add myself and submit? If so, how would one go about doing that?
I think that can be very useful. Right now I am using lower case filenames and camel case class names, but when I have a large list of files sometimes I get lost.
I think this should be marked as feature request in the Qt Creator on the bug tracker.
CamelCase in filenames is not good idea for my opinion, because in Unix/Mac OS filenames case sensitive. It make more problems.
First off, I am only seeking this to be an option (as a side note, it would be great if the system would remember which option).
I do have a question for you, since I am planing on taking this application to OSX, why does the case sensitivity cause problems on Unix/OSX? I would think that all lower case would be no different from a mix of lower and upper as long as you get it right:) What am I missing?
[quote author="scarleton" date="1292721652"]
...as long as you get it right...
If you make case mistake in include directive on windows platform - all be ok.
But if it will on Unix - application isn't compile.
+1 May be someone should raise a feature request.
I would be glad to put in a feature request, if someone would be so kind as to enlighten me as to how. I found the Jiri page for bugs, but nothing for features.
scarleton, go to http://bugreports.qt.nokia.com/, sign in, click "+ create issue" and see:
Hi scarleton. Can you please post the link to the feature request when you made it?
Tools->Options->C++->File Naming has a checkbox "Lowercase file names" for me. Is that what you are looking for?
We generally encourage all lowercase filenames since some file systems are case sensitive while others are not. This can cause quite a mess if you are not consistent with your file name casing. So you can put "Something.h" as well as "something.h" into your project in one system and those end up being one file in another (which one depends on the order you copy the files).
That was what I meant. It's always a type of finding :-))
Thanks a lot Tobias.
Tobias Hunger Wow, I don't knew it has setting, but I said above about problem with camelCase filenames :)
Same here, good to have such option.
[quote author="Gerolf" date="1292748375"]Hi scarleton. Can you please post the link to the feature request when you made it?
Thanks[/quote] Sure thing:
[quote author="Tobias Hunger" date="1292750415"]Tools->Options->C++->File Naming has a checkbox "Lowercase file names" for me. Is that what you are looking for?[/quote]That is it, exactly. Now if it where on the C++ Class Wizard, folk could find it easier :)
[quote author="Tobias Hunger" date="1292750415"]We generally encourage all lowercase filenames since some file systems are case sensitive while others are not. This can cause quite a mess if you are not consistent with your file name casing. So you can put "Something.h" as well as "something.h" into your project in one system and those end up being one file in another (which one depends on the order you copy the files).[/quote]I simply don't follow the logic here, with regards to C++, that is. The whole language is case sensitive, Considering this is the programming language I started in, it is always my habit, even in languages which are NOT case sensitive to make sure that the case is consistent, what ever they might be. I find this to improve readability as much as anything else.
What I don't get is why Unix programmers that live in a world of case sensitive filenames just punt and make everything lower case. I know I REALLY wish Windows was case sensitive because it drives me batty trying to change the case of a filename, I always have to totally rename it to something new and change it back wit the correct case.
But then I am one of those that hates the fact that SQL isn't case sensitive, wish it was:)
I'd like to reopen this thread. I had used camelCase when naming my files. Now that I see it's not such a good idea, I'd like to change to all lowercase while I still have just a handful of files.
Unfortunately, Creator seems to be getting confused. I changed one filename, but both the old and new versions of the file seem to "exist" now. For example, if I go into a different file, select a class name, and do the "Find Usages" command, both versions of the filename show up.
I've copied the file to another location, deleted it through Qt (including deleting the file permanently), quit and re-started Creator, and re-added the file, and this still happens. Is this a bug, or am I leaving out a step?
And...what's the recommended way to fix all of my filenames within Creator?
Check your .pro file. Maybe there are duplicates. Also double-check for duplicates in your FS (if you have case-sensitive FS).
Thanks, Denis. I checked both, and could find no occurrence of the duplicate file. Any other ideas?
Does it help to delete the .pro.user file?
Andre: Nope. The .pro.user file does not contain any information on which files make up the project.
No, but removing it can trigger QtCreator to re-scan the .pro file. That does not always happen otherwise, I noticed.
Andre: That works for me... Please file a bug report if you run into this again.
Hi, Andre -
That approach didn't work for me. Is it possible that Qt is keeping some cache file around? And if so, how might I get rid of it?
Did you run a Clean All from the build menu, and re-ran qmake from that same menu?
Here's what I did:
- closed the project
- quit Creator
- deleted the .user file, and the shadow build directory
- started Creator
- opened the project
- Clean All
- Run Qmake (from the menu)
- opened a particular .h file
- right-clicked on a class name
- selected Find Usages
...and I am still getting the duplicate file name in the search results.
An additional data point: I edited the file in question (the one whose name agrees with that in my file system) and inserted a few blank lines before the reference to the class. I re-ran the find usages, and the line number in BOTH files found by the search changed.
Time for a bugreport, I think? I have no clue where else there might be stale info. Tobias?
Hey, Andre -
Absent a response from Tobias, should one of us file a bug report?
Preferably you, yes.
Done, but no response yet.
"link to report":http://bugreports.qt.nokia.com/browse/QTCREATORBUG-4734