- Feature Articles
- CodeSOD
- Error'd
- Forums
-
Other Articles
- Random Article
- Other Series
- Alex's Soapbox
- Announcements
- Best of…
- Best of Email
- Best of the Sidebar
- Bring Your Own Code
- Coded Smorgasbord
- Mandatory Fun Day
- Off Topic
- Representative Line
- News Roundup
- Editor's Soapbox
- Software on the Rocks
- Souvenir Potpourri
- Sponsor Post
- Tales from the Interview
- The Daily WTF: Live
- Virtudyne
Admin
What we need is IntelliSense as part of Windows. Meaning every word in the English language would pop up as you type, with the ALT text containing its definition.
Admin
Why only English words? You also could use http://www.babylon.com
Admin
Thats what visual assist (http://www.wholetomato.com) is for. Handles template stuff pretty well.
Admin
Sadly, we can't blame MS for this one. The tooltip is giving all the real info - the STL is a set of templates that are built on other templates, to the nth degree. That's what makes it so damn hard to wrap your head around initially.
Admin
That tooltip is only slightly less helpful than the STL docs in VC 6 :~(
Admin
STL documentation is what deconstructionist lit-crit would look like if it actually meant anything.
This may not seem like a Good Thing, but you do get used to it after a while, and that rearrangement of neurons is an important part of achieving Stepanov Consciousness (which is worth doing, because the STL is very, very cool).
In further defense of MS, the VC7 debugger now groks STL classes well enough to (for example) show you what's in a std::string instance when you hover the mouse over it (or the size of a container, or whatever), in the same way that VC5 and VC6 special-cased CString and so on. Which is quite nice. And it finally quit yowling about identifiers > 255 characters long (which in the STL is pretty much all of 'em).
Admin
Mike: agreed, but VC6 is from about 5 years ago. Back when I was young & interesting.
Upgrade to a modern development tool (VC++ 2003) and you should be pleased.
Admin
Thanks for pointing this out. This is indeed less than ideal. While getting the right level of detail in STL is challenging (as others have noted above), we are going to look to see if there are ways we can improve this user experience before Whidbey ships. We definitely want STL users to have a first-class user experience.
Admin
BTW, I sent this as a bug report to the appropriate folks, and they're going to look into it.
Next time you find an annoying behavior with VS, you can increase the chances of getting it fixed by:
1. Installing a Beta 1 Express SKU.
2. Checking if the issue still exists
3. Reporing it at the MSDN Product Feedback Center.
Still, that's a lot more work & less entertainment than sending to thedailywtf.
Admin
I fear that’s an AI-complete problem, trying to collapse and expand typedefs in a declaration like this. How do you know that "std::basic_string<char, std::char_traits<char>, std::allocator<char> >" should be collapsed into "std::string", and "basic_string<char, std::char_traits<char>, std::allocator<char> >::_Myt" should be expanded into "basic_string<char, std::char_traits<char>, std::allocator<char> >" and then recollapsed into "std::string"?
Admin
Visual Assist is a far more useful thing. An? it does't have such problem (afair).
Admin
Surely you could use the smallest available typedef. This might be weird, but it's a lot healthier than seeing gigantic wads of STL crap.
Admin
so, wtf dont you understand in the tooltip?
if you dont know the language, dont pretend to be a smartass, bitch.
Admin
How about this: it doesn't tell you which overload!
'.' is clearly a char, but the intellisense can't be arsed to work it out, so it just presents you with all the rfind overloads. And to add insult to injury, it expands the templates so you get to see it in excruciating unreadable detail.
And aside from that, um, is this the real std::string? Is it std::wstring? Is it some other instantiation, subtly different in some way? It's not easy to tell -- and you're going to lose a little chunk of your life working it out. And all this from the device that was supposed to save you time.
Admin
Amen to that