Visual C++ Futures
I have got a number of emails and comments from some of you recently wanting to know more about the future of Visual C++.
The Visual C++ team has been looking at what they should in VC++ to ensure that the direction of the product aligns closely with customer needs and market realities. The team has the following three things top of mind as they think about the direction forward.
- C++ customers mostly develop native code applications. As part of this, you would like to see renewed emphasis on tools for writing native code.
- While firmly rooted in native code, many of you want to extend your applications to take advantage of managed functionality (especially WPF, WCF and workflow).
- You are using C++/CLI to bridge between native and managed code.
This team will be significantly increasing support for native development tools. Central to this work is investigating ways to make C++ developers far more efficient in understanding, updating and validating the quality of large native code bases. In fact, the team is already working on a front-end rewrite that will allow for a vastly improved IntelliSense experience. This same work should pave the way for future enhancements such as refactoring and advanced source code analysis. In addition, the team intends to update the native libraries to simplify the development of rich-client user interfaces and access to underlying Windows platform innovation. The team will also work to provide “friction-free” interop between native & managed code through enhancements to C++/CLI and IJW.
The Orcas release will begin to reflect this new strategy but large changes – especially to the design time experience – will come with the version beyond that. The team is currently kicking around a number of native code & interop features planned for Orcas+1, and we are always interested in hearing from customers. If there are specific things you’d like to see in future versions of Visual C++ please let us know.
You should also check out the Channel 9 video by Bill Dunlap and Steve Teixeira on the future of Visual C++. In addition, if you want to interact directly with the VC++ team please visit their team blog.
Namaste!
Comments
- Anonymous
August 08, 2007
The comment has been removed - Anonymous
August 08, 2007
IDE Pain Points Each version of VS
- loads more slowly
- compiles more slowly
- the IDE is more unstable
- library searches produce more irrelevant hits
- introduces more on screen clutter Dynamic help isn't and probably never was. Closing a file opens the branch in solution explorer. Never found the collapse all. Would be nice if the current IDE could drive the older compiler chains. Debugger sometimes looses selected stack frame wrt watch variables. Remote debugging setup stupidly manual. CRT deprecation system is broken for legacy and cross platform code. Platform Pain Points Concurrency/Throughput
- some interesting technologies and APIs (e.g. IOCP), but... Portability
- the great debacle for server type apps
- older Windows and Unix platforms have severe API differences
- least common denominator or multiple implementation?
- mixed results with common open source libraries Standards
- kudos for improvements, keep it up
- IMO, forget export, it was DOA
- Anonymous
August 08, 2007
Top 3 requests:
- C++ 0x support - really like to this get into future VC++
- IDE Performance (browsing, opening, editing, ...) - can save a lot of time and electricity :-p
- Stardard compliance - VC++ is too tolerant for bad (old) C++ code
Anonymous
August 09, 2007
The comment has been removedAnonymous
August 09, 2007
The comment has been removedAnonymous
August 09, 2007
Larry, Thanks for the input, I'll forward it to the appropriate team. Registration for Bug Reports is primarilly so we can follow up with the individual submitting the bug if we need more information or need help in verifying a fix. Regards, DaveAnonymous
August 09, 2007
Larry, Can you e-mail me details on how to reproduce the open solution issue you mentioned: David.Berg@Microsoft.com? Thanks, DaveAnonymous
August 09, 2007
I was waiting for Orcas for one little C++ thing: a valid TR1 implementation. It seems that I will have to wait for the release of C++0x in order to get all these nifty classes (other solution: DIY or buy a separate implementation... Well, DIY is quite fun (especially since compiler support hurts a bit), and there is not much available solutions out there). Other than that, the C++ compiler is roughly similar to VC++ 2005 (it still accepts the same bogus code, especially wrt double phase lookup), so is there a specific reason to update?Anonymous
August 09, 2007
Thanks everyone for the comments. We definitely hear you with regard to improved C++ conformance (both compiler and library) as well as IDE performance and scalability. There are things that we are actively working to address for Orcas+1. Bill Dunlap Visual C++ Development TeamAnonymous
August 09, 2007
The comment has been removedAnonymous
August 09, 2007
The comment has been removedAnonymous
August 09, 2007
The comment has been removedAnonymous
August 09, 2007
The comment has been removedAnonymous
August 09, 2007
As an ISV working in Visual Studio extensibility we work with every version of the Visual Studio family from VC6 and eVC4 through to VS2008. You wouldn't believe some of the howlers we've seen in the IDE interfaces - the Visual C++ automation interfaces (VCProjectEngine) in particular. We still develop mostly in VS2003. Why? Simply because developing add-ins in VS2005 is a royal pain - the environment is sluggish (especially when the IDE is loaded under a debugger, which we of course do regularly) frequently locks files it shouldn't (especially Satellite DLLs) and can't even successfully toggle the load settings of add-ins loaded through HKLM (this bug, incidentally was reported to MS in VS2005 Beta 2 and closed as "won't fix"). As such we are stuck using earlier versions of the Windows SDK and with a real problem on dev machines running Vista. We'd love to believe that VS2008 will be the platform that will allow us to move to the latest Visual C++ libraries, but the fact is that unless VS2008 addresses these issues and makes the runtime library easier to install (hint: provide a way to circumvent those SxS manifest requirements where appropriate) it just won't happen. +1 for the vote about allowing VS to open and work with previous versions of solution/project files too. We maintain dual VS2003 and VS2005 (the latter primarily for occasional work on Vista) solution and project files, and keeping the settings in sync is a royal pain. How about providing a tool for automated conversion in both directions? Oh and if you are serious about really getting VC++ up to speed please do something about getting the toolset in sync with other Visual Studio supported languages. Tools like Sandcastle need to be able to handle native code too.Anonymous
August 09, 2007
I'd love to see some tighter integration between VS debugger and virtualization technologies. Actually, that applies not only to VC++ but the whole VS in general. With the vastly improved performance of Virtual PC, I tend to do development & testing on a virtual machine more and more. The way I debug my applications in virtual machine is using Remote Debugger (or WinDbg). Well, it works, though I am absolutely positive that you guys can achieve some more seamless experience. I presume improvements in this direction will be welcome even more when employing virtualization for development needs will become mainstream (if it hasn't become such already).Anonymous
August 09, 2007
We have a 1M lines C++ code base CAD application suite and very active ongoing UI intensive development. My main issue is developer productivity - I want my team to be able to use the state of the art in building complex UI using all the new .net, XML, etc tools, but I need to do it in C++ rather than in C#. We also have large MFC legacy (over 500 dialogs) so transitioning to a friendlier platfom for forms work is needed. In summary, our need is the developer friendliness of C# with the performance of C++.Anonymous
August 09, 2007
I found the problem in resource processing (from VS2003 and after). I have Russian Windows and Italian resources. Each time I'm saving Italian resource file all accented symbols are lost. The resolution is only load Windows under Italian local. Can you resolve such the bug?Anonymous
August 09, 2007
- Please fix the broken CRT in VS 8.0 - you can't just build an app then copy the executables to another machine without getting that dreadful "this app is not configured properly". Its a binary app - it doesn't need configuring. For this reason we cannot and will not port our projects from VS 6.0 to VS 8.0.
- Same comment for the MFC libraries
- Please can we have more than 1 watch window in VS8? VS 6 gives me 4 - so much more usable.
- If the app is just a native app DO NOT ask me if I want to do managed debugging - just straight into the debugger as fast as possible. Some bugs I never get to see because by the time I've got through the GUI interventions asking me which debugging I want, oh dear the app is no longer running, thus I can't see the bug. How useless is that?
- Please re-instate the MFC class wizard.
- If you have (as we do) 11 million lines (across 39 products) of C++ targetting MFC you will appreciate that we are not going to port this to C# and WPF. Its just not going to happen. Therefore we want and need first class support for C++ and MFC in Visual Studio (without that #1 issue above) before we can use Visual Studio 8.0. You need to treat C++ equally to C# if you want us on board for the ride (and that includes the GUI design tools such as class wizard). All that said, thank you for fixing in VS 8.0 the key bindings so that now F7 does actually do a build etc. Also nice that the project settings are always available (as they are implicitly selected) and that I don't have to select the project before I edit the settings (like in VS 7.0 - so broken!)
Anonymous
August 09, 2007
Have now moved a large C++ project to VS2005 from VC6. Occasionally have to go back to VC6 to maintain an old version. Its like a breath of fresh air, like seeing an old friend again, makes you realize how slow VS2005 really is (or least for native C++) and no really nice extras such as re-factoring to compensate! Major areas that seem to have gone down hill Resource dialog editing - interface is terrible compared to VC6 Compile/load time Help - nearly unusable in VS2005 both speed wise and feature wise compared to VC6 What would be nice to see: Seamless integration with managed framework. The Documentation facilities that are in C# Re-factoring Better/faster dialog resource editing Pop Context when browsing through definitions (or maybe I can't find it in VS2005!) Overall speed up Help - more like VC6 - The 'Locate' button was heaven!Anonymous
August 09, 2007
Please make your tools case-sensitive. VC++ 2005 converts file names to lowercase during compilation, debugging, and source code browsing ("Find all references" etc). Sometimes it even renames the files. Ttypical scenario: you typed something in the file MySource.cpp opened by debugger and pressed "save" - oops, now it is mysource.cpp. This makes the development difficult. There are case-sensitive file systems and development tools (preprocessors, compilers, source control systems, log analyzers, etc.) that expect the file name to be unchanged. My recommendation: let your tools show and use file names in the same form as in Windows Explorer.Anonymous
August 10, 2007
It would be nice for VSTS to present a list of files updated when we do a "Get Latest". Keep improving the interop as we'd like to figure out ways to use WCF and WPF in our large native C++ application. We've been waiting a long time for Class Designer for C++. We'd like to see static code analysis become more configurable, perhaps allowing us to add our own coding standard variable naming conventions. We would really like to see the VSTS Unit Test framework directly support native C++ rather than having to jump through hoops. We appreciate all of your hard work. Keep the improvements coming - Visual Studio is the best IDE in the industry.Anonymous
August 10, 2007
The comment has been removedAnonymous
August 10, 2007
Will GUI designers still use fixed coordinates instead of sizers (a la wxWindows, er... wxWidgets) or anchors (a la Delphi and C#)? Anything is better than manually resizing things. Visual C++ really looks like a second class citizen when it comes to GUI tools and well-designed library support.Anonymous
August 10, 2007
The comment has been removedAnonymous
August 10, 2007
I'll reiterate what I said to Microsoft Canada when they asked me for my feedback on the VS development toolset.
- I believe the development environment should be rock solid stable - like the OS. A debugger crash doesn't give me confidence in the product I'm using. VS2002+ has this issue and it hasn't been resolved. How many more crash reports do I have to send before VS2002, VS2003 and VS2005 will be fixed?
- Which leads to the next issue - service packs. My end-users expect product hotfixes and updates because it tells them that my company stands by what we produce. What has the VS team been telling me for the last several years? Speaking as your customer, it is not confidence boosting to get a service pack and the issues fixed aren't a pain point - see point 1.
- MFC is important to many companies. Please continue to support, enhance and keep it alive. I'm working on a 2M LOC product - it will never be to ported to C#. There is no business case that could ever be created to justify rewriting 15 years of code.
- Somewhere between VS6 and VS2002 the help system got seriously broken. It is impossible to find anything. Google has become the preferred help system.
- A major pain point I have with MS dev tools since Microsoft C6 is that every release changes project files. As far as I can determine the only compatibility difference between a VC2002, 2003 and 2005 vcproj file is the file version number. Do you know how tiresome it is to change 100+ project files when you know all you have to do is change the file version number?
- Oh, and more pain points. Can you guys do something about SxS? It doesn't work. Very simple - it does not work. Period. Has anyone in the VS team gone through the fun of figuring out why a COM+ app won't run because some SxS module is missing? Or contact a vendor to get an updated merge module so you can distribute your product? Thanks for the opportunity to speak. I'm looking forward to playing with VS2008.
Anonymous
August 10, 2007
We use VC++ entirely for legacy application work. Our new systems are C#.net for most everything which calls via a RPC a few legacy computation engines written years ago in C++. Our main issue is that C++ foundered with half-adopted measures such as STL and Boost to address know shortcomings instead of a much needed POSIX v2 standard class library. Ideally, we would like to see a native set of file, directory, socket, rpc, memory classes from .NET 2.x framework make it into a C++ POSIX v2 ISO standard. This would greatly help us for both Unix side and Windows side C++ legacy code.Anonymous
August 10, 2007
You should have titled this: "The future of Visual C++" or something. Futures and C++ mean something very different: http://video.google.com/videoplay?docid=7625918717318948700 One of the biggest reasons to upgrade to Visual C++ 8 was improved conformance. I have told the rest of my team that I would be very surprised if Visual C++'s C++0x / TR1 support was lacking. Please don't make me out to be a liar!Anonymous
August 10, 2007
The comment has been removedAnonymous
August 10, 2007
The comment has been removedAnonymous
August 10, 2007
I am right now more C# than C++, but have found a lot of good things on the C# side that can jump to the C++ side without being Managed code, on libraries like MFC, ATL, there are a lot of Data Structures that can be included on a basic C++ for instance, Lists, Dictionaries, things like this, that allow a handling of information like it is in C#, but available to any application not exclusively MFC, some times I need this on a console application. Win32 native windows programing is complex, and the visual tools for windows are not good, the language and tools are not object oriented, nor even event oriented, so it would be great to improve in this side.Anonymous
August 10, 2007
Jeff's comment about SxS reminded me, why on earth isn't the Microsoft Visual C++ Redistributable Package sent out through Windows Update? I've developed dozens of small tools that should only require a quick copy and run, no fancy installations or such, but when I try to use them on a computer they don't run because the runtime files are not installed. And on some computers the user might not have permissions to install them either. The installer is less than 3MB, I can see no reason why it should not be installed on every computer running Windows. If not the ability to run the applications developed on other machines is a feature I don't know what is!Anonymous
August 10, 2007
I'm with the other folks who are saying we have several million lines of C++ across several apps and will never port to C# or use the .NET runtime. I echo the requests of many, asking you to focus on performance (especially intellesense), fixing the help system, circumvent SxS when appropriate, etc. "'friction-free' interop between native & managed code" should be secondary at this point. One other request I'd like to see: Please provide a way to tell the IDE to NOT, in any way, shape, or form, pretend to know about a source code control system (ie, don't offer to "unbind", "work offline", etc) Just treat read-only files as read only, don't look for vssscc files, and so on. There's times that source control integration just doesn't work, soAnonymous
August 10, 2007
I'm with the other folks who are saying we have several million lines of C++ across several apps and will never port to C# or use the .NET runtime. I echo the requests of many, asking you to
- focus on performance (especially intellesense)
- fixing the help system
- allow circumvention of SxS
- add refactoring capabilities
- add unit test framework that directly supports native C++ "'friction-free' interop between native & managed code" should be secondary at this point. One other request: Please provide a way to tell the IDE to NOT, in any way, shape, or form, pretend to know about a source code control system. When integrated source control works, it’s great, but there are times that it just doesn't work, and the best I can do so far is get down to one dialog offering to unbind from source control (which sets all files to writeable if you choose ‘yes’). Don't offer to "unbind", "work offline", try to overwrite writeable files, and so on; just treat read-only files as read only, and let us manage source control, if we so choose. That said, there are some good improvements in VS2005 C++, such as the call browser and code definition windows, greatly improved error/warning display, and the Data Tips and Visualizers. Keep your team focused on what C++ developers need, and you can make VS the leader of the pack again.
Anonymous
August 10, 2007
First off, Soma please do more channel 9 interviews ( you rock ! ). For me I am evaluating (and would really like to use) the usage of managed to un-managed code in my applications (communication oriented programs). I am also hoping that visual C++ will take advantage of the C++0X standard which is set to release soon (09?) . I think both Managed and UnManaged code is needed in todays world. I just hope the VC++ team keeps up the good work and continues to build the best tools available for us grunts in the trenches !Anonymous
August 10, 2007
The comment has been removedAnonymous
August 10, 2007
I would definitely love the feature of 'total deoptimization' :-) It should generate such code, that no hackers will ever be able to understand what's going on inside :-)))Anonymous
August 10, 2007
The comment has been removedAnonymous
August 10, 2007
MSDN help needs attention both in the DVD form and via msdn.Microsoft.com. We've reverted to searching for API help in this order 1) google usenet groups, 2) google web search limited to microsoft.com 3) local msdn copy 4) msdn.Microsoft.com 5) google unrestricted web search. The main contention is that MSDN produces far too many false leads and far too many topics that have no sample code. We have the last MSDN before .NET was first released as a second major source of documentation since much useful content was removed instead of being updated once .NET was released.Anonymous
August 10, 2007
The comment has been removedAnonymous
August 10, 2007
Simply put, just get the new C++ compiler and make it work with VC++6.0. New compiler is good, but the IDE of VC++6.0 was the best and most suited and most stable for C++. Just make new one same as VC++6.0, so simple. Class Wizard was way better than this propery editor, and faster too. Also, why do the IDE addins stop working with each new version? I am an author of one of the popular addins but I will not keep porting to each and new version. Shame on you for that. You should be able to make old addins work with new IDE. I can see people actually implementing addins that work for multiple versions on CodeProject. Why can't you? Product is way too expensive for the quality of it. I use the latest versions at work - company is silly enought to pay for that. But tool is way overpriced and wont make it to my home. I can afford it easily, but it's just not stable of convenient enought for me to buy that. Stop inventing the wheel where a de-facto standards exists. E.g. XML comments are so primitive for documentation - why not support doxygen format natively? Also, why not support CVS natively? The source control interface is so bad I don't know where to start on that... New IDE looks, from the begining in 2002, like a re-worked Visual Interdev from VS60. It even calls workspaces a solution - dead giveaway. Well, Visual Interdev was one of the worst tools I even worked with and now it's calling itself VS2003-2005. It's primitive and looks like made by some VB developer on a weekend. I guess that makes VB developers quite happy. Annoying message boxes must stop. I drag a project onto the IDE and it tells me I can't and I should open a solution instead!? Or while I am debugging I try to type the code and it tells me to stop debugging first! But it tells me what to do instead of giving a button to actually do that, it's totally counter-productive and make me think that VS development team doesn't understand the first thing about GUI design and can't make a functional product. Don't care much about intellisense - I use Visual Assist for that. If you want to see what to do in that aread then look ath Visual Assist and other addins (resharper etc) and just do that. I am not sure why I even bother to type all that. Nothing will probably change because we seem to be living in some sort of IT dark age where "simple" and "easy" are keywords to cover for arrogance and ignorance of modern programmers.Anonymous
August 10, 2007
Microsoft's Visual C++ team has been mapping out the future of the development platform, looking to highlight native and managed code capabilities, a Microsoft executive wrote this week. "The Visual C++ team has been looking at what they should [feature]Anonymous
August 10, 2007
The comment has been removedAnonymous
August 10, 2007
The comment has been removedAnonymous
August 10, 2007
I have almost the exact same concerns as the first post from Larry. In my career I have been using VS for the last 10 years for mostly MFC based applications. I believe I started out using VS 5 (possibly 4.X?) and now I am using .NET 2003. Being that we have an academic license with maintenance I have used all versions of VS from (VS 5 to VS 2005) to write and maintain the approximately 500K lines of mostly MFC code I have worked on in that time. Most of this time was spent in VS 6 which although the compiler lacked features (templates) it had by far the best IDE for building my MFC apps. My biggest complaints with the .NET versions all seem to have a buggy GUI and the help system gets progressively worse. With .NET 2003 (which I use mostly now) it is so very rare that the help (F1 when a keyword is selected) actually finds something useful that I generally opt to do a google web search instead as that actually has a chance of finding something relevant. This is very annoying as the help for VS 6 was much better than this although it was annoying that I could not get rid of the Foxpro docs and still be able to see the SDK help. Then there are the gui bugs. Clicking on a class in the class view (in vs 2003) and then selecting add a member function or variable crashes vs2003 probably 20% of the time so I have learned to avoid that feature that I used and liked a lot with vs6 and this is not hardware related as this has happened on several different machines. Also the built in tools for editing message maps and adding handlers is significantly harder to use (and more awkward) than it was in vs6. Now the improvements I would like to see after the bugs I have mentioned above (are fixed) are the following:
- I would like to see a large improvement in the build system to at least make better use of multi core processors while building and possibly extending this to include some type of pooled build like gcc does with distcc. Also possibly implementing something like ccache as well.
- Better tab support in the GUI (like wndtabs does).
- Implement saved window layout where choosing a button on the toolbar will restore a window layout which includes the sizes and positions of the docked windows. Being that program and remotely debug with very different screen resolutions I find myself updating the window layout in vs2003 50 times a day and this is very annoying.
Anonymous
August 11, 2007
I liked the workspace, slide out with the tab on it,of the files,classes and resource. better than all the slide out that keep popping out on me every time I move my mouse. but like the tabs in the editor better than 6 to switch and select the editing file. and what happen to the tip of the day,splash screen, Great help output,and the class wizard are the thing I missAnonymous
August 12, 2007
Thanks for adding BRIEF key mappings back into VS5, and please have a BRIEF aficionado actually use it. VS6 is as good a BRIEF implementation as there can be and VS5 is possibly the worst. I get the feeling that nearly no-one uses BRIEF, so this may only be my problem....Anonymous
August 12, 2007
The comment has been removedAnonymous
August 13, 2007
The comment has been removedAnonymous
August 13, 2007
The comment has been removedAnonymous
August 13, 2007
I agree with some of the previous statements - please work to keep VC++ the platform of choice for developing native code. Keep the dependencies to a minimum so that native applications can be deployed (e.g. no CRT or MFC runtime conflicts - re-think SxS) with minimal fuss. A huge percentage of us develop the third-party native code applications that keep the Windows platform alive and vital. Please stop pretending that we should all switch to WinForms / WPF / WhateverNewThingComesToMind. If I'm writing managed code, I'm using straight C# - and have very little interest in native / managed interop. With regard to Intellisense being poor - who cares? Every C++ developer should own a copy of Whole Tomato Software's Visual Assist (no I don't work for them). Why focus Microsoft's internal efforts on Intellisense issues when a third party app solves them adequately and inexpensively? Please keep progressing MFC, bring back the class wizard, and improve resource editing for native apps. What's there today in VS2005 is just pathetic.Anonymous
August 13, 2007
The comment has been removedAnonymous
August 13, 2007
The comment has been removedAnonymous
August 13, 2007
My wish list
- Stop removing features from the IDE (Connect ID 105507 for example). It makes us less productive when we "upgrade".
- Stop breaking features in the IDE (Connect ID 139752 for example). It makes us less productive when we "upgrade".
- Add multi-targeting support for MSVCRT/MFC just like for .NET since the project and solution files are incompatible across all IDE versions since 4.2. Without it, it is more difficult to "upgrade" to a newer version, since everyone on the team has to do it at once, but it can't be done until the project has been built and tested on the new compiler.
- Native (unmanaged) C++ should have access to all the OS capabilities that managed C++ does.
- Native (unmanaged) C++ should have access to the new UI technologies like WPF so that existing applications can be updated to use them without having to be rewritten in a proprietary language.
- Complete and correct support for standard C++.
Anonymous
August 13, 2007
> But interop is important because there are lots of people > that want to extend their native apps to use .NET code. Let me be blunt: customers that I work with wanting to move existing applications to .Net specifically ask me to rewrite code in C# and specifically not to use interop. In other words, it is either all native or all managed, but no where in between. The only use that I have for C++ is for native code. (Just as the only use for C# is managed code.) I'm sure that Microsoft has their own internal agenda and goals. But please do not waste too much time and effort on interop. I have absolutely no use for it. And looking at some of the comments above, a number of other people seem to be of similar opinion. I would suggest roughly 90% be spent on improving standard compliance. While there has been much improvement lately, significant portions of ISO/IEC 14882:1998 and 2003 are still not implemented or need further attention. The other 10% could be spread out over other miscellaneous IDE features, proprietary libraries, interop etc. I'm looking forward to Orcas+1. Good luck.Anonymous
August 13, 2007
I will be upgrading to Orcas specifically because I have heard that it has an integrated class diagram feature. This is important to me. We have a large existing code base in C++. Now we would like to start using some of the new Windows features that are available in WinXP SP2+, but without using managed code or interop. I hope this will be possible in the future.Anonymous
August 13, 2007
The comment has been removedAnonymous
August 13, 2007
I'd like to see proper compiler performance diagnostics. When writing template heavy code, I often hit a kind of "inline" limit where simple static passthrough functions don't get inline any more, so I wind up with ASM functions that basically contain just a single call instruction. Trying to figure out why the heck the compiler didn't inline these is no fun today, you can try to set __forceinline on all and try where it can't inline and start guessing, but the warning messages are worse than bad (pointing into STL stuff where there is no STL usage anywhere). Take a look where the Intel Compiler is going to, giving you verbose information about which loop was unrolled etc., and Sun Studio (see for example their compiler commentary: http://blogs.sun.com/x86be/entry/compiler_commentary_support_in_sun). VC8 is far behind that in any respect, even though the optimizer is not that bad. Second, give the users more options. If I want super-expensive inlining where the compiler is going to spend hours to find out which one-liners can be directly expanded, let me do it, same goes for loop unrolling etc. Don't force the people to get used to the compiler, rather allow the compiler to be driven by the user with loads of options. Third, try to help people who use modern development methods. Writing template static dispatchers is not easy already, together with a buggy/sluggy IntelliSense which does display bogus stuff half of the time and a compiler which does not inline single call statements, I'm often using the VS as a better text editor with a 3rd party compiler in the background. BTW What's the recommended way to get in touch with the compiler dev team to share such kind of feedback, somehow I get the feeling that commenting blog entries is surely not the right way?Anonymous
August 14, 2007
We use VC6 as an IDE for third-party cross compilers targeting various micros via external makefiles. With Visual Assist and Window Tabs it actually makes it halfway pleasant to write embedded C code - as much as it can when you're targetting a 4K device anyway. Most cross compilers can be run from a command prompt or from an external makefile, and their 'IDE's leave a lot to be desired. We'd love to be able to do this in VS2K5 or VS2K8. You should market an express version that these compiler writers could target with their products - the 'eclipse' of the embedded market.Anonymous
August 14, 2007
Hello To answer your question: “BTW What's the recommended way to get in touch with the compiler dev team to share such kind of feedback, somehow I get the feeling that commenting blog entries is surely not the right way?” You can always use the VC blog at: http://blogs.msdn.com/vcblog/ - a number of us read this almost daily. For example, if you look at Stephan’s (one of our Library Developers) recent post at: http://blogs.msdn.com/vcblog/archive/2007/08/10/the-future-of-the-c-language.aspx you can see the long and detailed conversation that followed between him and interested customers. If you would like to interact with Steve Teixeira (our Group Program Manager) and/or Bill Dunlap (our Business Manger) you can reply to their Channel 9 video too: http://channel9.msdn.com/Showpost.aspx?postid=281987. Also you can feel free to email me and I can send comments on to the relevant people. My email address is “my first name” at “you know where”.com. Thanks Damien WatkinsAnonymous
August 14, 2007
Hello Tom Re your comment: “I will be upgrading to Orcas specifically because I have heard that it has an integrated class diagram feature. This is important to me.” The VC++ Class Designer team recently asked for feedback: http://blogs.msdn.com/vcblog/archive/2007/07/23/class-designer-needs-your-feedback.aspx. Although the survey may be closed now you can still add comments/suggestions/feedback on the VC blog page of you like. Thanks Damien WatkinsAnonymous
August 14, 2007
Hello To answer your question: “BTW What's the recommended way to get in touch with the compiler dev team to share such kind of feedback, somehow I get the feeling that commenting blog entries is surely not the right way?” You can always use the VC blog at: http://blogs.msdn.com/vcblog/ - a number of us read this almost daily. For example, if you look at Stephan’s (one of our Library Developers) recent post at: http://blogs.msdn.com/vcblog/archive/2007/08/10/the-future-of-the-c-language.aspx you can see the long and detailed conversation that followed between him and interested customers. If you would like to interact with Steve Teixeira (our Group Program Manager) and/or Bill Dunlap (our Business Manger) you can reply to their Channel 9 video too: http://channel9.msdn.com/Showpost.aspx?postid=281987. Also you can feel free to email me and I can send comments on to the relevant people. My email address is “my first name” at “you know where”.com. Thanks Damien WatkinsAnonymous
August 14, 2007
The comment has been removedAnonymous
August 14, 2007
Hi ~AVA: The behavior you are observing is not by design in the Visual C++ IDE. The problem you mention about the case changing to lower case when debugging, compiling and browsing is a product bug. We are currently working on a VS 2005 hotfix for the latter (browsing). Coincidentally, I happen to be testing it. It is currently in the Customer Testing stage. Basically, on this stage our PSS guys work with the customer that reported the issue to make sure our fix addresses their problems. After that, we'll test it one last time and make it available. Can you provide us with examples on how compiling or debugging changes the case of a file name? I think for the debugging scenario, it might be a side effect of the same problem we are fixing for browsing. Compiling would be a whole other story. Can you elaborate? Thanks for your feedback. Keep posted for that VS 2005 hotfix. Alvin Chardon Visual C++ IDE TeamAnonymous
August 14, 2007
Stephan, > If I had my way, export would be erased from > human memory...) Take a look at SC22/WG21/N1459, section 6.3 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2003/n1459.html Export is in the standard and it is not going anywhere. Comeau and Borland compilers support it. Because VC++ does not implement it, more and more of our code base does not cross-compile as is. I keep looking for it it with each new release of VC++, but to no avail. How about simply announcing which version and year it will be implemented so that I can check back then.Anonymous
August 14, 2007
Earlier this week Soma, Vice President for the Microsoft Developer Division, blogged about the futureAnonymous
August 14, 2007
The comment has been removedAnonymous
August 14, 2007
The comment has been removedAnonymous
August 15, 2007
We're writing code that compiles on halve a dozen platforms by even more compilers (or compiler versions). Standard conformance is our main concern. If all compilers were standard conforming, we'd lose most of our headaches instantly. >>Exactly which portions do you consider to be "not implemented or need[ing] further attention" in the compiler and standard library? (Two-phase name lookup, exception specifications, and export are well-known to be missing.<< Two-phase lookup is what I miss most as VC lets slip truly and hilariously absurd bugs due to this. I am actually forced to write much of my template code on the Mac (which I hate, since it forces to grab the mouse for just about everything), as its compiler catches these errors. >>If I had my way, export would be erased from human memory [...] some (e.g. me, and anyone else who takes the position advocated by "Why We Can't Afford Export") are convinced that it doesn't actually buy anything, and carries significant complexity costs. How exactly does export help you?<< A big problem we have with template code is the cascading dependencies. If I want to give users of my code the template T, I also have to give them access to T1 which is used in T's implementation. However, T1 needs T2 which needs T3 which... This means pulling in hundreds of LOC and polluting namespaces with irrelevant identifiers. And if the minor helper template irrelevant::detail::helper<T> changes we need to re-compile millions of LOC . (That's no theoretical scenario. We spent a lot of money on IncrediBuild to "solve" this problem by throwing raw processing power at it.) I have been told by people who (implemented or) work with export that it solves the problem of cascading dependencies. Which is why we would be happy to have it.Anonymous
August 15, 2007
So there seems to be general consensus that VC++ has fallen behind in a number of important ways. It's obvious that the product hasn't received the attention it needs for quite some time, and now we're hearing that this is going to change. This is great news indeed, but when is Orcas+1 actually going to be delivered? I would just like to remind MS that it's very hard for commercial application developers to wait around - our need to evolve our software products (to remain competitive in our respective markets) constantly evolves. If VC++ cannot evolve with us (and it hasn't), we must pursue other native code development options. My suggestion at this point? Compensate. Get us the capabilities we've been lacking sooner rather than later, whatever it takes.Anonymous
August 15, 2007
Please cancel Orcas. I'm serious. Based on trying the beta (VERY disappointing) and reading blogs, it appears that it's nothing more than a Visual Studio 2005 SP2. In the last month you and several other Microsoft employees have made it very clear that almost ALL the important changes and fixes are for a mythical product called "Orcas+1". Since that's what I want and thought Orcas was going to be, why should I waste my time with Orcas? Answer; I won't. Seriously. I've been planning a major update and migration for our entire company next spring in an effort to have a single development platform (we use three version of VS C++.) I am on the verge of canceling this migration entirely AND PERMANENTLY. So, congratulations, in regards to C++ you guys are now acting like Borland. (In case you didn't get the point--your middle finger is blinding me.)Anonymous
August 15, 2007
Brian said: "Help - more like VC6 - The 'Locate' button was heaven!" I think you are talking about the 'Locate in the TOC' feature - ? It is still there, and it wasn't obvious to me at first, either - it is a book icon with a left arrow and right arrow, just left of the Ask a Question Icon/Button on the default toolbar. Other features I miss from VS6 are Search Titles Only, Search in These Results and more...how about you? ... Some of you will remember me from my time on the VC++ team. I left VC++ to work on help. It hasn't turned out to be as straight forward as I thought it might be, but please know I'm lobbying for the changes, resources and investments needed to improve the help! I am also working with the content teams' managers to prioritize and work on documentation specific improvements. Thanks for all of the feedback here, it does get attention!!
- April Reagan Developer Division User Education Program Manager
- Anonymous
August 15, 2007
The comment has been removed - Anonymous
August 15, 2007
Wish list:
- Stable IDE for ISO C++ and C++/CLI
- See 1. Thanks - Mike
Anonymous
August 15, 2007
Interop is important to me!Anonymous
August 15, 2007
The comment has been removedAnonymous
August 15, 2007
The comment has been removedAnonymous
August 15, 2007
I've been using VC since VC. Most of my complains against VC2005 have already been said by others. IntelliSense is terribly slow and useless 90% of the time (several coworkers have asked my how to disable it, and they have a Core 2 Duo 2.66 GHz !). Useful (and more importantly, correct) refactoring tools would be nice. Standard compliance is one of the best, but compared to the latest GCC version it is clearly inferior (e.g. template friends). Even if not strictly required by the standard, GCC is also able to check non-instanciated template code and detect several errors that VC2005 does not see (e.g. undeclared variable name). And of course their is C++0x. _SECURE_SCL should not be on by default. Most people do not know it exists and wonder why their applications are 4 times slower. Also, disabling _SECURE_SCL implies recompiling ALL used C++ libraries. E.g. linking an application compiled with _SECURE_SCL=0 with Boost, which is compiled by default with _SECURE_SCL=1, will result in weird and random crashes that are hard to diagnose. I do not buy the _SECURE_SCL should be on by default because of security. _SECURE_SCL mostly affects the STL, and code using the STL is already inherently more secure than the typical C-buffer-overflow-code. Checked iterators are a good thing, I'm actually very glad that they've been implemented in VC2005. I just do not think it's a very bright idea to enable it by default for Release builds. VC2005 STL implementation is significantly slower that the one that ships with the latest GCCs (even with checked iterators disabled). In my experience, areas where GCC is significantly faster (i.e. 2-4 times faster) are strings and streams. I've also found that their containers implementation tends to be faster due to better memory/cache allocation and management. For example, our OBJ 3D Model loader (that basically linearly parses an ASCII file) is still two times faster on a Linux/GCC old Athlon XP 2.1 GHz than on a Windows/VS2005 Core 2 Duo 2.66 GHz. The build system on multicore is not very logical. VS2005 does build projects in parallel whenever possible, but will only run one thread for compiling one project. Makefile have solved that problems for decades: one project compilation should still use multiple available CPUs by compiling several files at the same time. As it was already proposed, VC redit runtime should be on Windows Update to avoid useless deployment hassles.Anonymous
August 15, 2007
I've been using VC since VC. Make that VC6. ;-)Anonymous
August 16, 2007
The comment has been removedAnonymous
August 16, 2007
I'm leaving a comment to emphasize that "F1 isn't king anymore". I loved the context sensitive help integration in VC6. You just put your cursor on something, pressed F1 and got the information you needed. An by "information you needed" I mean reference information! No community content or whatever. If I'm looking for community content I'm using my web browser to search for that. And as already mentioned here before the performance of the help system is bad. It takes much more time to have any result displayed after pressing F1. During the waittime I can easily start IE, do a google search. I always thought VS is hosting the IE to display help content, so why is it much more slower than the IE itself which must transfer the contents via tcp/ip? I stopped using F1 after VC6. Also I would like to see some "Intelli-Content". Means if I'm working on a native MFC project It's very likley I want to see the samples for an API function in native C++ for the native API function, not some C# for Compact Framework. If VS knows what type of project I'm working on please use only the subset of helptopics I need to view for my project. And please do this for VS2005 SP2. The missing help is a major issue to me Thanks JanAnonymous
August 16, 2007
[Tanguy Fautre] > _SECURE_SCL should not be on by default. Think carefully - which is actually better?
- Having extra security barriers enabled by default, making developers of applications whose performance is significantly degraded have to go figure out that the security barriers exist and then figure out how to work around them or turn them off - probably during development, since the performance will be noticed then - OR
- Having extra security barriers disabled by default, making developers of applications that contain security bugs have to go figure out - after a security exploit - that the security barriers exist and then figure out how to turn them on - probably after development, since security exploits won't be noticed until then, so now they have to ship a security patch and suffer the hit to their reputation. Having to choose a default for all VC users worldwide, we chose "on". Can you blame us? > weird and random crashes that are hard to diagnose. If you read my latest VCBlog entry, I mentioned that we are investigating how to diagnose _SECURE_SCL mismatch between statically linked translation units in VC10. Yes, in VC9 things are quite painful if you are not extremely careful. > code using the STL is already inherently more secure > than the typical C-buffer-overflow-code. Yes! But more security is better, at a small performance cost. _SECURE_SCL usually has a small performance cost. > areas where GCC is significantly faster > (i.e. 2-4 times faster) are strings and streams. If you can construct self-contained test cases where VC's Standard Library implementation is significantly slower than GCC's libstdc++, please please PLEASE file a bug in Microsoft Connect. We (myself in particular) are very interested in improving Standard Library performance. Stephan T. Lavavej Visual C++ Libraries Developer
Anonymous
August 16, 2007
The comment has been removedAnonymous
August 17, 2007
>I left VC++ to work on help. >It hasn't turned out to be as straight forward as I thought it might be, >but please know I'm lobbying for the changes, resources and investments needed to improve the help! > >- April Reagan Please April Wan Kenobi ... your our only hope ;-)Anonymous
August 17, 2007
Time to summarize some of the big things we've heard in the last set of comments:
- Improve "fit & finish" - I totally agree that this is something we need to do moving forward. The features we add need to feel right for C++ developers.
- C++/CLI - I want to assure people that C++/CLI is not going away. It's very important to our strategy and we will continue work in this area. Understand, however, that we are not pursuing the path of making VC++ a "first-class" .NET development environemnt. C# and VB are perfect for this role. There's nothing to stop you from using the C++/CLI language facilities to build a full-fledged managed application, but - moving forward - our feature set will not be geared towards this.
- Orcas - Please reserve judgment on Orcas until after launch. As I hinted at previously, we are working on some major library updates around MFC and TR1. Stay tuned. Thanks again for the very interesting posts. I know that some of you are frustrated - and you have a right to be. Hopefully you'll see that our transparency (both here and in our blog) represents a new dynamic. Our strategy is firmly in place and we know we need to supplant VC6 as the "world's greatest native development tool". Hang with us and we'll do you right. Bill Dunlap Visual C++ Development Team
Anonymous
August 17, 2007
I have to admit that I was rather surprised about this, i.e. that the VC Team speaks openly on new futures and actively seeks feedback. In the past, I had rather the feeling (and I'm sure I wasn't the only one) that Microsoft "is doing their own thing" and does not listen to customers any more. Good to see this change.Anonymous
August 18, 2007
I'll offer a slight dissenting view to Bryan Flamig. I find WinForms vastly inferior to the traditional resource file (MFC in his parlance) method since it mixes interface and implementation. Likewise, I prefer the header/source separation of C++. While I easily adjust to the C# model, I sometimes get annoyed by having my member definitions getting lost in all the code. Nevertheless, I do agree that it is jarring to switch back to header/source when doing C++/CLI since my mindset is usually more in the C# camp than in the traditional C++ camp. I totally agree that non-deterministic destructors (or at least a method that's guaranteed to be called when a class goes out of scope) is a big problem with C#. It actually creates resource leaks which are far worse, in my own experience, than memory leaks. I also agree that STL is an abomination. I personally find the non-inheritable model to be beyond stupid. Plus, all too often it's like killing mosquitoes with a sledgehammer. Beyond that, I just don't like the way it, and boost for that matter, were designed. (Long before STL and Boost, like many C++ developers, I wrote my own very lightweight collections library. It still blows STL and Boost away for what I need.) Incidentally, a huge problem with C++/CLI is that the documentation is simply terrible and there is very little comprehensive sample code.Anonymous
August 19, 2007
[Bryan Flamig] > thus the designers discarded deterministic destructors Indeed, deterministic destruction is underappreciated. Modern C++ avoids resource management problems and the complexities introduced by garbage collection. It also appears that shared_ptr in C++0x will have a cycle collection ability. (This has not yet been voted into the Working Paper, but it's still under development.) > Not being able to separate implementation from definition for templates is almost a fatal flaw. It is a fundamental consequence of how templates work. The object code (which is just machine code with a few loose ends not tied up) generated by a template can be massively different depending on how that template is instantiated. Therefore, the definition of a template is required at the point where it is instantiated. [Joe] > I personally find the non-inheritable model to be beyond stupid. Inheritance has been overused in C++. ("Object-Oriented Programming" was all the rage once upon a time.) The problem is that inheritance introduces extremely strong coupling - the relationship between a base and derived class is stronger than any other relationship except friendship. Runtime polymorphism also causes programs to forget types, and dynamically discover them through virtual function calls. Often, loose coupling without forgetting types is desired. This is what templates enable. The simplest example of this is containers. In olden days, people used "based object" containers, by making every object derive from an Object and then having a container of Object *. The problem with this is that you have to cast pointers upon getting them out of containers. You also have to deal with resource management (something that wasn't completely solved until shared_ptr - which is a template). And you can accidentally make your containers heterogeneous, because you have relaxed your type safety. The STL did away with this true abomination and made containers work with value types. This is a much simpler model that is also more robust, and works with builtin types as easily as user-defined types. (int, after all, does not derive from Object.) Note that when you combine shared_ptr with the STL, you can now put polymorphic objects in containers - the best of both worlds. Container-of-shared_ptr is an extremely powerful construct. Stephan T. Lavavej Visual C++ Libraries DeveloperAnonymous
August 20, 2007
Hello Regarding your comment (Saturday, August 18, 2007 4:17 AM by Anonymous): “I have to admit that I was rather surprised about this, i.e. that the VC Team speaks openly on new futures and actively seeks feedback. In the past, I had rather the feeling (and I'm sure I wasn't the only one) that Microsoft "is doing their own thing" and does not listen to customers any more. Good to see this change.” I am sorry to hear that we have not been as attentive or responsive as we should have been – thanks for taking the time to let us know. Going forward please drop by the VC blog whenever you get the chance; we really enjoy posting about what we are planning/doing and soliciting input/feedback on all aspects of VC++: http://blogs.msdn.com/vcblog/ Thanks Damien Watkins Visual C++Anonymous
August 20, 2007
Regarding the comment about "Incidentally, a huge problem with C++/CLI is that the documentation is simply terrible and there is very little comprehensive sample code." I totally agree. I will for sure pass this along to the doc folks. Hopefully, in areas that apply we should have samples on all languages. Thanks, Ayman Shoukry Lead Program Manager VC++ TeamAnonymous
August 20, 2007
The comment has been removedAnonymous
August 21, 2007
The comment has been removedAnonymous
August 21, 2007
Hello Joseph, Will for sure pass your feedback to our help folks. Thanks for sharing such issues. Regards, Ayman Shoukry Lead Program ManagerAnonymous
August 21, 2007
In Orcas we have a new Index/TOC filter for native development, so that should help at least in the TOC/Index pane. KB articles are owned by CSS, so I've passed on your feedback to them. Orcas includes a major F1 fix that makes F1 work better for .c files. While I'm not sure it will address all the concerns raised here, it should improve the situation, especially for C code. The Help system in general is in need of a dedicated, sustained improvement effort. So far that hasn't happened, but feedback like this helps us make the case that it's needed. Thanks! Gordon Hogenson, Visual C++ Documentation ManagerAnonymous
August 21, 2007
Gordon, For far too much of the MSDN api documentation, the documentation entries are just a minimally reformatted function header from a source code file. The api/library calls that do include sample code most times do not have any real world error handling. Good example code has a) identifying if an an error occured and b) breaking the error down into specific test cases. For example, to open a file: if (open file failed) then { //this is really bad example code print 'open file failed' return; } else { do processing } Versus better sample code if (open file failed) then { if (failure code is 'file is in use by someone else) then { .... } if (failure code is 'file does not exist') then { ....} and so on until the major errors are handled } else { do processing } I find that I have to sandbox test most of the library/API calls because the sample code either does not exist or does no error handling. My real world systems need to return a meaningful error code to the end user and, more importantly, to our technical support staff. A generic 'file could not be opened' is ok but much less useful than 'file ABC.txt could not be opened (code E_0345)'. E_0345 would refer to a specific block or C++ code and a specific api/library error code.Anonymous
August 21, 2007
Stephen Kellett wrote: “Please can we have more than 1 watch window in VS8? VS 6 gives me 4 - so much more usable.” VC8 also has 4 Watch windows available just like VC6. Default shortcuts are Ctrl+Alt+W, ‘n’ where n is between 1..4. Steven Ackerman wrote: “Most cross compilers can be run from a command prompt or from an external makefile, and their 'IDE's leave a lot to be desired. We'd love to be able to do this in VS2K5 or VS2K8” Starting with VC2005, you can use the IDE for makefile projects. Use File > Project > New Project from Existing Code, specify the files part of the project, the build, rebuild and clean command lines you use, and you are ready to go. Sergey Kartashov wrote: “I have Russian Windows and Italian resources. Each time I'm saving Italian resource file all accented symbols are lost.” Can you try saving the RC file as Unicode? On VC2005 SP1 or above, select “View Code” in the context menu, then File > Save As..., and in the Save dialog, select from the Save split button “Save with Encoding”. In that dialog, pick Encoding: “Unicode – Codepage 1200”. If you are still seeing dataloss after this, please open an incident on connect.microsoft.com and follow up with me on email at mluparu at ms. John M. Drescher wrote: “I would like to see a large improvement in the build system to at least make better use of multi core processors while building” Tanguy Fautre wrote: “VS2005 does build projects in parallel whenever possible, but will only run one thread for compiling one project” As Tanguy already noted, VC2005 already support multi-proc build on project level. Coming with VC2008 there is also the ability to build multiple files in the same project in parallel. All you need to do is add /MP to your cl.exe switches. For details please refer to Peter’s VCBlog entry: http://blogs.msdn.com/vcblog/archive/2007/03/12/multi-processor-builds-in-orcas.aspx On the same topic of build system improvements, Managed Incremental Build is another new feature coming with VC2008 that improves throughput in scenarios where you’re building managed C++ projects. More details here: http://blogs.msdn.com/vcblog/archive/2007/03/02/managed-incremental-build.aspx Thanks for all the feedback. And keep it coming! Marian Luparu Visual C++ IDE TeamAnonymous
August 21, 2007
Interop technologies are extremely important. The majority of us cannot 'rewrite' everything just so it is all in C#. There is no good business reason to disrupt application stability and take away resources from being able to add new functionality for our customers. Of course, the ideal scenario would be 'true' support for continued native development. Why is the only way to take advantage of new features such as WCF, WPF, LINQ only available with 'managed' code? And then to make it worse, the support of C++/CLI by Microsoft is dismal. At all Microsoft events, conferences, magazine articles; the only decent level of support by Microsoft representatives are for C#. Why no representation for C++/CLI? Why such poor marketing of the C++/CLI capabilities? It appears that C++ was abandoned and therefore we must now change everything we’re doing if we want support by Microsoft. I find it disgusting. If I must now rewrite everything, why in the world would I choose to follow Microsoft again? They have already demonstrated that they only care about the ‘new and fluffy’. Significant more time is spent in maintenance. Very little time (comparatively) is spent in the ‘new and fluffy’ startup code. If the ‘future’ is all about running in a virtual machine, then I would rather go with Java. At least Java isn’t constantly pulling the rug out from underneath developers. And 'now' you say that you care about us and want to know what we want so that 'maybe' in the future something 'might' become available to help us with our C++ code base. You do have us stuck, what can we do? Rewriting everything in Java makes about as much as sense as rewriting everything in C#. Basically, it doesn’t make business sense.Anonymous
August 21, 2007
[Stephan T. Lavavej] > "I have been told by people who (implemented or) work with export that it solves the problem of cascading dependencies." But it doesn't - see "Phantom advantage #2: Fast builds, reduced dependencies" in the paper above. I think you might like to read another paper, written by Jean-Mark Bourguet on this issue: http://www.bourguet.org/cpp/export.pdf Please also note that, although the previously cited paper was presented to the C++ standard committee, and was quite debated there, the decision was not to remove export, not for compatibility reasons, I beleive, but for its own benefits.Anonymous
August 22, 2007
[Stephan T. Lavavej] >> _SECURE_SCL should not be on by default. > >Think carefully - which is actually better? > > 1. Having extra security barriers enabled by default [...] > 2. Having extra security barriers disabled by default [...] I can understand the importance you give to security. However, all C++ programmers I personally know do always disable it. Hence, for all these programmers (myself included), having it enabled by default is counter-productive. I realize that alone I'm not really statistically relevant. But it may be good to know actually how many C++ programmers do leave it enabled versus how many disable it. >> code using the STL is already inherently more secure >> than the typical C-buffer-overflow-code. > > Yes! But more security is better, at a small performance cost. > _SECURE_SCL usually has a small performance cost. Depends on the application. I've always found _SECURE_SCL performance impact to be non-negligeable. >> areas where GCC is significantly faster >> (i.e. 2-4 times faster) are strings and streams. > > If you can construct self-contained test cases where VC's > Standard Library implementation is significantly slower > than GCC's libstdc++, please please PLEASE file a bug in > Microsoft Connect. We (myself in particular) are very > interested in improving Standard Library performance. I've just submitted the bug report. Its ID is 294551.Anonymous
August 22, 2007
Submitted another STL performance bug report. ID 294554.Anonymous
August 22, 2007
If the only useful fixes are coming in "Orcas+1" drop Orcas altogether and go straight to "Orcas+1". I will gladly pay you Tuesday for a hamburger today - WimpieAnonymous
August 22, 2007
[Tanguy Fautre] "all C++ programmers I personally know do always disable it." If any of their applications have security exposure (and the ones that don't are few and far between), that makes me nervous. It's really tempting to hit the "go faster" button, but you should think really hard about what you're giving up. Thanks for submitting the two perf bugs! They've been ported to our internal database and I've tagged them so I can track them. The /MT versus /MD one is especially intriguing. Stephan T. Lavavej Visual C++ Libraries DeveloperAnonymous
August 22, 2007
The comment has been removedAnonymous
August 22, 2007
[Kunal Deo] > 4. Support for POSIX (I know I'm asking too much) libraries: libc, libstdc++ VC already has implementations of the C and C++ Standard Libraries. If the programs you are working with specifically require glibc or libstdc++, then they contain nonportable assumptions. This is why we have International Standards. Stephan T. Lavavej Visual C++ Libraries DeveloperAnonymous
August 24, 2007
[Stephan T. Lavavej] >> > "Standard conformance is our main concern." Mine too!<< Good. Can I have two-phase lookup by yesterday please? The lack of it is embarrassing. (Having export by tomorrow would be early enough.) >> > "I have been told by people who (implemented or) work with export that it solves the problem of cascading dependencies." But it doesn't - see "Phantom advantage #2: Fast builds, reduced dependencies" in the paper above.<< Well. I've known Herb's paper for a long time. AFAIK, when he wrote it, he did not have access to a compiler providing 'export'. So it's all what he /thought/ about it by then. (To quote P.J.Plauger: "[...] Sutter gave a glib summary from incomplete data and he was soundly countered by those of us who had some real experience.") OTOH, Daveed Vandervoorde, who implemented, and P.J.Plauger, who uses, 'export', in newsgroup discussions (which with their threading and ability to quote are so much better than this abomination here, BTW) repeatedly said that it is indeed able to solve the problem of cascading dependencies. (And also, that it prevents cluttering namespaces with irrelevant symbols, which Plauger once said he considers its greatest advantage.) What do you think I trust more - a many year old theoretical thought or concrete experience? >> > _SECURE_SCL should not be on by default. Think carefully - which is actually better?
- Having extra security barriers enabled by default [...]
- Having extra security barriers disabled by default [...]<< No need to think here. The biggest project here currently is at 2.6MLoC. (When you shipped iterator debugging etc. it was probably 2.0MLoC.) Iterator debugging found us about half a dozen bugs in there, which so far had slipped. Let's assume it helped us catch another few, so we're up to a dozen now. A dozen bugs /which nobody ever noticed/. TTBOMK, no report of one your runtime security features kicking in ever came from the field. (We do get other bugs, though.) OTOH, we have to put a lot of effort in speeding up our applications, as /this/ is what customers demand. (Not to forget the gazillions of spurious warnings we get when we compile a well-tested piece of platform-independent 3rd-party code on VC. I think we get a four-digit number of warnings from compiling 3rd-party code. Code we cannot fix, which is well-tested, and very portable. This makes warnings more or less useless, as we can't find the important ones anymore. And all this because you are unwilling to tell those who write unsafe code that they might have to take a book or two and learn a few basic techniques. >>Intellisense<< Some of us here have simply turned it of. (Did I say "simply"? Having to rename an installed DLL...) Mine's still on, but don't ask me why. Visual Assist is so much more better. Incidently these guys also proof that you don't need to wait for a new compiler in order to improve on the current situation. Obvioulsy, a new compiler isn't what is needed for this. All it takes is a few determined bright minds. On last thing: This small edit window is ridiculous. So is the quoting ability. And the fact that there's no threading here. Can't you start this discussion in the newsgroups? It's what they are for, and it's what they are good at.
Anonymous
August 24, 2007
The comment has been removedAnonymous
August 24, 2007
I Am very speaking for parallel compiling. It may not be so advanced like IncrediBuild but would spend a lot of time in every project. Some people here speak for increasing compiler performance. Heh, it is nice but can give only small performance increase. Ever developer has at least dual-core machine and it's a shame he cannot employ it. (And I don't mean that parallel thing in VS2005 which looks like some student's work. I want compile single project in paralel!).Anonymous
August 24, 2007
Tomas, The capability to compile multiple files in a single project in parallel exists in the upcoming Visual Studio 2008 "Orcas" using the /MP switch. You can test it out here: http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx. Thanks! Steve Teixeira Group Program Manager, VC++Anonymous
August 24, 2007
[Hendrik Schober] > Can I have two-phase lookup by yesterday please? I'd like two-phase name lookup too. Unfortunately, it is perceived as being able to break a lot of customer code while providing little value to customers. While my sympathy for non-conformant code is almost nonexistent, and my desire for conformance overwhelming, I must admit - my only counter to this objection is "but you could have a compiler option". If you (and others) can clearly make a case for why two-phase name lookup support would significantly help you, above merely checking for non-conformant code, that would help address the "little value to customers" perception. (Note that by compiling code with multiple compilers, you get the union of their conformance checks - although you also have to endure the union of their bugs and quirks.) I can think of lots of things I want more than two-phase name lookup, as well. > What do you think I trust more - a many year old theoretical thought or concrete experience? Fair enough. I'm more inclined to believe Vandevoorde and Plauger, instead of the dozens of random programmers I've seen who think they want export (but haven't used it yet). On the other hand, I notice GCC's conspicuous lack of movement towards export. [Loïc Joly] > Support for all of C++98 C++03, please! :-) > Autolink for windows libraries Oh, that would be nice. I love Boost's autolinking. Stephan T. Lavavej Visual C++ Libraries DeveloperAnonymous
August 25, 2007
The comment has been removedAnonymous
August 27, 2007
[Stephan T. Lavavej] >>If you (and others) can clearly make a case for why two-phase name lookup support would significantly help you, above merely checking for non-conformant code, that would help address the "little value to customers" perception.<< Consider this: struct X { template< typename T > void f() {h();} }; here, 'X::f()' calls a function 'h()' that's not declared. VC never catches this silly error. Any compiler implementing two-phase lookup (GCC, CW, Intel, como...) does. (The reason is that 'h' is not a dependent name, so the compiler should check the call when it first sees the template. If it was dependent, it shouldn't be checked until 'X::f()' is instanciated with a specific template argument.) Everyone who writes template code to be used by others will regularly run into this problem: You write your code, it compiles, it even works, but you haven't instanciated /all/ templates in your code. Simple spelling errors like the one above (meant to call 'g()' which is declared somewhere but mistyped 'h()' instead) will slip through as VC doesn't find them. Then someone compiles your code using a conforming compiler and sends you an embarrassing list of compiler errors. But there's more to this: Even if 'h()' was the right function and I make sure 'X::f()' is instanciated during my test, 'h()' might be declared where I /instanciate/ 'X::f()' but not where it is /defined/. VC will happily accept this (as it only parses the code when the template is instanciated), while other compilers would (rightly) flag an error in 'X::f()'. /This/ can be a real show-stopper as you might have to re-factor code due to the previously undiscovered dependency of 'X' on 'h()'. I ran into this several times, which is why I now use other compilers when I write none-trivial template code. (Note that 'export' would make it possible for me to move the implementation of 'X::f()' into some cpp file and not clutter my header with it - thus reducing such declaration dependencies.) Of course, at first look this only affects you should your code ever be compiled using a conforming compiler. However, unless Microsoft openly announces that they will never attempt to implement two-phase lookup, some day VC will bark at this. The longer you procrastinate fixing this issue, the more code with such (undetected) errors will be out there the day Microsoft comes out with it - and the bigger will the customer's problems will be. IME this holds for all bugs that make a compiler accept faulty code: The longer the compiler accepts it, the harder it will be to fix it without seriously annoying everybody. (Almost ten years after the release of VC6 many still haven't upgraded because they can't afford to fix their code so that it compiles using modern compilers.)Anonymous
August 30, 2007
Resource Editor - support anchored controls in MFC Forms & Dialogs.Anonymous
August 30, 2007
I want:
- IDE optimization. Each new version gets more bugs and is slower! Have you tryed to manage a Form with 500 controls? what a pain. If you add to that the Intelisense updating itself each 30second and the AutoRecover function = you can't code, the computer is halted.
- A button to update MANUALLY the damm Intelisense, not when it wants... when I want.
- Distributed cluster compilation ( ala Incredibuild ).
- Windows Presentation Foundation with FULL Managed C++ support ( currently in VS2008 beta is only C# ).
- SSE3 optimization compiler option ( /arch:SSE3), SSE4 support too.
- New languages support: Digital Mars D, C++ 0x
- Anonymous
August 30, 2007
Oh sorry, I forgot...
- Support for GCC .a/.so libraries.
- Allow to insert images in the code comments... For example, imagine I want to attach to the file an image with a diagram explaining how to calculate a geometric reflection vector from an input vector and a surface normal... Currently you have to make ugly ASCII art for this... I should be able to insert images in C++ comments... perhaps with a #pragma imagecomment or in the project file settings.
- Official support for Subversion source control, not only for Source Safe/Team.
Anonymous
August 30, 2007
Interested to know ... What IDE/compiler tools does the VS Dev team use ? ThanksAnonymous
August 30, 2007
I was disapointed that profiling (performance testing) was removeed and then later added to the Team System. I would like it back (but I don't expoect you will give us this one). Would like faster compiling. Every new version seems to halve the compile time. I do understand this is partly necessary, but some work here would be good. (Current) Standards comformance is important. Getting C++TR1 and up and coming C++0X which will probably be done before orca+1 is important too. Better help system (i.e. only look for C++ Standard libray , or only MFC , or only WIN32 or a selection of these in a specified order)Anonymous
August 30, 2007
- Faster compilation times, ala VS6
- More optimizations and support for SSE3, SSE4, etc...
- Better intellisense
- Standard C++0X
- More frequent updates to visual studio
- Don't mind about .NET integration, but mixed types could be usefoul. I really appreciated Refactor!
Anonymous
August 30, 2007
The comment has been removedAnonymous
August 30, 2007
compilation ERROR messages with templates: These are not much better than they used to be with vc6, back then. we need to do better than that. I know this is not an IDE issue, but a compiler issue. MSDN Help has abandoned C++! Today, you go to google or msdn.microsoft.com and all you get are C# hits!! not to mention that the current pages are much harder to navigate than the old ones. If it's not broke, dont fix it!! please bring back the native code msdn pages.Anonymous
August 30, 2007
The comment has been removedAnonymous
August 31, 2007
The comment has been removedAnonymous
August 31, 2007
Will Class Designer finally work for VC++? That's the only thing I really want for XMas.Anonymous
August 31, 2007
We use VC8 and C++/CLI to compile up a legacy MFC project with over a million lines of C++ code into a single .EXE My #1 request -- get incremental linking working with /clr! When we compile the project as managed (/clr), it always does a full link which takes over 4 min on a fast machine and severely reduces our productivity. When we compile the code as unmananged, we get incremental linking and life is good again. We want to take advantage of all the new .NET stuff, but the increased edit-compile-link times are killing us. My #2 request -- Fix intellisense We use a lot of #ifdef's in our code and VC8 frequently gets confused about what is compiled and what is not. I'll change a #define, wait for the intellisense update and code I know is now in the project is still grayed out. Sometimes making a change to the file seems to force intellisense to recheck the file and enable the code, but the flakiness is annoying.Anonymous
August 31, 2007
The comment has been removedAnonymous
August 31, 2007
I would love to see enforced code formattting in C++ (like there is in C#). I'll also put another vote in for Intelli-sense and interop.Anonymous
August 31, 2007
The comment has been removedAnonymous
August 31, 2007
Re: What IDE/compiler tools does the VS Dev team use ? I can't speak for everyone inside Visual Studio but I am using the Beta-2 release of the IDE and for tools I am using a set of tools that was built on August 15th. Especially from the tools side I always like to ensure that I am using a really "fresh" set of tools - doing so makes it easier to catch potential problems sooner. Jonathan Caves Visual C++ Compiler TeamAnonymous
August 31, 2007
I hope the decision not to make C++/CLI a "first class .Net language" is not based on someone's personal affinity for a homegrown language (C#). That decision will only pigeonhole .Net itself as a RAD environment for in-house projects that aren't required to stand up to commercial scrutiny. Yes, C++/CLI has a more complicated syntax. So what? It's a more complicated language. The nice thing about that is it doesn't hide so many details from the programmer. When performance matters (and it almost always does), it matters if you are boxing or unboxing, passing by value or by reference, and if you're using an automatic variable, a pointer, or a reference. And that's why Hungarian notation IS a good thing because what happens underneath IS important. If Microsoft starts placing more emphasis on native C++ development and leaves C++/CLI to languish in obscurity, then why use .Net at all? There are some great tools and technologies in MSVC 2005 and .Net and it would be a shame to limit them to fluff languages that hide details from the programmer. C# was Microsoft's answer to Java. Java never lived up to its hype. So, let C++/CLI be the killer language it could be for ALL Windows development.Anonymous
August 31, 2007
The comment has been removedAnonymous
August 31, 2007
I really liked working with VS2005 until I stumbled upon lots of bugs and broken features. The dependency settings is broken. While debugging, VS locks the built executable. When I try to rebuild the application, the linker is unable to update the exe (access denied) . Grrrr. The VS 2k5 sp1 installation is just too painful. On the third time I tried to install it it crashed and the only way I could fix my visual studio installation was by a clean windows install. You guys are unnecessarily bloating the IDE, and releasing revision upon revision where none of them is any good. I see good improvements in the compiler but the IDE tends to get worse. I don't see why a company should waste money and developer time in upgrading to newer versions of VS, when the returns are very minimal. Until a couple of years ago I used to feel that VS was the best app from MS. Don't feel so anymore.Anonymous
August 31, 2007
- I like to see functional intelisense (like in c#). often it dont work properly or at all (*.ncb file has more than 40mb)
- IDE should be faster (like in VS .NET 2003)
- fix annoying bug with cooperation of source safe and VS IDE (right click on solution ->get latest version, than you switch to another app (not VS nor VSS) and if you have confirmation dialog from VSS you can not choose anything but to hit escape key
- VS has problem with resources wich are modified by external program. you have to manualy recompile resources
- sometimes code generated by VS is wrong and rebuild is needed. why?
Anonymous
September 01, 2007
As pointed out by many people: *Intellisense The exact problem -- If you change a header file, the IDE will often freeze for quite some time. Also, when first loading a project, the same happens. Number One pain point. *Clipboard ring Where did it go? It was in the toolbox in VS 2003.NET. I realize leaving out the clipboard ring discourages "cut and paste" programming... but it was quite useful to be able to cut and move large sections into different source/header files, or to copy sections to utility files. It was also useful to select and paste the same comment into multiple places in the code Thanks. Chad LehmanAnonymous
September 01, 2007
Chad The clipboard ring still exists in VS2005 and VS2008, it just no longer publishes the text to the toolbox. If you use Ctrl-Shift-V, you can cycle through your recent sections of copied text. -MeghanAnonymous
September 02, 2007
- support C++ TR1
- enhance intellisence at least at the level of c# editor even exceed Visual Assist^^
- class diagram like it has been in rational rose but not in visio
Anonymous
September 02, 2007
I like to see the dialog editor as competent as the Window forms designer. I don't see why this functionality wasn't a part of VS as far back as 2002 or 2003; After all the interface is separate from the code it generates. The auto guides alone would greatly improve the dialog editor.Anonymous
September 02, 2007
Hello, Jens Winslow, Dwight and Kirchhoff, Thank you for your interest in C++ Class Designer. In 2008, the scope of support for C++ is restricted to read-only visualizationis. That is, C++ classes can be viewed in the diagram, however they cannot be created or modified in the diagram. We'll do improvement in the future. Hello, lxxxk, re your comment "3. class diagram like it has been in rational rose but not in visio", I'll reflect this to the feature team. Thank you!Anonymous
September 02, 2007
The comment has been removedAnonymous
September 02, 2007
- Fully agree with all the guys here about the IDE - it has too much memory leaks as well...
- The Team System Profiler is terrible. not intuitive and practically useless. Strange it might sound usely performence problems are not(!) 'for' loops... If you would like to see how profiler should be I sugget you look at the new "bounds checker" profiler - graphically and easy to use. We are using it and it's a tool that really solve performance problems.
- Anonymous
September 02, 2007
The comment has been removed - Anonymous
September 02, 2007
The comment has been removed - Anonymous
September 03, 2007
The comment has been removed - Anonymous
September 03, 2007
I’ve been developing 24x7 telecom server solutions with C/C++ a far has I can remember. My main development platforms, in the last 10 years have been VC++ 6.0 (a lot of time here) and (VC++ 2003 and VC++ 2005) others have passed by me but I will focus on the experience with these 3 compilers/ide/…. Main development in native code with some incursion’s into managed code. Missing:
- More Native ATL type libraries examples: o Some WS infrastructure that I can use instead of DCOM (great but doesn’t play well with others out of fashion) or WCF (great, but not a native technologie, so not upgrading to .NET just to use this). My current solution is to use ATL Server with some changes to be able to use it has a HTTP/TCP server or use gSoap. Not “upgrading” the communication layer for native apps causes “stress” in development of distributed native apps. o Keep up with trends in development. For example a good and fast XML library. We already have XMLLite that’s great, but how about a little more functionality and a class that integrates the API with STL programming concepts!?
- Key technologies missing, don’t want/need C++/CLI to keep up with C# innovation but I want to keep programming in C++ instead of having to use C# (ex: WPF) Must have:
- C++0x Please do more:
- Static analysis
- PGO
- OpenMP (still using Win32 threads, but see a lot of potential here)
- C++/CLI (a little hard to swallow at first, but comparing it to MC++ and to C# no reason for me to use C# anymore)
- STL.NET (just great, how about keeping the non supported VS2005 compatibility?!)
Problems with the IDE:
- A lot slower & buggier Problems with the help system:
- Have to crawl through a lot of .NET stuff to be able to find Win32 API stuff. Other stuff simply has just vanished from the local help (for ex: some OLE…. APIs)
- Anonymous
September 03, 2007
Forget ... vastly improved ... experience, rich-client user interfaces, Windows platform innovation, just make it fast. My fully loaded multi-core machine running VS 2005 IDE today is slower and less stable than my 100 Mhz single core machine running VC++6 IDE was in the 90s. VS IDE is ...
- slow to launch
- slow to shutdown
- slow to open a solution
- slow to close a solution
- slow to start debugging
- slow to stop debugging
- crashes more than it should
- is a resource hog. BTW - the comments refer only to the IDE. The compiler is excellent.
Anonymous
September 03, 2007
Josh - Regarding your request above <3. “Push/pop” cursor caret: So I can “Go to Definition” of a symbol, then “pop back” to the reference. I shouldn’t need to code this basic IDE functionality in macros.> Have you tried the "Go Back" functionality? There is a drop down on the main menu bar that will allow you to go forward and backward in time from where you have visited and there is also a key binding associated with it. For some profiles this is Ctrl + '-'. I think this will do exactly what you want. -MeghanAnonymous
September 03, 2007
Hi all, I’m excited to see the enthusiasm for Visual C++ and the passionate conversations. The C++ team is actively watching what you are asking for and incorporating that feedback into future plans. I look forward to continued collaboration with you all as we continue to make improvements to the C++ compiler and IDE support. Keep talking, we are listening. -somasegarAnonymous
September 03, 2007
Meghan - thanks for the 'Ctrl -' info. (frantically revises project timeframes...) Since posting, I've watched Bill Dunlap and Steve Teixeira's webcast. It was good to hear that the MSVC team are focussing more on native and interop support. Having Herb Sutter so closely involved is also a good sign that MSVC will keep up with standards development.Anonymous
September 03, 2007
Generally, if my source code in C# doesn't have any blue wavy lines, it will at least build ok. C++ would benefit from this important productivity gain. So When I'm coding C++, I'd like the IDE to do something similar to C#'s reference binding intellisense feature, e.g. If I type socket s; The IDE should prompt to insert "#include winsock2.h" -- I shouldnt need to compile code to find this kind of error. In fact, better management by the IDE of #includes, #imports and namespaces presents a lot of potential productivity gains. I should be able to inject code design patterns (e.g. pimpl). I don't think of this as refactoring or source code tempates. I guess C++ needs a smarter internal representation of the program at code-time -- the "compiler" needs to be active, and to "know what I'm coding" while I'm coding. JoshAnonymous
September 03, 2007
Heres a simple request (tweak): Starting with VS 2005, if you try to clear all bookmarks in the document you will be asked "Are you sure you want to delete all of the bookmark(s)?" It would be great if there was a way to turn this question off. Same for breakpoints as well - delete them all without being asked are you sure. Thanks digAnonymous
September 03, 2007
The comment has been removedAnonymous
September 03, 2007
Currently I'm working solo, and the "solution" I'm working on contains 48 projects (of which 17 are unit-test applications). I'm doing my best to manage it, but VS could make it a lot easier for me: Better integration with VSS, please. I still need to launch VSS (6) to label projects. I should be able to do that from a context menu. C++ development would benefit from more target- focused concepts: There should be a VS entities called "Applications", "Executables" and "Libraries" , (between "Solutions" and "Projects"?). E.G. For an Application I want to -- Deploy/Create Installation Update Version (no editing of VERSION resources) Update Version History (Readme) etc Applications, Executables and Libraries (source, object, dll, COM), not "Projects" are what we build in C++. JoshAnonymous
September 03, 2007
The comment has been removedAnonymous
September 03, 2007
I would like better support for environment variables. That is, in addition to the built in variables like $ProjectDir for example, I would like to be able to use environment variables. For example to set additional include $ENV{MyProjectRootEnvVariable}/include. Also when starting devenv /useenv, it would be nice if variables could be set separately for different platforms. Perhaps instead of just INCLUDE, LIB and PATH one could have INCLUDE_x64, INCLUDE_x86 environment variables.Anonymous
September 04, 2007
The comment has been removedAnonymous
September 04, 2007
While I agree VC6 was really good, and VC8 is OK, I still want to have more features. Some while ago, I used Eclipse + Java. This was heaven - of course not everything was good, but following features stood really out.
- Quickfix (Ctrl+1)
- Refactoring ... renaming a java class in eclipse is no problem - it takes me less than a minute. In C++? Renaming a class? I won't do it without a very very good reason... it's just too painful. Good refactoring support, really changes how you develop programs! So please add it.
- Intellisense that just works... in VC8 and VC6, sometimes it doesn't work. And there is no feedback - why it doesn't work... other wishes:
- Of course C++ 09 support. ;)
- Fix the .NET Framework Distribution problem. Nobody has the latest .NET framework installed. The binaries are too large to distribute with your product. And telling customers to download 20MB + from microsoft.com, is also not helpful convincing customers of your product. JE
Anonymous
September 04, 2007
I develop Console-based/compulational intensive (3-4 hour run times) programs for 32/64 bit Windows and Linux systems. The same code must compile on each operating system seamlessly. VS2005 is my develop platform and it does what I need reasonably well. We would like to move this application to a multi-threaded / computer cluster environment, but Windows/Linux code compatiblity is frustrating our efforts. I like how C# does this, but the performance of C# is a major drawback.Anonymous
September 04, 2007
The comment has been removedAnonymous
September 04, 2007
I second Glen's comments regarding C++ being a full citizen. With C++/CLI, why should we have to bother with annyoing C# syntax?Anonymous
September 04, 2007
Here's a simple one: The Find In Files output should not be cleared at the start of each search operation. Yes, we have two Find Results windows we can alterante from, but we wouldn't really need them if the search results were simply appended to the results of the previous search. Appending search results provides a very useful search history. I often find myself using Textpad's file search mechanism for this reason alone. And if possible, please include this in the next service pack for VS2005. Thanks. :-)Anonymous
September 04, 2007
The comment has been removedAnonymous
September 04, 2007
I wanted to respond to recent comments by Glen and Cygnus... >>I hope the decision not to make C++/CLI a "first class .Net language" is not based on someone's personal affinity for a homegrown language (C#).<< The Visual C++ team is responsible for determining how C++/CLI fits into the overall Visual C++ product strategy. Please rest assured that this issue has absolutely nothing to do with any emotional attachment for C# and everything to do with the feedback we receive from Visual C++ customers. What we have heard from an overwhelming majority of customers is that C++ is most important to them in native code and multiplatform scenarios. We also find that C++ developers are perfectly comfortable working with C# for .NET-specific parts of their application, such as UI code generated by IDE designers. We on the VC++ team feel that we can offer customers far more value by focusing on those native code scenarios that ONLY the VC++ team can deliver on, as opposed to diverting resources to provide C++/CLI experiences for designer-oriented scenarios that are already handled well by C#. >>That decision will only pigeonhole .Net itself as a RAD environment for in-house projects that aren't required to stand up to commercial scrutiny.<< I'm going to have to agree to disagree with you on this point. My feeling is that the success of .NET as a platform does not rest on whether or not certain .NET designers or features are surfaced with C++/CLI support. >>Yes, C++/CLI has a more complicated syntax. So what? It's a more complicated language. The nice thing about that is it doesn't hide so many details from the programmer. When performance matters (and it almost always does), it matters if you are boxing or unboxing, passing by value or by reference, and if you're using an automatic variable, a pointer, or a reference.<< I agree. This is why C++/CLI is an important piece of our product strategy. C++/CLI offers by far the best native/managed interop experience as well as the greatest control over runtime characteristics. I encourage everyone to leverage C++/CLI in cases where these things are important. >>If Microsoft starts placing more emphasis on native C++ development and leaves C++/CLI to languish in obscurity, then why use .Net at all?<< Hopefully I'm helping to paint a more accurate picture of the role of C++/CLI. In a nutshell, we're focused on areas where we can add maximal value, and we're deliberately avoiding investments in "me too" areas where we can offer little value beyond a "C# with a preprocessor" experience. In practical terms, this will often mean leaving the UI designer space in the capable hands of C# and VB.NET while VC++ focuses on ensuring developers can get the most out of the "guts" of their software. >>C++ needs to be a full citizen from now on. When I was at a recent MSDN event, the question was asked how many VB programmers do we have here, then how many C# programmers, and that was it. I wanted to yell out C++.<< Assuming you mean a full citizen of Visual Studio, I wholeheartedly agree! I also agree with you that the message that goes out through our field-focused organizations can be overly .NET-centric. However, we're working with these field-focused organizations, such as Developer & Platform Evangelism, to provide more balanced managed/native messaging going forward. Thanks! Steve Teixeira Group Program Manager, VC++Anonymous
September 04, 2007
Clean solution/ rebuild solution - delete the .aps file!!!Anonymous
September 04, 2007
Steve, thanks for your comments. They are appreciated. Can I ask, then, if you intend to leave new .Net UI development to C# and VB but fully support C++/CLI where system performance matters, why don't you support Web Services and WCF in C++/CLI like you do C#? Also, I do think there is a silent group out there that thinks like me and is not happy with the VB/C# approach to UI development. Coding techniques matter. Code maintenance matters. Rapidly-developed UI faulters under stress. I've never known any kind of large-scale project written in VB (or C#) that was successfully deployed and survived. And besides, we have enough technologies out there to keep track of. It makes it much easier if we can work with them all in the same language.Anonymous
September 04, 2007
[Josh Greifer] > 5. size_t should be blue in the source code editor (optionally), like wchar_t is. Remember that size_t is a typedef, while wchar_t is an actual type. The distinction occasionally matters, such as when overloading. Stephan T. Lavavej Visual C++ Libraries DeveloperAnonymous
September 04, 2007
Hello Digby Re your question: What IDE/compiler tools does the VS Dev team use? Although Jonathan (Caves) answered you above, he has just posted a much more specific description of his setup on the VC blog if you are interested in much more detail. See here: http://blogs.msdn.com/vcblog/archive/2007/09/04/what-compiler-does-the-compiler-team-use-and-decoding-version-numbers.aspx#comments Thanks Damien Watkins Visual C++Anonymous
September 04, 2007
The comment has been removedAnonymous
September 04, 2007
I see lots of comments about the filter for C++ - Gordon mentioned that in the Orcas release has a new C++ (native) filter. I will see if we can put out a file and registration for a filter to fix-up your earlier releases/libraries. If so, I'll post back here and also on my blog. AprilAnonymous
September 05, 2007
The comment has been removedAnonymous
September 05, 2007
Just stick to the standard. Ask yourself what can you do to fulfill it.Anonymous
September 05, 2007
I am really glad you are making this opportunity available for all users to provide feedback. There will be lots of personal pet peeves of course, and you can never make everyone happy, but there is always hope for a company that listens to its customers. I also want to say I'm very happy with the move towards full public betas and the express editions. This allows small developers to anticipate and prepare for API changes just like the big boys. I'm a busy C++ developer. I don't have the time or inclination to spend hours in the registry or installing scripts etc. I really don't have time to write this note, but I feel I can't complain if I don't vote! So here goes (VS 2005 feedback):
- Make the most common tasks fast and reliable. Here's a secret trick: try to develop the classic asteroids game using the latest VS, but on an old 386 or 486 system. If you can't stand it, find out why. Performance really does matter. No, really do this. Take a week and do it.
- Less integration, more inter-operation. A simple example: the start page has html links (I got to this blog via one of them). That's great. But when I click on a link, the page is displayed inside VS. Isn't it more likely that I already have a preferred web browser, and in fact am already an expert at using it? The problem with integrating such functionality into the IDE is that you don't automatically integrate the user's domain knowledge of how to use that functionality. The user has to learn new ways to do things he already knows how to do. I'd prefer that all context sensitive tools could be unbundled this way (the help system sort of works like this, but I'm not allowed to choose a different help program).
- Make all dialog boxes re-sizable, and remember where I last put them and how big they were. You do this sometimes (Window->Windows...), but not always (Project->Properties). I like big dialog boxes for text fields and scrolling lists.
- The task list window should show comment tasks from the file, project, or entire solution. VS 2005 only displays them from the current file. I don't use this feature because of that.
Anonymous
September 05, 2007
Stephan, yes, size_t is not a keyword like wchar_t. Which is why I added "(optionally)". For me, the syntax coloring of typedefs which are essentially aliases for built-in types leads to easier to read code. I guess I'm looking for something similar to the useful cyan coloring you get when you make aliases in C#: using size_t = System.UInt32;Anonymous
September 05, 2007
I'd like to see the ability to skip comments in search & replace.Anonymous
September 05, 2007
I think you are missing a lot of potential users. I like to build platform neutral apps with ACE. But VC++ is always tough to make work with makefiles. It would be nice to support both so I could drop eclipse and EMACS and all of that stuff on the Linux side. I would love to be able to just scp and build on Linux once I'm done testing on NT.Anonymous
September 05, 2007
The comment has been removedAnonymous
September 05, 2007
The comment has been removedAnonymous
September 05, 2007
The comment has been removedAnonymous
September 05, 2007
The comment has been removedAnonymous
September 05, 2007
Still about Intellisence. In VC 2003, when I press F12 on a member function declaration in a base class, a dialog will pop up listing the function definition of the base class as well as the function definitions of all the descendant classes so that you can choose one from them. This may be not accurate for the reason that Intellisence cannot determine which class we want. But this is a great feature. We are often faced with virtual member function invocation via a pointer of the base class and we don't know in what class this member function will be invoked when reading the code. To better understand the code, it is quite useful for us to see all the possible implementations of the virtual function. And VC 2003 provides this great feature, that is when we press F12 we can see a dialog listing all the possible implementations. While VC 2005 makes Intellisence more accurate (that is when you press F12 on a function declaration of a base class you will be navigated to the definition of the base class), it fails to recognise the purpose of reading code-- to understand code. I hope this feature be considered in future. Thanks, John TangAnonymous
September 06, 2007
Bring back Brief emulation. TIA :)Anonymous
September 06, 2007
I develop my applications in VS C++ mixing managed and unmanaged code. Only the presentation layer is written in VS C#. That is because VS C# always has better design support then VS C++. The superiority in power of the VC++ language over the C# language is indisputable (for those who know both). The biggest problem of VS C++ right now is the lack of support for designer tools like the ones for VS C#.Anonymous
September 06, 2007
A small feature I'd like to see improved on is the Configuration Manager in VC++. It would be great for us who develop on multiple platforms to be able to add new platforms easily without having to write a VS-plugin for every one we want to build on. Right now, with the default config, only Win32 and x64 are available in the choices. It'd be nice to be able to manage our GC, Wii, PS2, PS3, etc. project the same way, easily. Perfect feature to fix for an internship! Thanks, FredAnonymous
September 06, 2007
Daniel, re: support for TFS versioning of files that are not in a versioned solution/project. Yes, I agree, this annoys me too and we plan to address it in the future. The IDE integration for version control has historically been focused around projects and solutions and we did realize until late that this was thinking about the problem too narrowly. I hope to get this addressed in our Rosario release. Thanks for the feedback. Brian Harry Product Unit Manager, TFSAnonymous
September 06, 2007
Hello Feri T. Re your comment: The biggest problem of VS C++ right now is the lack of support for designer tools like the ones for VS C#. If your comment is specifically about designers/tools/features for targeting .NET, then we agree that languages like C# and VB that specifically target .NET provide incredible features for working with .NET. Our advice is definitely to use these tools from these languages whenever you need/want to. Going forward our goal will not be to provide parity with these languages/environments when specifically targeting .NET. If you comment is about providing such functionality but for native development then we would also agree that we do not have parity today (Intellisense being one such example often mentioned in this thread) but rest assured that our goal going forward will be to provide similar (or better!) functionality for targeting native code development. Steve and Bill cover our motivation and reasoning in their Channel 9 video, referenced above but I will included it here again: http://channel9.msdn.com/Showpost.aspx?postid=281987 Thanks Damien Watkins Visual C++Anonymous
September 06, 2007
In deflecting the requests for more C++/CLI support, a lot of references have been made to "feedback" or a "survey". Was the sampling scientific? That is, did you account for the fact that a lot of developers are too busy to take part in such things or don't need to go to all of these conferences that highlight new technology? I didn't even KNOW about C++/CLI until about 6 months ago, and it was just by accident that I found out. Prior to that, I had just tuned out .Net development because I knew C# and VB wouldn't cut it where I work.Anonymous
September 06, 2007
Hello Eric Re your comment: “I am really glad you are making this opportunity available for all users to provide feedback. There will be lots of personal pet peeves of course, and you can never make everyone happy, but there is always hope for a company that listens to its customers.” And there is absolutely no hope for a company that does not! Re your comment: “I also want to say I'm very happy with the move towards full public betas and the express editions. This allows small developers to anticipate and prepare for API changes just like the big boys.” Thanks, nice to hear that these initiatives are working well for you. Re your comment; “I'm a busy C++ developer. I don't have the time or inclination to spend hours in the registry or installing scripts etc. I really don't have time to write this note, but I feel I can't complain if I don't vote!” Absolutely, the only way to be heard is to speak up – further more please feel free to use our VC blog on occasions too. And I hope you do not always have to “complain” too :-) Re your comment: “So here goes (VS 2005 feedback):
- Make the most common tasks fast and reliable.
- Less integration, more inter-operation.
- Make all dialog boxes re-sizable,
- The task list window should show comment tasks from” Thanks for taking the time to tell us about these. A number of us are reading this blog almost daily and we are recording the suggestions. We are already addressing some, such as the amply identified Intellisense issue(s), but this thread reiterates why completing that work in particular is so vital. For other issues mentioned here, customer feedback helps us decided what priority order to put things. As you say above, we unfortunately cannot address every issue for every customer but we have to make sure we address the right ones first and foremost. Thanks Damien Watkins Visual C++
Anonymous
September 06, 2007
The comment has been removedAnonymous
September 06, 2007
Standard conformance is critical. It would also be nice to have implementations of the new tr1 and standard features out quickly.Anonymous
September 07, 2007
Frankly, most of the opinions expressed here are ignorant. You have a lot of moronic customers who have no idea a) how to get best use out of the toolset and b) who plainly feel a sense of entitlement based on their experiences with earlier versions such as VC6/7. Half of the recommendations on this page are for features that are already supported, or to fix performance issues that are only an issue on sub-standard hardware. I've been with VC++ since the beginning and each version is a tremendous improvement on previous versions in almost every area. Developers whine about a lack of support for native development when VC++ is the single most capable native development platform in the world, bar none.Anonymous
September 07, 2007
And the developer who suggested you take VS2005 and develop asteroids on it as a way of demonstrating the need for "performance".. he's out of his mind. These little kiddies need to learn that new operating systems and new development environments require new hardware PERIOD.Anonymous
September 07, 2007
The comment has been removedAnonymous
September 07, 2007
- try to break the speed (and responsiveness) of Visual Studio 6.0. The responsiveness of Visual C 2005 is way too slow.
- get better stability of the editor, like it was in Visual Studio 6, and less resource consuming
- change back to the help system of Visual Studio 6.0. current "dexplore" is too slow, too much flickering and too resource consuming.
- show relevant help items when hitting the F1-key, for all relevant C / Platform SDK / WDK keywords (sprintf, SHCreateFolder, IoCreateDevice)
- Anonymous
September 07, 2007
My desired improvements:
- True long double support (not an 8 byte typedef) when extra precision is required for engineering & scientific applications. Optimizations and enhancements for floating point intensive applications. Most of your competitors are far ahead of you in this area. It seems like not much has been done recently for those of us who develop these applications yet they really are computationally expensive.
- Improved IDE performance, esp. debugging large solutions with many projects and files.
- Improve C++ IntelliSense. I think it is actually worse in 2005 than earlier versions. IntelliSense rarely works on my large solution. Standards conformance has come a long way since VC++ 6.
Anonymous
September 07, 2007
Better configuration of multi-target projects. We have projects we want to target to Win32, Win64, and various different Windows CE and Windows Mobile platforms. Unfortunately, this requires a lot of manual work. When creating a new project, you can't choose all of the above, so you must add the other configurations later (this is also the case for existing projects when expanding what they target). When you add a new configuration, you can make it blank or copy setting from an existing configuration, but you can't copy from the default settings that you would get if you created a project from scratch with that configuration. That means, to create (for example) a Windows Mobile Pro config, I must either start from scratch and manually change all the options or I must copy from Win32 and then fix all the defines and other options that aren't appropriate. It turns out that the easiest way is actually to just create another project and then manually edit the XML of the original project file to add the new configuration, copied from the new project...Anonymous
September 07, 2007
Small, but powerful, feature from the old Smalltalk days: Right-click paste has a sub-menu off of it that shows you a list of your last, say, five clipboard contents (up to the first 20 or so characters of each). Much more intuitive and friendly than the clipboard ring. One often gets sidetracked when about to paste something; this allows one to easily dig back out without starting over. All text editing widgets should do this...Anonymous
September 12, 2007
improve the editor. last the editor was destoryed my project and compiler couldn't build some of the pages of my project . i've just think that if i had a big proj and the compiler burned my proj what shall i do !!!!!!!Anonymous
September 12, 2007
make a list of events of controls as parameters in editor pages(like as VB or C#) so it don't need to type the events by keyboard. don't change the symboles . for ex the symbol of pointer on vc++ 2003 is * but in 2005 is ^ . at all i think that the V.C++ 2005 has many problem than the last version.Anonymous
September 13, 2007
I really agree with the people that keep missing VC6. It was the IDE that was really superior to all others at that time. Now with VS2005 I'm not so sure anymore... I've worked with 5/6/2003/2005 and simply can't say that 2005 improved much for me...
- It is slow(er).
- Intellisense is slow, a CPU-hog and often simply doesn't work (SP1 improved that a bit)
- Caller graphs and "find all references" simply don't work.
- The are still quite a few errors in it!
- for the docs: If space allows it, bring back the Win32-API documentation. proper.
- Where's refactoring? Why not improve 2005 first? VC6 had 6! service packs afaik and 2005 only got one, still has errors and is already being replaced by 2008... I'm not a friend of switching IDEs and installing redistributables on numerous machines. I'd only do that for serious improvements... Imo there's lots of people (including us) that use C++ and need to keep it that way because they're doing cross-platform development (Win/Linux/Mac) and/or need highest possible performance... Nice of you to provide VC++ Express. Though it lacks some stuff of the regular version it is a really powerful IDE. regards Kim Rosenbohm
Anonymous
September 13, 2007
I use both VS2005 and VC++ 6.0. At our company, we make most of our applications in C#. However, for our embedded devices (we have both CE and XPE flavors) they are totally in native code, and I don't expect that to change. However, if MS could provide a toolkit to help communicate with WCF services straight from native code, it would be great. Then we can make all our communications the same. We have moved some of our managed code to use WCF. The only stopper to using it across the board is having to use it in our embedded applications (and it has to support the same code base for both WinCE and XPe). So by providing a standard C++ toolkit that doesn't have many dependencies, you could possibly use WCF from native code on any windows platform, and that would be the coolest !Anonymous
September 13, 2007
What about "#define" (macros) debugging? I have a lot of C++ code inserted as #define because I have a lot of similar methods, but It's very hard to debug and find any error when it resides in macros. It would be nice if we have to debug #defines as if they were methods or any alternative way, such as automatic code expansion of them (like C++ preprocesor does in compile time). Regards, SenAnonymous
September 13, 2007
The comment has been removedAnonymous
September 13, 2007
Intellisense/Autocomplete and Help needs to be more tightly integrated. When I type a function or object, and hit F1 on it, it should take me to THE (not one, not many) page that documents that function or object. Also would be nice: an "Assist" pane in the VS IDE. When Intellisense/Autocomplete sees that I'm typing a function, the assist pane is a little HTML document that shows:
- The function I'm typing, with up-down arrows for all the overloads.
- Documentation of the arguments. (See Excel's function wizard, for example).
- Hyperlinks to THE MSDN documentation for that function (don't bother with links to communities). I know, Help and documentation is mind numbling boring. But this is something Microsoft should start investing more heavily on, despite what Charles Petzgold says about Intellisense. Wish #2, related: Wish #1 is really an alaboration of the tooltip that is part of Intellisense. The problem with this tooltip is that it "gives up" on me. Expecting the customer to keep the carat in the argument list as a requirement to see the tooltip is too limiting. It needs to come up whenever I place the carat in a function, not just when I'm actively entering arguments. Wish #3: Please keep J# alive, and support 64-bit. If you can't support intellisense, etc on it, for the time being, then disable those features. Wish #4: Please make configuration management more intuitive and robust. This Any CPU/Mixed Platform/x86/x64 stuff all has its reasons, but it's just too complicated. (Fix J# 32-bit-onlyness.) I should be able to always code under "Any CPU" and enjoy the safety of not accidentally switching configurations. Related to this: the configuration dropdown is lying to me. If I have a multi-project solution, the Configuration management dropdown is where the actual configurations per project live. As per paragraph #1, I really don't care to be managing my experience at this level in the first place. I don't really care about configurations! Make debug/release a separate project property, and stop trying to cartesian-product-out your configuration matrix with the debug/release dimension. Managed code doesn't have as many Debug-specific settings as native code does, but that doesn't have to mean it inherits the messy configurability. Other than that, Visual Studio is simply awesome that will keep my loyalty for a long time to come.
Anonymous
September 13, 2007
i'm agree with brian . the MSDN have so many problem . it doesn't have a good organize . some times while i can't work with new controls i refered to MSDN but i can't get a clear answer. i think that the microsoft must be think about it .Anonymous
September 13, 2007
I second the suggestion Michael H made. Please include true support for long double in Orcas.Anonymous
September 13, 2007
Alright, I'm late on the wagon. But here are some things I'd like: (1) More C++ standards support (but forget 'export'). TR1 should be fully supported by VS2008 and should be part of VS2008 when it finally is out of Beta. (2) The parts of C++0x that look to be frozen should be implemented too. One of the things I keep reading in articles and on comp.std.c++ and comp.lang.c++.moderated is that existing practice is one of the keys to getting new features standardized. While VC++ is by far the best C++ IDE I've used (despite its many shortcomings), it is really sad to me that gcc is more innovative in terms of new ideas, C99-interoperability, more quick to implement TR1. I would expect MS to be more competitive here. (3) C99 pre-processor support. Variadic macros are just too useful. C99 lanugage support is less important. While it would be nice, I think there are other higher-priority items to focus on. (4) 80-bit long-doubles. If someone is using long doubles, it usually indicates they want the extra precision. This used to be supported in old versions of MS compilers. I really don't understand why this was dropped. (5) Please add #region statements like C#. These are useful for collapsing and navigating code. Right now, I simulate this via #if statements: '#if 1 //REGION: Some Region' (6) I would also like to see some new useful libraries for C++ that are not tied to MFC, ATL, or some other package. They should be independent of eachother, usable in console applications, and provide good C++ abstractions. Examples: A Windows C++ threading library, a C++ filesystem class, a typesafe C++ printf and scanf library ala Alexandrescu (iostreams makes internationalization extremely difficult), a light-weight Windows XML class, something like boost RTL (currently in the boost sandbox). I know there's a lot of useful knowledge inside MS Research -- let's see some of this come out and help the rest of us developers. Having libraries like this would also allow something for the standards comittee to see what can be implemented and what people like. This is the one of the key ways to keep moving the C++ language forward. NOTE: These libraries don't have to wait for Orcas+1. They can be provided as seperate libraries for download or made available via service packs. If there is something useful, get it out there! (7) An built-in garbage collector. This could be something entirely new or something with the same interface (and heopefully optimized version) of Hans Boehm's collector. I don't beleive this is a cure-all. I think good memory management is still key and the the RAII idiom has really helped reduce the amount of memory leaks. But there are a few situations where having a garbage collector would really help optimize code. (8) A way to create a FILE* that works on a buffer located on the stack or heap. There are a number of legacy projects that access files that my company would like to now allow in-memory access to. Having something like this would be really helpful! (9) Built-in help is useless to me. It takes too long and doesn't return good results. Google is much better. MSDN online is OK, but it is still difficult to find the right information sometimes. I suppose that's half because the library is so big. But I do think something could be done to help navigate it more quickly.Anonymous
September 13, 2007
Alright, I'm late on the wagon. But here are some things I'd like: (1) More C++ standards support (but forget 'export'). TR1 should be fully supported by VS2008 and should be part of VS2008 when it finally is out of Beta. (2) The parts of C++0x that look to be frozen should be implemented too. One of the things I keep reading in articles and on comp.std.c++ and comp.lang.c++.moderated is that existing practice is one of the keys to getting new features standardized. While VC++ is by far the best C++ IDE I've used (despite its many shortcomings), it is really sad to me that gcc is more innovative in terms of new ideas, C99-interoperability, more quick to implement TR1. I would expect MS to be more competitive here. (3) C99 pre-processor support. Variadic macros are just too useful. C99 lanugage support is less important. While it would be nice, I think there are other higher-priority items to focus on. (4) 80-bit long-doubles. If someone is using long doubles, it usually indicates they want the extra precision. This used to be supported in old versions of MS compilers. I really don't understand why this was dropped. (5) Please add #region statements like C#. These are useful for collapsing and navigating code. Right now, I simulate this via #if statements: '#if 1 //REGION: Some Region' (6) I would also like to see some new useful libraries for C++ that are not tied to MFC, ATL, or some other package. They should be independent of eachother, usable in console applications, and provide good C++ abstractions. Examples: A Windows C++ threading library, a C++ filesystem class, a typesafe C++ printf and scanf library ala Alexandrescu (iostreams makes internationalization extremely difficult), a light-weight Windows XML class, something like boost RTL (currently in the boost sandbox). I know there's a lot of useful knowledge inside MS Research -- let's see some of this come out and help the rest of us developers. Having libraries like this would also allow something for the standards comittee to see what can be implemented and what people like. This is the one of the key ways to keep moving the C++ language forward. NOTE: These libraries don't have to wait for Orcas+1. They can be provided as seperate libraries for download or made available via service packs. If there is something useful, get it out there! (7) An built-in garbage collector. This could be something entirely new or something with the same interface (and heopefully optimized version) of Hans Boehm's collector. I don't beleive this is a cure-all. I think good memory management is still key and the the RAII idiom has really helped reduce the amount of memory leaks. But there are a few situations where having a garbage collector would really help optimize code. (8) A way to create a FILE* that works on a buffer located on the stack or heap. There are a number of legacy projects that access files that my company would like to now allow in-memory access to. Having something like this would be really helpful! (9) Built-in help is useless to me. It takes too long and doesn't return good results. Google is much better. MSDN online is OK, but it is still difficult to find the right information sometimes. I suppose that's half because the library is so big. But I do think something could be done to help navigate it more quickly.Anonymous
September 14, 2007
I've read a few more comments from other users. I'd like to re-iterate a few of their requests:The 'assist pane' is a great idea.
Once intellisense doesn't lock the GUI, have intellisense pop up whenever the carret is placed in the argument list.
macro debugging would be really nice.
An easy way to store stack-frame information would be really nice as well. Stack frames in .NET exceptions are ver useful when debugging. Some way of easily storing the same information in C++ (and C) would make life a LOT easier!
C++/CLI support is key for .NET interop. It is so much easier (and maintainable) than C# p-Invokes. Please get tool support for C++/CLI up to par with C# tools. And don't let C++/CLI fall behind technologically as a .NET language.
Please support C++/CLI on Windows CE. I hear there are technological reasons that this isn't possible. Please fix these thechnological problems on the next CE OS, then get compiler support for C++/CLI for WinCE.
Anonymous
September 14, 2007
Small request: more than two "Find Results" windows.Anonymous
September 14, 2007
Mixed debugging of 64-bit code.Anonymous
September 16, 2007
I'm part of a game development team that has just started to migrate to a C++ / C++/CLI / C# workflow (writing our engine code in C++ and game code in C#). We think that C# and C++/CLI are excellent, but there is something we'd really like - Native/CLI code IDE improvements. The C# intellisense is amazing, and we'd like even a fraction of the improvements to be backported into C++. Things like the context sensitive list suggestions that you get in C# would be a godsend to C++ development.Anonymous
September 16, 2007
Oh really? I'd like to see Intellisense working, without hanging VS.Anonymous
September 17, 2007
In VC6 is possible to share pch across projects (in my case ~60 projects from libraries to exe) In VC 2005 after a long war i realized that is not possible to do this. Please share pch across project's for two reason: 1 speed-up compilation time 2 decrease disk usage (each pch is mant MB and is the same in every project !)Anonymous
September 17, 2007
Pepito Sbarzeguti, I opened a bug on supporting shared pch's. But I think the IDE should just do the right thing and automatically use pch's without user involvement.Anonymous
September 17, 2007
I would like to see such basic IDE usability improvements as
- Switching between header/cpp with a keystroke, regardless if they're in the same directory or not.
- The ability to add a new header/cpp pair to a new project with a single click. Newly added units should not be completely blank. It would be nice to customize the content, but every unit needs some kind of a header guard, a namespace, and the cpp usually needs to include stdafx and the corresponding header. It is currently too painful to add a new C++ unit/header pair, it works so much better with C#. Sometimes I wonder how people add new units to a project, because the IDE's usability is poor when it comes to C++.
- It is a major pain that the IDE renames files to lowercase. ThisIsMyFileName.cpp is easy to read; thisismyfilename.cpp is not. It's annoying that I have to constantly rename files back. Save should never rename, that's what Save As is for.
- The C++ forms editor is not a first class .NET citizen. At the minimum, it shouldn't litter the header file. Partial class support would be even nicer. I gave up on doing GUI development in C++/CLI. Like others have mentioned, C# intellisense is so helpful. I love C++ with a passion, yet I enjoy writing C# code, because it's so fluent. Keep up the work on the ever improving C++ standards compliance.
Anonymous
September 17, 2007
The comment has been removedAnonymous
September 17, 2007
The comment has been removedAnonymous
September 18, 2007
The comment has been removedAnonymous
September 18, 2007
Hey John, With reference to your F12 issue, I'm happy to let you know that we have fixed it in VS 2008.Anonymous
September 18, 2007
Hello For everyone who expressed an interest in the future of MFC I just wanted to point out Ale’s session at TechEd Developers - 05-09 November 2007, Barcelona, Spain. The details are: Title: MFC Updates for Visual Studio 2008 and Beyond Presenter: Ale Contenti Abstract: This session will demonstrate the new features added to MFC in Visual Studio 2008, including support for Vista Common Dialogs, Vista Common Controls, the Microsoft Office 2007 Look and Feel (including support for an Office Ribbon style interface), Office and Visual Studio style Docking Toolbars and Tabbed Documents. We will also talk about our plans to evolve the MFC library for Visual C++ 10 and beyond. This is an in-depth session designed for experienced C++/MFC programmers. (C) Please drop by and say hello to Ale! Thanks DamienAnonymous
September 18, 2007
Hello Re: Monday, September 17, 2007 4:33 AM by anonymous > Oh really? I'd like to see Intellisense working, without hanging VS. Firstly, I just want to say that we hear all of you loud and clear on Intellisense. Just to reiterate what Marian (Luparu ) said above: “C++ Intellisense is a topic that came up several times throughout this thread. I agree with you that today’s experience with Intellisense is poor, both in terms of performance and scalability. As Bill Dunlap noted above, we are working on a rewrite of our compiler front end that will provide Intellisense functionality at least as good as any other compiler for the our Orcas + 1 release. Of course we also realize that we need to address some of the pain-points with Intellisense in the immediate future.” A working Intellisense “without hanging VS” (as you put it) is a top/major priority of ours going forward and with the work on the front-end rewrite that is already underway we are confident that Orcas +1 will be a different experience. Thanks DamienAnonymous
September 18, 2007
The comment has been removedAnonymous
September 18, 2007
Hello Re: Tuesday, September 18, 2007 4:17 AM by Phidias > I fully understand the .NET rationale, and agree with it 100%. But I can't bear the performance hit, nor can I go back to MFC. Always after a little feedback/understanding of our customer’s requirements – so I am just curious what prohibits you going back to MFC? Thanks DamienAnonymous
September 18, 2007
one word: metaprogrammingAnonymous
September 18, 2007
IntelliSense is a great option, and works perfectly in languages like C# so it would be extremely helpful if you could get IntelliSense working as perfectly in C++. When I add a dozen new members to a class, I have to keep switching back to the class's header file to remember what I named them! I would love if IntelliSense would update straight away.Anonymous
September 19, 2007
I think a GUI interface (Just like C++/CLI designer view) for developing MFC applications would be extremely useful if possible. I cannot imagine how fast and easy it would be to develop programs with this powerful tool. Right now something like this is possible just for dialog boxes in MFC. Doing the same with MFC programs would be nice. Also managing the resources have some problems in VC++, when I rebuild the solution sometimes all of my resources go with the wind :D E-Mail: alirezanoori@hotmail.comAnonymous
September 19, 2007
I think a GUI interface (Just like C++/CLI designer view) for developing MFC applications would be extremely useful if possible. I cannot imagine how fast and easy it would be to develop programs with this powerful tool. Right now something like this is possible just for dialog boxes in MFC. Doing the same with MFC programs would be nice. Also managing the resources have some problems in VC++, when I rebuild the solution sometimes all of my resources goes with the wind :D E-Mail: alirezanoori@hotmail.comAnonymous
September 19, 2007
I'd love to see a 1sr class visual SQL designer for any ODBC source. Personally the more cross platform database support the better. Embedded SQL and the works. I use a lot of DB2 and DB2/400 and feel it would be nice to have better support tools in VC when working with databases.Anonymous
September 19, 2007
The comment has been removedAnonymous
September 19, 2007
The comment has been removedAnonymous
September 19, 2007
The comment has been removedAnonymous
September 19, 2007
We have multiple large applications in native C++, many with ATL and MFC. First, all the speed/correctness mentioned before. This is necessary, but not sufficient for continued use of MS products and platforms. (MS wake up-- the pressure from open source and other platforms is very real.) What we would like would be:
- Actual real reasons to upgrade tools, not for "not wanting to be left behind", but for real productivity gains. Make our customers notice that we must have upgraded because we develop better/faster/prettier, not because we disappeared for 6 months trying to get stuff just to work again.
- Make it easy for us to get snazzy interfaces without suffering. Note that this does not mean nonsense like HTML dialogs, but things like resizeable dialogs or decent printing support.
- Don't make use drink the koolaid for whatever the MS push du jour is. Seriously, we cannot by fiat make our customers install .NET, move to Vista, etc. To the extent new features require these things, any time MS spends on them is wasted from our perspective.
- Keep our developers from writing code that should be delivered in libraries-- parsings, plumbings, wrappers. These just waste development, build, and testing time. Thanks.
Anonymous
September 20, 2007
One thing I'd like to see in Visual C++ going forward is support for data breakpoints in managed, or at least mixed-mode projects. I have an application that uses IJW to allow me to use the .NET XML facilities for input/output, and a native C++ kernel which does computational fluid dynamics calculations. The "Set New Data Breakpoint" dialog is grayed out, even in my native code. I've seen from Help (http://msdn2.microsoft.com/en-us/library/350dyxd0.aspx) that this feature is only supported for native C++, but apparently not for native portions of IJW projects. I've tried setting them in files compiled with and without /clr: no dice. Additionally, I hope this feature will work smoothly with OpenMP.Anonymous
September 20, 2007
parkzone -- the Help setting you want is in the Tools -> Options -> Help -> Online Try local only, not Online in VS 2005.Anonymous
September 20, 2007
Many good features of VC++6 are missing in the newer versions of VS, including VS2005, such as (1) Cannot use debugger to examine the content of each class array element (e.g., class matrix A(10,10), then debugger cannot see A(0,1), A(1,1), ...); (2) More difficult to customize the editor (now it is very difficult to customize the editor and many customizable features of VC++6 are gone); (3) Very difficult to activate the Watch 2, Watch 3 in debugging window. People can list more ......Anonymous
September 20, 2007
Responding to Eric Roll - have you tried Visual C++ Express? This is a free tool that's designed to be a slimmed down easy to use version of Visual C++. It doesn't have a lot of the useful features you get with other versions like ATL, MFC, the profiler etc, but it may be just what you're looking for. Ben Anderson Visual C++ Libraries QAAnonymous
September 20, 2007
I'm not sure this is C++ or not but the Debugger when in C++ mode. I'd really like much more official support for the autoexp.dat file (maybe even take it out of that file and give a UI for setting this stuff globally and per project) *) the ability to stop the debugger from stepping into certain things (like string constructors). Maybe a pragma for this instead of autodat.exp? *) the ability to get it to print more useful info when in the watch window or hovering the mouse. (for example right now if I hover over an STL map all I get is ??? Supposedly those things are handled by autoexp.dat but I've never had any luck with it. Also, Array inspector windows (like CodeWarrior) and the ability to cast a memory window to any type or array of types (like CodeWarrior)Anonymous
September 20, 2007
The comment has been removedAnonymous
September 20, 2007
I have small improvement in mind that would solve the annoying thing which many people here complain of. The problem is when you are debbuging code and stepping into functions, you usually want to skip all uninteresting things like string constructors or own already debugged functions. In eclipse (despite it is terrible IDE at all) is a smart feature that you select by doubleclick the name of the function which you want to step into and hitting F11 will step directly into this function. Why not add this feature into VS? When nothing selected the old behaviour could be preserved.Anonymous
September 21, 2007
Responding to Ben Anderson - RE: simplified programming environment. Thanks Ben. I'll take a look before going over to gcc altogether. If some of Microsoft's compiler writers (programmers) would sit down and design a simple development package which caters to designer/programmers like me -- there are lots of us -- then I believe that they could consider starting up their own business into a ready-made, profitable market niche. Eric RollAnonymous
September 21, 2007
I would like to see a simpler way to handle File I/O. Such as creating outlines of files, and the connected classes to fill them, then creating functions to easily write to these files.Anonymous
September 21, 2007
The comment has been removedAnonymous
September 21, 2007
The comment has been removedAnonymous
September 22, 2007
My number 1 wish would be a complete C99 support. A working TR1 implementation wouldn't also be bad. C++/CLI isn't so important for me since I rarely mix C++ and managed code.Anonymous
September 22, 2007
It would be useful if Newer versions of Visual C++ could recognize older versions of C++(All the way back to the first version)Anonymous
September 22, 2007
I think you can look at text processing languages like Perl and Python and try to do similar capabilities. ThanksAnonymous
September 23, 2007
Pain points :)
- Library pains a. Native windowing library? MFC is antiquated, period. It doesn't make full use of the language, and its quite limited. Wheres the next application framework? Right now the only modern libraries are oriented around non-microsoft platforms. b. Fix the dynamic CRT (which is the default). The CRT will crash the app on startup - intentionally I might add, if it wasn't loaded via native-fusion (SXS). Being able to xcopy deploy applications is a requirement for most internal tools at companies.
- IDE pains. a. Intellisense reliability. Its slow, it uses a lot of CPU horsepower, and its not 100% reliable. b. Intellisense on projects not built using the project system. (Why can't intellisense figure everything out from a PDB?)
- General feature requests Time-travel debugging! You get a crash, you want to know how things got to where they did, you can step backwards, run backwards, see state the program was in when it last wrote to a memory address, etc etc.
Anonymous
September 24, 2007
A COM Visualizer! It is a pain now (as we have been put into so much luxuries like support for STL while debugging native unmanaged code) :) I was desperately looking for it in the current release :DAnonymous
September 24, 2007
Hi, Just a couple of aethetic points:
- Bring back tabbing of code files. I know the VS 2005 has its own unique way of organizing code files that you open in VS 2005 and after a certain number you have to use the drop down arrow (or CTRL+Tab to see the same list) and choose a file from the list. Major annoyance! Sometimes its good to keep what worked well from a previous version (VS2003)
- Intellisense support. VS 2005 has had a LOT of intellisense issues and I have personally tuned it out now and exclusively use VAX. Personally, I have great faith that MS can produce intellisense which can match or surpass VAX. Thanks and best of luck for the project!!
Anonymous
September 24, 2007
I write native code in C++, although I can see us using C# and .NET for GUI in the future. Our application uses compute intensive proprietary algorithms that are implemented in C++ and assembly language, and this code will likely be married to the hardware for the forseeable future. We need Microsoft to pay attention to native C++. And, we don't want weird extensions that aren't portable either, we want the C++ standard. We don't need the "export" keyword, but most of the rest of the standard should be met. On that note, kudos for Microsoft for already meeting this requirement, the compiler is very good both in compliance, and in generated code. I only mention this because I fear that the big push towards .NET will result in Microsoft dropping attention to the importance of these features for many users (despite marketing claims to the contary - I never believe such claims unless they come directly from product managers - tides shift!) I agree with the comments about Intellisense. Perhaps this feature should run out-of-process? It's incredibly annoying. Given the complexity of maintaining the help system, which must allow adding help for addins and new SDKs, I can understand why it is the way it is. You obviously won't be able to go through your help system and find all the inaccurate data. You could add a "simple" way for people to report errors over the Internet and implement a simple way for help to be updated automatically (perhaps once a day, or once a week, during off hours.Anonymous
September 24, 2007
The Blogs from Visual C++ group are very definitive in stating a renewal in development of MFC, and a dedication to development on interop between native C++ and C++/CLI. However, they are not definitive in stating a committment to further development of WinForms. Question: Will WinForms continue to receive active development in C++/CLI land? If I am starting a new app for .NET and native C++ 'interop', would I be wrong in deciding to build it using WinForms?Anonymous
September 24, 2007
- C++ 0x! I know that writing a compiler for such a language is not an easy task, still it would be great if in re-writing the IntelliSense you kept in mind the upcoming changes in C++ such as new 'auto' semantics, so when the compiler comes, you would just "uncomment" the piece of code you already had at hand.
- If not C++ 0x at this time - maybe some code-snippet-like support for "auto" or "decltype"? It would be great if IntelliSense, which is already capable of interpreting types, could resolve: map <int, int> m; $auto i = m.first(); // a suggestion for the code-snippet syntax to map <int, int>::iterator i = m.first(); // code expanded at newline, semicolon or compile request.
- Simple automatic code generation tool like "implement methods" - user selects some code in the header file and VS generates the displaced implementations for selected member function headers in a user-defined .cpp file. Much developer's time could be saved for more important tasks.
- I would VERY much like to see a C++/CLI for non-win32 platforms. For me it is a bit of a misunderstanding, that mobile devices, where resources are far more critical than on normal desktop machines, are missing such a great technology that would allow to easily put memory-efficient unmanaged code in operation.
Anonymous
September 25, 2007
C++ compilation time is a major strike against the entire language. The solution on two big projects has been to get Xoreax's Incredibuild. It makes my current project compile in 10 minutes, down from 45 minutes. I also believe that Incredibuild saved Madden 2006 for XBox 360. It made Madden's compile time go from 1.5 hours to 20 minutes. I have fought the compilation time problem for most of my career and would love if distributed building was an integral part of developing for C++. Instead I have to convince each individual project to buy Incredibuild and that takes lots of time and effort.Anonymous
September 25, 2007
Suggest improvements to the user experience to be able to get into the source, make a change, and get out quickly. Some very simple examples, I'm sure you can think of others:
- be able to create a cpp/h pair and (optionally) keep them in sync -- so if I add a function or change the declaration in the cpp the h is updated (like refactoring, but just make it work).
- make an option to "correct" the case of variables I type in to match the declaration (like VB6). In most cases I don't want to be case sensitive, and it just wastes my time to figure it out.
- In MFC, the old class wizard wasn't the greatest, but now it's much worse. Simply adding a menu item to existing code just took me an hour when the same thing could have been done in VB in about 10 minutes. Also, I would like to see a managed version of MFC. Might be hard, but I have a legacy product that is heavily Doc/View in MFC, needs to go to managed code, and will cost too much to rewrite from scratch in VB or C# WinForms. Some bugs? In the IDE, the "find next" across documents often does not work right (not finding things that I know are there). You can't set a breakpoint on a goto statement because the compiler emitted two jumps and the debugger maps to the second one.
Anonymous
September 25, 2007
I'd love to see the class wizard back in action. it was so much better then, right clicking a grey looking graphic and selecting a method and property, and then manually having to add events and such. Were as the class wizard I could add events and even select timers button down events etc etc… fast and easily. Now I’m forced to create applications in vc6, add all the events methods and props there then import into 2005. i do like 2005's attach to process way better then vc6's and tabs :) So please, please bring back the class wizard :) why is it if you have 40 projects in the ide, it takes days to open, but if you look at the task manager the cpu is hardly getting hit.??? why does the ide crash so often when opening the form editor?Anonymous
September 25, 2007
We are prevented from making full use of an excellent third-party toolkit because of VC++'s implementation decision on initialization of local static variables in a multi-threaded application. I realize that one can argue the C++ legalisms either way (and I believe an extremely strong case can be made for multi-thread safe initialization) but the key points are that (1) only the compiler can do this without changing the variable's scope, and (2) non-multi-thread-safe initialization violates the principle of least surprise.Anonymous
September 25, 2007
Please restore the profiler. It has been part of this product since it was C under DOS. If you want to make better tools for extra cost, wonderful, but don't take away a tool that has been there for, what, 15 years?Anonymous
September 25, 2007
I don't know if the following topic is posted or not! Hardly I have time to read all the comments. Sorry, if my comment is irrelevant or redundant. I would like to see some extension, which is specific to GPU based computers. something like GPU float4 texture(1024,768); which makes an array of 1024x768x4 float array in the GPU memory, which can be used, just like any other array like texture.setColor(x, y, RED); texture1 = texture2 for deep copying etcAnonymous
September 26, 2007
The comment has been removedAnonymous
September 26, 2007
The comment has been removedAnonymous
September 26, 2007
- Add distributed build feature (just like Incredibuild). Building time may take hours in HUGE projects without it.
- Integrate a wrapper generator (such as swig).
- Anonymous
September 26, 2007
We maybe the exception or minority, but our team DUMPED our prior development environment for Visual Studio C++ so that we sould migrate our existing native C++ applications to .NET managed applications.
- I was extremely disappointed that the Beta1 of Orcas and Beta2 of Orcas didn't have (for C++ anyways) any designer for the latest platform GUI.
- Additionally, I was disappointed that Orcas Beta1 and Beta2 didn't include performance improvements in the designers. Compared to our prior drag and drop environment that we dumped, our developer on NEWER and horsier machines are LESS productive... Why? Because they spend more time WAITING on the GUI to even render in the designer so they can make even trivial changes. I really hoped that this would be addressed in Orcas but doesn't feel like it from what I looked at.
- I'm excited (can't really express HOW excited) to hear that Orcas+1 will have refactoring, I've longered for this for a long time and HOPEFULLY improve on performance of the IDE and GUI designer and add support for WPF, etc. Keep up the good work with the tools...
Anonymous
September 26, 2007
I personaly would appreciate to see shorter compile time by having VC use more then one thread to compile 'large' projects without installing third party software. No 'huge' distributed build system, anything that can use more then 25% of my processor would add to productivity. Also it seem that VC8 dont do much parallel Disk IO? because 25% disk usage is absolute best case and its more often lower. Thanks,Anonymous
September 26, 2007
I only write native C/C++ apps. What I find particularly lacking is a profiler. There used to be one in VC6. I would like to see it returned. I am especially interested in profiling floating-point code, as I do lots of signal processing. I would also like a tool to help write MMX/SSE code based on intrinsics. The tool should analyze dependencies and warn me if there is a pipeline stall (for multiple CPUs), or give hints where there might be performance problems. Of course, this has nothing to do with C/C++, but many signal processing developers use MMX/SSE intrinsics intermixed with C/C++. Kind regards, Niels.Anonymous
September 27, 2007
I never EVER want to see assembler when I step in to a function. This happens every time any of the functions parameters is passed by value. The only work around I have found is to pass const X& instead. This obviously can't be done for 3rd party code.Anonymous
September 27, 2007
The comment has been removedAnonymous
September 27, 2007
If possible allow us to add pictures to code window (like you do in word). It makes it easier to visualize the problems when writing games. I guess this would be a lot of work but am sure people will appriciate :) cheers PranayAnonymous
September 27, 2007
I'd like to see a couple of things: Sometimes after I stop debugging and I try to do a build, the linker cannot save the DLL to disk. Process Explorer shows me that devenv has a handle to the DLL opened. Sometimes I can hit build again (once or twice) and the DLL can be saved. Other times I have to close VS and reopen in order to link. I do a lot of edit&continue debugging and I won't swear it but I believe I only see this problem when doing E&C. Speaking of closing ... The time to close a project in 2005 can be atrocious. It is much faster in 2003 and dang near instantaneous in VC 6. I blame part of the slowness on the TFS integration but that is just a guess. Intellisense can become intelli-non-sense. Sometimes it just quits working for no apparent reason. Also sometimes the update just never finishes as it seems to enter a never ending cycle (90 files to go .. 20 files to go ... 120 files to go .. 90 files to go ..). I have to exit, delete the ncb and reopen the project and hope it finishes. I have sent gigs worth of full dumps to MS support and all that was determined is that it appears to be in a constant loop. Where is support for 24 and 32 bit (alpha channel) bitmap files in the resource editor? Png? I want to see this message go away: "The bitmap imported correctly, but because it contains > 256 colors it cannot be loaded in the bitmap editor". Please, the bitmap editor needs to leave the 20th century. In the very least I know these bitmaps could easily be displayed so I am guessing that the only reason this has not been updated is due to the lack of editing tools. At least allow me to view the images if not edit them. Fix the MSDN search tool. How bad does it look when I do a search for something using the MSDN search command and come up empty only to go to google and do a search and find the entry ... in the MSDN! Some of this is more IDE than VC++ and some are just bugs (that rarely seem to ever get fixed as there rarely seems to such a thing as a visual studio service pack). But just as bugs in Windows or MFC are bugs in our products ,as far as our customers are concerned, so too are such non VC++ bugs VC++ bugs. By the way, there is lots of features in 2005 that I love. "Ask a question" is great. Well except when a reply is posted telling me I should use "connect.com" or "this belongs in a newsgroup". My thoughts are along the lines of "I clicked the button and this is where I was taken. If it belonged somewhere else, tell that to the IDE developers. Besides, I have yet to discover the window in the IDE that shows newsgroups. Perhaps a newsgroup command (and view) is in order.Anonymous
September 27, 2007
The comment has been removedAnonymous
September 27, 2007
The comment has been removedAnonymous
September 27, 2007
Hi Dan, >>Please restore the profiler. It has been part of this product since it was C under DOS.<< Actually, we do have a profiler. It works for native, managed, and mixed code and is available in the "Team System" edition of Visual Studio. Steve Teixeira Group Program Manager, VC++Anonymous
September 27, 2007
[George P Boutwell] > I'm excited (can't really express HOW excited) to hear that Orcas+1 will have refactoring We're glad that our reinvigorated interest in native code is something that will add value to your development scenarios. > I've longered for this for a long time and HOPEFULLY improve on performance of the IDE and GUI designer and add support for WPF, etc Adding WPF designer support is not happening in Orcas and is unlikely in the near future. To fully allow us to focus our efforts in native code and native/managed interop scenarios that are unique to the C++ developer, we're deprioritizing the scenarios for using C++ for pure managed development.Anonymous
September 27, 2007
The comment has been removedAnonymous
September 27, 2007
The comment has been removedAnonymous
September 27, 2007
Separate Intellisence and Class wizzard. As any of us who uses 3rd party libraries I am not able to work if Intellisence is turned on, so I have to delete(rename) feacp.dll. This causes Class wizzard to stop creating C++ classes.Anonymous
September 28, 2007
IDE configurations are a mess. We have a large C++ workspace that contains about 70 related projects and we have configurations that build a subset of the projects (this was ported from VS6). When I add a new project, the new project gets added and enabled in every configuration, and I have to go through manually and disable the project in all configurations where it doesn't belong. I'd much rather have the project be added to all the configs, but disabled and then I can turn it on in the configurations where it belongs. Alternatively, another configuration view from a project's point of view might be useful -- a grid listing all the configurations that a project belongs to. That would be ideal. I get more griping from co-workers about the configuration system than anything else, since I'm the one that championed moving from VS6 to VS8. I've even resorted to editing the .sln files manually.Anonymous
September 28, 2007
The comment has been removedAnonymous
September 28, 2007
Hi Pavel Ivlev, We realize we have Intellisence issues. As a matter of fact, we already have plans to focus on such issues since we do believe these affects the overall productivity of VC++ developers. Feel free to contact me directly at aymans at microsoft dot com and I can connect you to the owners directly. Thanks, Ayman Shoukry Lead Program Manager Visual C++ TeamAnonymous
September 28, 2007
C99 complete supportAnonymous
September 28, 2007
Is there support (planned) for Extension Methods in C++/CLI? It appears that VB and C# will both support it, but I can find no mention of it for C++/CLIAnonymous
September 29, 2007
I simply find handling C# a nicer experience. Refactoring support, intellisense always correct, etc. If the VC++ IDE could just close the gap a bit more I would be happy. Oh, and the SxS stuff tends to make me link everything as static to work around it - shame. Surely the CRT updates could go out on Windows Update?Anonymous
September 30, 2007
Hello For those interested in VC++ Documentation (and we have seen many comments on just that here), you can view a Channel 9 video with Gordon Hogenson on “Documenting Development Technologies” at: http://channel9.msdn.com/Showpost.aspx?postid=308206 Thanks DamienAnonymous
October 01, 2007
Although a 'Studio' sounds nice to marketing folks that somehow still desire feature-bloated can-do-all software, productivity-enhancing software doesn't work like that. I'd vote for somehow separating all the non-C++ nonsense into a different software package. There's so much stuff that is in the way (judging from the memory & resource use) that even on a fast machine things are so much slower than VS6 was. Hardly progress. I think it's hard to convince MS folks of any improving designs though, since the basic rule seems to be: "every next version more complex and bloated" (see Office & Vista for example). Still, there has to be some smart people there who can see that all these complex solutions for simpler problems (SxS for example) lead us to none other than other OSes and other software. Unbelievable. Revert back to a compliant C++ compiler with a VC6-like IDE in terms of memory usage and performance, make that compatible with the Platform SDK and you're back in business. Somehow how though, I think MS' future is doomed in the software department. Too much marketing pressure to do the wrong thing. :(Anonymous
October 02, 2007
One more pain we endure is with the resource editor. It needs to allow one to specify the ID BEFORE writing to the include file. So for instance, I do not want to create a bitmap and then go to the properties window to change the ID from, e.g., "ID_BITMAP1" to something meaningful like "ID_CANCEL_BITMAP" only to have the include file insert definitions for both ID_BITMAP1 AND ID_CANCEL_BITMAP. The issue we have is that we have to manually edit the include file and remove ID_BITMAP1. Failure to do so can result in compiler errors. It seems like this is something easily done. Don't update the include file until I compile the resources or otherwise save the resource changes. Also, again today I have a project that intellisense simply cannot update. Give me a command to turn it off in the current project/workspace so I don't have to endure the update constantly hogging my cpu as I try to modify code in this project. A fix for the problem would be nice but in lieu of a fix, let me turn it off and on without hiding the fecap.dll file. Even with a hotfix we got (two actually) from MS support to run with a lower thread priority, it still causes the IDE to stutter as I try to edit or navigate thru files.Anonymous
October 03, 2007
The comment has been removedAnonymous
October 03, 2007
The comment has been removedAnonymous
October 03, 2007
The help search engine constrains the developer to "OR" searches for each keyword typed. This only expands the results. Developers are able to understand boolean algebra and certainly bringing back AND, OR, NEAR, and NOT would save a considerable amount of time. Also, the ability to save searches as "help favorites" would be useful, and in the encapsulated browser, it would be great if excellent browser plug-ins like IE7Pro would function.Anonymous
October 03, 2007
Compiler performance is definitely affected by adjusting the priority of the IDE/CL.exe under task manager. It would be handy if there was a way to control the priority of the compiler from within it. Somedays you need to multitask during a long compile, and somedays you need to compile as fast as possible (or the machine might be dedicated to compilation at that time). Remember the "turbo" button on 1980s PCs? It was popular! Why not do the same with software priorities?Anonymous
October 03, 2007
Debugging apps without having a debugger is problematic because it's non-trivial to get the context of the crash. It used to be possible to enable a number of critical error interrupts or traps, get control in a critical error handler, and dump out developer-produced contextual information. This is hampered now because: 1. common calls such as sin() unconditionally produce floating point critical errors each time it is called. 2. MFC calls Dr. Watson by default and this typically produces standardized output that does not offer any opportunity for developer-produced contextual information. 3. The call stack is not available from a function call as it is for .NET applications. Note: I can still create a critical exception handler that bypasses Dr. Watson, but there's no support for getting context data which is so important at that time. It would be great to ship self-diagnosing applications. A little help from the CRT/MFC to walk the callstack would go a long way here.Anonymous
October 03, 2007
If there's a problem with the read only attribute on the resource files and a resource is attempted to be created, there is a warning dialog that says the files are read only. However the .ncb file is now corrupted because it thinks the resource got created and it is added to that file. Deleting and re-creating the .ncb file is now necessary, as well as making the resource files r/w. How about heading off this issue "at the pass" by offering to make the resource files r/w?Anonymous
October 03, 2007
The comment has been removedAnonymous
October 03, 2007
The comment has been removedAnonymous
October 03, 2007
I only work with unmanaged code, and as of now I've got to deal with tedious tasks everyday, tasks that could be highly simplified.
- Simplify the choice between standard and secure SCL. This could be easily done while creating the project having a tickbox (even enabled by default, if you will) to make the choice. The average Joe will just leave that on or google for its meaning, while people who know what it means will make their choice. After all you're developing a programming environment for an unmanaged language, so your first goal shouldn't be saving users from their own stupidity like it happens in Office or Vista etc.
- Improve process creations through wizards. There's no reason on this world not to create a quick wizard to let the project creator select between UNICODE and MBCS quickly, same goes for C++ vs. C (in fact - weird as it seems - some people still use pure C, from time to time...).
- Improve F1 searches in MSDN. It often happens that searching for STL functions via F1 leads to finding homonyms in other classes/namespaces etc. Code samples for advanced constructs on MSDN could be improved/increased too, but that's a minor I wouldn't really die for.
- Release more frequent updates, rather than one massive Service Pack ages after the release and then abandoning the product.
- Offer native compilation as an option for C++.NET and make it a visible one, not one hidden by 55 prompts. Why? It's the only way you'll get more standard C++ developers to move over to the .NET version, because native compilation would eliminate interpretation overhead and decompilation ability (which is a concern of EVERYONE I've ever heard talking about .NET for consumer applications - and please don't reply talking about obfuscators, because obfuscated code is still 1000x more readable than plain assembly, let alone a well packed program). I'm pretty sure this thing won't even be taken in consideration, but hey, I had to let you know that it's something desireable. Along with the above, all that you've already pinpointed as on your list is surely something that, in my opinion, deserves quite a lot of attention. Finally, try to keep in touch with the developers' community as much as you can, and all along the development and testing phases, because it's not by closing 5 clever people in a room thinking of improvements (which seems what you've pretty much done in the last 3 versions of Visual C++) that you'll meet real-worlds demands and requirements. While doing the above may help and strengthen Visual C++'s position on the market, failing in doing it may result in a loss of a great market share. Best regards
Anonymous
October 03, 2007
I would like to see an option to preserve the clipboard content's formatting when applying formatting by pasting.Anonymous
October 03, 2007
A simple request, and then a more complex one: Simple> Provide the option to ignore comments when searching files for specific text or replacing same. Complex> Add the option to search for: 1> real (none comment) identifiers; that is names which in the C++ syntax are identifiers. 2> type names; that is, locate only real (non-comment)names which would be interpreted by the compiler as the name of a type. Thanks.Anonymous
October 04, 2007
The comment has been removedAnonymous
October 05, 2007
I have one request. I recently made the transition from Visual Studio 6 to 2005. One of the features I really miss is the ability to browse to a method that is within commented code. In VS 6 you could comment out a block of code, but still use F12 to browse freely. Now you can't. I don't know why VS 2005 had to get rid of this feature. I used it all the time, for example in the method header comments I would have a See Also: section to document the significant callers or other methods of interest. Please add this back if you can. It was a mistake to consider commented areas as not browseable.Anonymous
October 05, 2007
The comment has been removedAnonymous
October 05, 2007
The comment has been removedAnonymous
October 06, 2007
The comment has been removedAnonymous
October 08, 2007
As an in-Microsoft user who develops exclusively in C++ but has to debug managed code, all I want is improved performance in booting, loading symbols and attaching to a process.Anonymous
October 08, 2007
- I would like to see a new GUI model other than MFC (which is broken and cumbersome). Perhaps whatever is in C# can be ported to C++.
- A new prepocessor token FUNCTION which translates to the current function name in the code like FILE Thanks
- Anonymous
October 08, 2007
The comment has been removed - Anonymous
October 09, 2007
- There has been a discrepency between intellisense and the compiler. Often, intellisense will show a type for a variable, yet the compiler will say it's undeclared. It's difficult to locate the missing declaration when it shows up as being there in intellisense.
- With VS2003, the Solution Explorer would track the current file. If I had 50 files open, opening the project would bounce the Solution Explorer between all 50 of the files. That was wasteful. The really annoying part was closing a file would bounce the Solution Explorer to some other file, hardly ever the one I wanted to look at next. Then in VS2005, the Solution Explorer stopped tracking the current file, but the problem there was it's harder to locate the current file. Ideally, the Solution Explorer could have a trigger, such as a double-click in the current file or an item on the right-click menu that would bring the current file into focus on the Sollution Explorer.
Anonymous
October 09, 2007
The comment has been removedAnonymous
October 09, 2007
The ability to mark and hide lines in the find window. I often do a find, and then investigate each hit quickly, and then revisit the ones that need further investigation. It would be nice to filter the list as I go. And more than 2 find windows (let me name them and keep them around).Anonymous
October 09, 2007
>> * Refactoring >> * More static code analysis features in team system or professional?Anonymous
October 10, 2007
> Content isn’t helpful I would say the content is actually extremely helpful, at least in terms of the Win32 API. Most of the functions I've looked at were rather well documented. Also, the Index feature in the local help lets me instantly find any function/windows message/constant I'm after with no hassle. Don't see what people are complaining about. If you know exactly what you are looking for, the index is way faster than the search. I hope you guys don't just throw away all the good documentation you have in the MSDN and start rewriting it all. Note: My comments only relate to native win32 API as this is the only aspect I use.Anonymous
October 10, 2007IDE performance is poor, more if I compare with other C++ IDEs.
Better conformance of C++ Standards
C++ 0x support
I do remember old help files with VC++ used to be more useful because right now I get thousands of alternatives when search for something. Versions before a clear and simple definition plus a sample when required fullfilled the request. a really nice C++ feature has been the chance of platform portability. That's why native code support is a definitive must. The installer should install at least native languge help. MSDN is cool but it has more material that needs to be filtered carefully for not to waste time. Years ago we decided to have a front-end using VC++, it was a pain to have all the features that a windows application based on VB was able to do with a few simple lines of code. Today those things have not changed and I see VC++ oriented to other scenarios as always been. I see a greath challenge ahead for you guys, try to have a good balance between managed and native code. But let's face that native code modules are for specific purposes just like managed code is. I'd like to see the IDE behaving quickly as with C# and VB. Other things:
- A pattern wizard or advisor will be a nice help.
- Refactoriong Last week I decided to go back to VC++ 6 and wrote a native code application because IDE is faster and help is quite better without lots of extra stuff that steal my time.
Anonymous
October 10, 2007
The comment has been removedAnonymous
October 10, 2007
Hi Norm, >> Simple> Provide the option to ignore comments when >> searching files for specific text or replacing same. >> Complex> Add the option to search for: >> 1> real (none comment) identifiers; that is names which >> in the C++ syntax are identifiers. >> 2> type names; that is, locate only real (non-comment)>> names which would be interpreted by the compiler as >> the name of a type. These are great ideas and we hope to make searching way better and way more customizable in the next release.Anonymous
October 10, 2007
Regarding the GUI in CLI, I dont know what is the problem when we change the header file of the form and it's so slow when we come back the the designer, while my 2 core cpu, 2gb ram are still free, but my hard disk keeps reading 5 minutes for that. Is there anyway to use all my 2 cores and 2gb ram to speed up this. otherwise adding 1 button or 1 event in to the form is too painfull. Anyway, CLI C++ is the super feature of VS, at least for game developer. Most of the code for game is C++, and we really need CLI to build the tools that support the game. CLI C++ please keep moving. Thanks.Anonymous
October 11, 2007
Regarding Visual C++ changes I would like to see an improved linker options page within the IDE. The compiler options should actually be switches (checkbox style) in the IDE. Linker option help descriptions should be easily available from these switches via a F1 help key. Perhpas switch conflicts could be identified within dynamic help. also the improvement of entering paths to third party libraries could be improved. Perhaps a separate pop up form for each library to be linked. To describe path and comments about library versions used in the build.Anonymous
October 11, 2007
A working "sourcesafe" system. Something like svn. Because sourcesafe is not as safe for your code as you would expect. Especially when used by a team of developers it hurts. it hurts. it ehm well you know it doesn't work. I don't want to check out files. I want to check them in (like svn) and if the file in de database is newer... hey tell me (like svn). You know what. Just make a svn compatible implementation. btw with compatible I mean compatible not "compatible + ms extra's to break compatibility". Would be nice. For the rest I like VC a lot. Keep up the hard/good working.Anonymous
October 11, 2007
2 things:
- incremental linking in mixed code
- edit & continue in mixed code
- Anonymous
October 12, 2007
The #1 thing I'd like to see is hierarchical project settings. I have a product with approx 1m lines of legacy C++ code. To keep it managable and portable, I need to be able to restrict where project settings are applied to be mostly global. I was forced to use gmake because VS2005 project configurations do not seem to share settings. For example:
- I want our comany-specific defines done globally.
- Next, I want project-specific settings to merge with them (add defines, override defines, prepend/append include paths)
- Next, per-file settings, if present. I'd rather restrict those
- Perhaps at each stage have it be shared+coniguration-specific (i.e. global+globalDebug or global+globalRelease) Now, if someone sets preprocessor includes on an individial file for Debug, they don't get set for Release and the build breaks.
- Anonymous
October 12, 2007
I would love to see the following:
- Working forms designer with event hook-ins like we used to have
- integration of third party single user source code control. My biggest gripe here is an easy way of version stamping executables (both numerically and in text) so that the MSI can self update and the process of turning release build into distribution is easy.
- integrate code signining into the IDE for EXEs now it is so important for vista.
- Anonymous
October 12, 2007
You are completely right choosing native development as a 1st priority. C++/CLI, WPF, LINQ and other cool stuff are important from marketing point of view, but the real work is in native code. I’d like to note, that I rarely see problems with Intellisense, crashes and similar things, but that’s because I work very carefully: delete ncb, when it’s big, have very neat project settings, all files in the project are writeable and so on. Also I preventively restart VS when I’ve worked too long. I delete Intermediate directories periodically. IDE is pretty fast for me but other people, who do not care about tuning, experience terrible delays and slowness. Why developers should bother disabling last access bit in NTFS system and other similar staff?
- More bugs should be fixed
- My company legally purchases us all tools and it’s bad that you don’t service them, as, for instance, we service our products. There are pretty many bugs in VC++ 8.0, but we got only SP1 after which your team switched to Orcas and Orcas + 1.
- There is one particular not C++ related bug http://blogs.ugidotnet.org/Franny/archive/2005/12/08/31303.aspx (Find does not work) which, if I were at Microsoft, I would like to fix myself: it’s so intriguing that VS Team cannot fix it.
- Tools performance
- I have everything tuned, antivirus not installed, optimized and overclocked with RAID 0 and 2(yet) cores CPU. It works pretty fast, but some things just don’t scale well in VS. Here we have bad handling of huge workspaces and lengthy tasks which block all IDE without ability to cancel.
- It’s simple: preinitialize dialogs and other facilities in background. Macro engine is slow to initialize. Many IDE dialogs are slow when opened first time. Second time they are fast, preinitialize and the impression will be that VS is very fast.
- Compiler is slow. 50 MB of C++ code with medium-to-heavy template usage and MFC containers reimplemented via STL (workaround for Windows CE 4.x-5.x HeapAlloc). And we use /Zm in some places. It’s a pain to compile. But VC6(==EVC4) is 2+ times faster for same code.
- Local F1 is slow (probably because it does find anything when it finally opens). It’s slow, I don’t understand why. It’s only help system. I have almost empty RAID 0 and defrag it every night.
- Intellisense-related
- Want folder browsing tooltip when typing in include paths.
- If I change configuration or platform, Intellisense reparses all the files, but it could have parsed them beforehand for all configurations/platforms (drive space is cheap, my time is not)
- Add open this file’s header/cpp pair command (I have a macro for this assigned to Ctrl+’)
- Order F12 hints by likelihood, not by ABC
- VS2008 Beta2 Intellisense support for heavy template usage is better but it fails anyway
- Improve Find All References. Ideally, I would like to be 100% sure that it lists everything so I don’t have to double-check with grep.
- My application is being debugged, CPU consumption is only 1%, Intellisense thread is stuck. Why?
- Project settings
- PLEASE, PLEASE backward/forward compatibility between VS version N and N+1. I work on N+1 version for 6-8 months after VS update while all other team works with VS N. It’s a pain for me to merge their changes to N+1 vcprojs.
- DO NOT (X) reorder vcproj files. Aaaaaaargh!!!! Aaaaaaargh!!!!
- Options intersection like in VS6. But, on the other hand, also leave an ability to clean setting in all multiply selected projects/configurations.
- Drag’n’drop and clipboard support for vsprops. Want to add a vsprop to multiple projects with 1 click. We have to edit xml manually. -Macro API to manipulate vsprops (didn’t find one).
- Compiler and libraries
- We have Rational Purify, it complains about uninitialized memory read (UMR) inside MS STL or crtl. I debugged crtl complain and yes, your vsprintf series (harmlessly) do UMR in some conditions (the bug is in Connect)
- PREFast – more warnings, naming rules, better control -Standard: Exception specifications, and forget about export templates.
- ARM binaries are larger than ones compiled with EVC even without RTTI and exceptions. Hard to squeeze into Windows CE virtual memory.
- C++/CLI support (or better interop support) on Windows CE 6.0 and above.
- IDE
- IDE is a face of the product. But MS delegated its development to lower-class, less-educated people. I understand that: I would rather like buggy Resource Editor than buggy Debugger or runtime, but it’s a face of the product anyway
- More abilities to drag’n’drop items within VS IDE. It is very important. I don’t use drag’n’drop between applications, but within IDE it’s natural and it does not work most of the time.
- There can be a lot of suggestions about the IDE but you have lots of C++ devs and I’m sure you can get feedback pretty easily.
- Wizard generated code MUST generate forward slashes, not back slashes in C++ code include paths.
- Licensing
- Consider Professional+ edition with PREFast and Profiler. Add only $100-200 to Prof price. This will make Microsoft(!) Windows(!) applications better.
Anonymous
October 13, 2007
What: Typeof operator for compile time time evaluation (not typeid). Often implemented as a compiler extension (IBM XL C++ V8, GCC) and likely for C++0x. Why: Valuable for templates, safer macros, and refactoring. Examples: Safe max that evals params only once: #define max(a,b) ({ typeof(a) _a = (a); typeof(b) _b = (b); _a > _b ? _a : _b; }) Declare pointer to whatever X is: typeof (*x) y; Iterators (until auto keyword appears in c++0x) std::vector vec; for (typeof(var)::iterator i=vec.begin(); ... Current workarounds: Combination of template specialization, function pointer overloading, and a macro, as shown by Steve Dewhurst on Dr. Dobbs Journal, Bill Gibbons in 2000, and in the boost library. Lack of built in compiler support currently forces that each type be preregistered before use. Feasibility: Realistic, since the parser already knows the types of each expression. Thank youAnonymous
October 13, 2007
The comment has been removedAnonymous
October 14, 2007
Layout/UML, it's in the managed as view class diagram. Symantec had it in 1996 or earlier. Edit and continue in debug. As someone said about native DLLs, we still need depend.exe. Find and Replace, go back to the VC6 format with the original key commands. The current version is too much like the VB6 version that was to mouse dependent.Anonymous
October 14, 2007
The comment has been removedAnonymous
October 14, 2007
I would personally enjoy seeing a better integration of DirectX into VC++. Seems after all these years when installing the SDK it doesn't integrate into VC++ the way it would have been expected to do. For example, lack of templates and lack of linking to the correct libraries with out manually adding them. For the libraries I suppose a wizard that lets you select which libraries you want to have linked in would be very nice as well as a reconfiguration to change them via a wizard rather than manually changing them would also be very helpful.Anonymous
October 15, 2007
Lex, if you have a specific solution where you can show linker regressions please use this guide to get us a reproducible case. http://support.microsoft.com/kb/134650 and http://blogs.msdn.com/mlacey/archive/2006/07/25/678452.aspx. If you have already filed a bug please give me reference to it so I can follow-up. Rick Benge Visual C/C++ Program ManagerAnonymous
October 15, 2007
Dwayne: this feature will be added to C++-0x - though the syntax will be decltype(x) instead of typeof(x). We are currently evaluating what C++-0x features to implement and when and this feature is definitely on our list. Jonathan Caves Visual C++ Compiler TeamAnonymous
October 16, 2007
I am satisfied with the compiler (good job!), but the IDE and frameworks are horrible.
- Intellisense just plain doesn't work. Each release is worse than the previous. It is too slow, often doesn't find anything and messes up the project definitions if you have multiple projects in the solution.
- Performance of the IDE. Again, each release is worse than the previous. What exacly is VS2005 written in? I am really curious. It's way too slow and unstable.
- The resource editor has been a joke for many years. Could we not at least be able to look at bitmaps with over 256 colors? Also, put me on the list of people that want a viable GUI framework/designer for native code. MFC is old and had design problems from the start. WTL looks interesting, but there is no official support so I dare not even consider using it commercially. To use two languages (C#/C++), or two different "paradigms" (managed/unmanaged), in the same application is NOT ideal IMO. I totally fail to see the advantage of managed code, and I can't pay the performance price even if I wanted to. Why don't you make a native framework and put a managed wrapper on top of it instead of doing it the other way around? Makes no sense to me except from a marketing perspective. Oh, and frameworks need to be able to statically link. I can't force customers to upgrade. Many big organizations are very conservative and are still running Win2k. They also don't appreciate downloading and installing the latest version of an enormous runtime. Many of their computers are not even connected to the internet for security reasons. I really feel that MS entire idea has been to bring programming to the masses and lock them into a proprietary language. The professionals with large projects that need performance and interoperability are left out in the cold. I am sure it's easy to write a widget (gadget?) or some standard database front-end in C# though. Thanks for listening; I hope something comes out of it.
Anonymous
October 16, 2007
Hello Many people on this thread have highlighted issues with MSDN Documentation. The VS Documentation Team is currently conducting a user survey. Since we know that many of you have strong feelings and innovative ideas about what we need to do to move the documentation system forward, please feel free to take the survey and let them know how they can best serve you: http://go.microsoft.com/fwlink/?LinkId=102169 You can find more information on the survey at Kathleen's blog: http://blogs.msdn.com/kathleen/archive/2007/10/11/wanted-feedback-on-visual-studio-content.aspx Thanks DamienAnonymous
October 17, 2007
Why don't you release the new Orcas +1 version as a service pack to Orcas (Visual Studio 2008)? The fact that we need to wait for another 2-3 years to get the next _most_issues_fixed Visual C++ doesn't sound exciting for me. Thanks, ArunAnonymous
October 17, 2007
Hi, I tried the class diagram feature of Visual Studio 2008 for C++ (managed as well as native) and it didn't work very well. Could you please enhance the class diagram feature for C++ so that it will work with managed C++ as well as native C++. I write all my code in C++, since I need to interface with device drivers as well as do quite a bit of native Win32 calls. regards, YogeshAnonymous
October 17, 2007
Hi, Yogesh, Thank you for your interest in C++ Class Designer. For some reason, managed C++ was not supported in VS 2008. However we did take that into consideration and we know it's an important feature for C++ users. We will do our best to make C++ Class Designer better in the future. Thanks again! YangAnonymous
October 17, 2007
I like VC but I but two things would make it much better.
- It sometimes allows you to write code that is not exactly ANSI C++ complient; allowing 'bad' code to compile that would not compile with other compilers such as GCC.
- a data-display debugger that made graphical representations of the data and/or an omniscient debugger such that you could debug back in time. Thanks Ardavon
Anonymous
October 17, 2007
good integrated (configure?) with msdn!!! e.g.: i write native code in winapi write ShowWindow and press F1 what is open in msdn? COleControlSite::ShowWindow !!! i know... in "f1 options" i can select correct function but i MUST select it... possibility to configure search durign "f1 press" e.g. - only in win32, not in mfc, not in dot.net, not in atl, not in...Anonymous
October 18, 2007
The comment has been removedAnonymous
October 18, 2007
The comment has been removedAnonymous
October 19, 2007
The comment has been removedAnonymous
October 19, 2007
The two things that get me are speed of opening a project and stability. My machine is relatively new <1yr, but whenever I open a project I'm dead in the water for a minute while my disk spins and intellisense does its stuff. (I defrag my drive daily.) We do use boost, so there is a reasonable amount for intellsense to handle. If I touch my machine during this time, apart from being totally unusable, the interaction appears to hang VisualStudio which never completes the open process. Earlier this week I tried very hard to debug a problem in an exe containing 1 cpp that linked two a couple of small static library files and a reasonably large dll. Every time I stepped into the dll VC crashed. I tried all the usual, deleting the solution file, the ncb, the Debug directory to no avail. I keep hitting the send to Microsoft, so you should have plenty of dumps for this :) When I exit VisualStudio, the devenv.exe process hangs out forever until I reboot my machine or crush it in task manager. When I notice things getting really bad I'll go into task manager and see 4 or 5 instances of devenv.exe just sitting there. VisualStudio routinely crashes on me. Usually when debugging, but not always. Other annoyances are: Help. This must get worse with every release. When I go to the help for an API call I end up in CE or MFC land. We don't use CE and chastise anyone who writes new code with MFC. Ideally I'd like to prioritize the order since we do have legacy MFC. Otherwise I'd wish to disable MFC and CE help and never see them again. I see the Visual Studio is waiting for some internal operation to complete dialog far too often; daily. Please complete this operation in a timely fashion. On a good note, I am constantly surprised when I discover some new feature that is a joy to use. Alt-O is my latest joy. Thanks, SteveAnonymous
October 19, 2007
The comment has been removedAnonymous
October 19, 2007
The comment has been removedAnonymous
October 19, 2007
Ruth, I represent Microsoft on the C standards committee. Visual C++'s C99 standards compliance has be driven primarily by user interest, so it's great to hear from C users like you. Where we've received many requests for specific features, we've gone ahead and tried to implement them (or analogous features). A couple examples of these are variadic macros, long long, __pragma, FUNCTION, and __restrict. Apart from your general interest in seeing Visual C++ fully support C99 and any future revisions to the standard, are there particular features you would find most useful in your work? Arjun Bijanki Microsoft Visual C++ TeamAnonymous
October 19, 2007
My requests that are different than those already requested:
- A code prettifier built in with options. This should be integrated into SourceSafe so that when a programmer checks out the code they automatically see it formatted the way they like it. Code checked in should be formatted according to a company standard (if specified) so that if it is pulled out outside of VS it looks correct. This feature would make many a manager not have to listen to their employees whine endlessly about how their co-workers format their code.
- Integrated documentation like doxygen, but with intelligence about parameters, return values, etc. like in C# XML documentation. The output should also always be present as if it were part of MSDN documentation. Libraries built by the company are just as important as Microsoft and other standard libraries and coders should have quick access to the documentation. Integration of links to MSDN documentation (types, classes, etc) should be present. If code is manually refactored by a coder, a //TODO: comment should be added to update the documentation.
- Several individuals have requested image insertion in code. I would take this a bit further. It would be really cool if you could embed a Visio document, e.g. I would want editing the embeded object integrated with SourceSafe, as well. Of course with images and and other embedded objects you should have a +/- option to collapse it or expand it. An alternative would be to do this within the documentation generated by 2).
- Definitely one that was mentioned once that should be repeated over and over: Make the task list global across the project and not just relevent to the current file. Have the ability to prioritize the tasks and group by file or custom defined grouping. For example Bug #555. The format could be something as simple as: //TODO: <BUG #555> Fix blah, blah, blah.
- Anonymous
October 20, 2007
The comment has been removed - Anonymous
October 21, 2007
If you guys aren't careful, you are going to get smoked by the Linux people. KDE is already better than Visual Studio for pure C++ development. The source formatting is better, the project management is better and the source control integration is better. Even their intellisense is getting pretty good. If they ever got KDE to run on Windows, you'd lose for C++ development... It's that, you haven't done anything real with Visual C++ in a long time, and other people are catching up. C++ for some people means, C++, and actually having portable code that is compiled and works on different platforms.
- Get rid of the ads in the environment. The start page is stupid. If you are going to keep the start page, then, have a button to clear the recent projects -on the page-.
- Get your documentation in order. For C++, the F1 key is now basically useless under VS 2005. I am shocked, after installing VS Pro, to find that F1 on CreateWindow doesn't work. How'd you manage that? In fact, MS help is now so useless that most people I know use intellisense to find things to google on. It's terrible. And where did the OpenGL documentation go? There in VS 2003, gone in 2005.
- Having the windows bound to the coding activity was a nice idea, but, it ultimately fails. In general, the VS IDE is a train wreck of icons and blinking things... what I really like, is the way KDE does it with their bars on the side.
Anonymous
October 21, 2007
There is something that I really would like to see in a future version of VC++ and that's a debugger for built exe files. That is because I am currently in a project that cannot be debugged because it depends on another application's data input that cannot be sent manually...! Frastrated ha? Ask me, in the development!....Anonymous
October 21, 2007
I agree with most people here that VisualC++ 6 was the pinnacle. It was lean and mean. Here's a couple of features I would love to have.Customizable syntax highlighting. Let's say I want syntax highlighting for ASM files and nvidia CG files. As a workaround I add all the keywords to usertype.dat and then add the extension to Options->Text Editor->File Extensions->C++. The problem is that all the keywords are enabled for all cpp file. It's annoying to see mov eax highlight in a C file.
Documentation for autoexp.dat. There's so much good things you can do with it but it's a shame that you have to rely on internet searches and arcane experimentation to achieve anything.
The MASM support is now better than ever in VS2005, but it would be great if it was a first class citizen and popped up in the New File dialog.
I would like so see folder support for the Solution Explorer. It would help a lot if you have lots of projects and they can be grouped in categories. Thank you and keep up the good work! Cheers, Peter
Anonymous
October 22, 2007
The comment has been removedAnonymous
October 22, 2007
The comment has been removedAnonymous
October 23, 2007
Better debugging for compile-time issues. Today I'm tracking down two different issues: We have a dependency problem in the main source tree that is causing massive rebuilds. And I've got a #ifndef guarding some code that intellisence shows as active even though the guarding symbol is defined. No idea why, but the guarded definitions appear to be in force since code that uses them compiles when it shouldn't. Nothing I've found gives me any visibility into these problems at all: the only tool I have is Zen. And I can't even do trial-and-error debugging on the dependency problem quickly because there is no analogue of the unix make "-n" or "-t" options. While we're at it, for configuration control I'd like to be able to see all my project settings for all my configurations and platforms in some kind of master view that helps with "which of these things is not like the others" analysis. As it stands I'm going to have to parse the XML and write a bunch of design rule checking code.Anonymous
October 24, 2007
As a research guy, I would like the see the following:
- OpenMP 3.0 support
- OpenMP thread tracing & debugging
- Less painful 64-bit migration
Anonymous
October 24, 2007
Hi, I would appreciate this feature - in C++ debuger watch window to be able to sort the members also in alphabetical order. We have some classes with really long list of members. Even more advanced function would allow filtering the members :-) for substrings for example. Best Regards, PetrAnonymous
October 25, 2007
You know what would be really nice? Increasing the string literal limit from its current 2k limit so that compiler error C2026 isn't hit all the time. A quick search shows that alot of people hit this limit. A post on microsoft.public.vc.language from a VC++ MVP indicates that the C++ standard suggests, but does not require, a 64k limit. Meeting the 64k limit suggested by the standard would be really nice.Anonymous
October 25, 2007
The comment has been removedAnonymous
October 25, 2007
Well, in the 6 weeks since I last commented here, I've implemented CLR hosting in my native C++ DSP application, to support 3rd party .NET plugins. The most obvious shortcoming in Visual Studio is the inability to debug managed code called by ExecuteInDefaultAppDomain() and ExecuteInAppDomain(). These are the key functions used in unmanaged hosting. The whole unmanaged hosting area needs to be rethought out and given first-class citizenship. It looks to me pretty ad-hoc (I guess most of the documented functionality is there because of the SQL Server team's enhancement requests). Josh.Anonymous
October 26, 2007
Our application have arround 60 different modules(dlls) each managed aby a different development team. We still use the NMAKE utility for building our application and the modules beacuse we can specify a similar setting for all the projects and control it from one shared file that provides all the optimization and compiler switches. This way we can ensure all modules compile with same compiler switch and optimization. We definitely want to retire this system and embrace the new world but if there was a way to provide a template vcproj file that would specify the compile time switches and other option and all the project file have a link to this template file. During compile time they pick up the settings as mentioned in the template file. This will be a huge help for every large scale application that are modular.Anonymous
October 26, 2007
abhijit said: > if there was a way to provide a template vcproj file that would specify the compile time switches and other option and all the project file have a link to this template file We added this feature in VS2005. The feature is called "project property sheets". Here's a link to how it works: http://msdn2.microsoft.com/en-us/library/a4xbdz1e(VS.80).aspx Thanks Tarek Madkour Microsoft Visual C++ TeamAnonymous
October 27, 2007
I 'd like to see in next Visual Studio release a designer for window in native c++ code. Simil to Windows Forms designer but with WINAPI function and classes. I hope it will be possible. ThanksAnonymous
October 28, 2007
Dear Friends, I have been a developer since Microsoft began. I am currently finishing the development of a very large program. It has to be composed of about 280 dialogs. When I use the Professional C++ ver 5.0 debugger everything is OK. However when using the final EXE. every so often a message appears on the monitor saying that Microsoft has found an error and that the program will have to be started from the beginning again, this does not happen when using the debugger. I have searched to find out what this error could be, and I came finally to the conclusion that this fault is the making of Microsoft's programmers and I would like to see it corrected as soon as possible. Will you do the correction of this error as soon as possible? Yours Frederick PostAnonymous
October 28, 2007
The comment has been removedAnonymous
October 28, 2007
It has probably been said before but I'll say it again. The help system needs to get alot better. It used to be great in the good old days of MFC but these days it has gotten terribly hard to find what you are looking for. The information is often in there somewhere but for some reason you keep getting help about everything but the thing you are looking for. Even pressing F1 on a method in code doesn't work well anymore. If I'm in a C# code file with the cursor on a .NET Framework Method and press F1 I'm probably not interesed in some FoxPro documentation, right?Anonymous
October 29, 2007
I have been recently working on a project involving managed/unmanaged code interop. Few thoughts:
- There is no simple/elegant way of "marshalling" events from native C++ code to the managed C++ (in VS 2003 one would write a nested unmanaged class - overwriting virtual methods of the base native class, inside managed one and invoke managed class' methods when unmanaged class' virtual method is invoked). The VS 2005 does not allow nested unmanaged classes within managed ones. This is a BIG PAIN.
- Managed C++ classes do not allow multiple inheritance. I would welcome at least a way to inherit from one class and multiple interfaces (or pure virtual classes) - the way it is done in C#.
- Would it posiible to "unify" exceptions in the next release of the VC++ (native code)? Right now one must handle C++ exceptions and SEH exceptions separately (not to mention that SEH do not allow proper destruction of the classes instantiated locally within the same method that uses SEH - one has to write method "wrappers" to use SEH and smart pointers in the code). It would be nice to have a compiler switch that would cause automatic translation of Windows SEH exceptions into native C++ exceptions before they reach the code proper.
- I would really appreciate native-code version of the XML parser library included with the future VS C++ compiler.
- The wizard generating C++ projetcs always uses managed runtime libraries (DLLs). It would be a nice touch if native runtime libraries were used by default when generating native-code binaries (exe, dll).
- It would be an advantage if future VS included option (a compiler switch) to support writing code that is POSIX-compliant. It would help writing portable applications. (Is it just a dream???) Thanks, Peter
- Anonymous
October 29, 2007
I have not read all the comments above but feel that my requests might be unique.
- I use MSProject with the team to develop clean outlines of effort. I would like to put the project file in the solution and have it open in a tab.
- I would like to open VSS in a tab in the IDE.
- I would like to have a sound play at the end of a compile/build when it is success and a different when it is in error (this is a BIG deal to us!!).
- I would like to have an editor I can use in DOS. I know this sounds antiquated but for the most critical systems we have telnet/ssh running and using a telnet option is something real we have to deal with. IDEs are cool, but C++ in a terminal has it's up sides too. No intellisense, excellent performance ... so very awesome! Please just kick this idea around.
Anonymous
October 29, 2007
beginthreadex, you can use EDIT.EXE to edit text files in DOS, or you can use any third party editor you want, such as vim (for dos). Unfortunately, EDIT seems to be a 16-bit application, as such runs in some sort of virtual machine under windows, as a result it's slow. But you can use VIM for dos or MicroEmacs etc, and they should be fast.Anonymous
October 30, 2007
Beside the obvious mentioned several times above:better C++ conformance, keeping pace with TR1, better
much faster intellisence (our largest's solution .ncb is 100MB!) There are 3 main things which would make us more productive. When working on maintenance of a quite large C++ product, we often have to jump from one bug to the next, awaiting code review of a proposed fix, or input from a key developer, or whatever. In the mean time, you must move to another bug, but then all the breakpoints and open windows related to the previous bug either interfere with the next bug, or you must close/remove them. The ability to save and restore "sessions", which would remembers windows positions, breakpoints / watches, documents open, etc... would definitely help. Keep these around, and when a bug is reopen by testing, you jump right back into the thick of it, which helps a lot with the mental context switch required. In the same maintenance-developer POV, and general debugging, more powerful and robust custom views/viewers of app data types would help a lot during debugging. AutoExpand and the new visualizers help, but they're almost not documented, break the IDE if improperly defined, and could be much better. Similarly, tutorial and more in-depth examples of writting more useful viewers (od-like, with byte-swapping features) in Add-ins would help. Finally, stop assuming a monolithic app that fits in a single solution. We have a main solution that weigh in at more than 500 KLOC, and over 30 small to mid size other solutions which are plugins for the main solution. And that's not even counted the hundreds of plugins developed by our clients using our SDK. We've had to write scripts to generate startup .bat script for the IDE to properly configure the inter-solution dependencies. Intellisense doesn't work across solutions (loading .ncb manually is too cumbersomes), and dependencies between solutions have to be declared outside the IDE. We need to have better inter-solution interoperability, and a way to declare some kind of SDK descriptor for a library or set of libraries to automatically adjust compile flags, include paths, lib paths, etc... for using this sets of libraries as a dependency in a project, i.e. a level of abstraction above raw settings you have to manage manually, similar to what you can do within a solution's projects. Thanks for hearing me out ;-) --DD
Anonymous
October 30, 2007
The comment has been removedAnonymous
October 31, 2007
Displaying iterator values in the "watch" window would be great.Anonymous
October 31, 2007
The comment has been removedAnonymous
October 31, 2007
The comment has been removedAnonymous
October 31, 2007
Add drag and drop feature to allow to add a new source file to the Solution Explorer window from the main Visual Studio container where a file is currently open. (user would select the tab containing the filename and then drag/drop it ). Thank you.Anonymous
October 31, 2007
The comment has been removedAnonymous
October 31, 2007
The comment has been removedAnonymous
October 31, 2007
The comment has been removedAnonymous
November 01, 2007
It would be nice if Visual C++ developers concentrated more on making it a RAD Development tool for native code. C++ does not really need CLI and managed code. C# works great for that! The Borland Turbo Explorer C++ is currently the best tool for fast native WIN32 application development. Next to that is VB6. (Assuming non-trivial GUI on a well polished application) Writing GUI code in WIN32 or MFC is no fun at all. Scrap MFC and come up with a FAST, LIGHTWEIGHT, NATIVE win32 library. Otherwise .NET apps will start be written just to run on other O/S'es.Anonymous
November 02, 2007
Load different language Windows created solution don't crash. I don't want change OS localization setting when I build project each time.Anonymous
November 02, 2007
-- Fix the bugs! Especially the long lasting annoying ones. E.g., there has been a minor but annoying bug from day one of the IDE where it miscounts errors, especially in the link phase. It would not take a genius to correct this one. I suspect all it does is count the word error in the output. This is much too simplistic and reflects badly on Microsoft's ability to implement technology. -- Each version is slower than the last -- perhaps you could try rewriting it in C++ rather than the current C# to speed it up.Anonymous
November 02, 2007
Bring back floating editor windows. Perhaps they are there, but I cannot find them (then it is a UI bug).Anonymous
November 02, 2007
It has been said often, but I say it again:
- Please fix intellisense! This is such a major pain in VS2005. I have VAX and renamed feacp.dll to get rid of that uber-parsing. But this can only be a workaround, w/o that dll you cannot atl objects to atl projects etc.
- Again an often mentioned topic: Even better standard (TR1, C++0x)
- Iterator debugging/slowdown in release builds via SECURE_SCL. I think it is a great thing in debug builds. But I agree with the others that it is dubious to have it enabled as default on release builds.
- The resource editor/class wizard: I wonder that no one in our UI team went postal yet. That piece of the IDE just got evil with 2003. I do not know how much the guys of the UI team investigated or if they just resigned. But it seems to be nearly unuseable when you want to add new dialogs to a old MFC project that has a separate resource dll.
- Please give an option to use 'standard' regular expression for search/replace.I hate it that ':' is used for keywords. Try search for ClassName::Method, or even namespace::classname::method. Having to prefix ':' with '' is really annoying.
- Refactoring for native c++ would be really great. But please a refactoring tool that can cope with large projects.
- The same for unit testing.
- I would really like something like ccache.
- Resource (CPU/memory) consumption of the IDE went from good (VC6) to 'so so' (2003) to insane (2005).
- An option for the debugger: Deferred loading of pdbs, much like windbg.
- The help system really has it quirks.
Anonymous
November 05, 2007
Haven't tried Orcas yet but from a 2005 perspective this is what would be most important for me.TR1 support. Really important features.
Faster IDE. It is bloated and slow, not like eclipse-slow but still.
Better and more generalized build tools. MSBuild is a step in the right direction but build tools are generally quite primitive. It was quite a while ago projects only included source-code. Most companies need to have their own resources that needs rebuilds on dependancy.
Anonymous
November 05, 2007
Not so much c++, but I'd like to see the capabilty of dropping in a sqlexpress instance in a project that would make it painless to distribute with app.Anonymous
November 05, 2007
I don't know how representative I and the C++ developers I know are but most seem to think these points are the most important ones: >Standards compliance. The visual studio compiler has been improved continuously. Good job and please continue. >IDE speed. It has got even worse in every release of visual studio. >Intellisense is a disaster. Both clogging the computer and the progressive worse search relevance in each release are frustrating. >Customized build and dependency handling. One-source-to-one-destination Several-source-to-one-destination Company specific build steps are so common (most products has them) so it should be possible to handle completely within visual studio. I know it can be handled with prelink/custom build, nmake and msbuild but it's cumbersome and unintuitive, it would be nice to just add files in the filelist inside visual studio and set the dependencies. Add the destination file and then specify the build tool and a list of the source files it has dependancy to. Thank you for your time.Anonymous
November 06, 2007
I'd like to see support for inline assembly for 64-bit. Honestly, I'm surprised this was disallowed in the first place.Anonymous
November 06, 2007
Have very large legacy C++ app. Love many of the changes in 2005/v8 - especially the ease of using managed objects in C++. Like using WinForms controls to enhance MFC dialogs, but would really like it if you would figure out how to allow us to use the designer for these controls. In our legacy app, its rare we get the opportunity to convert to a WinForm dialog. We do some new assemblies in C#, and love the ease of such integration, but will probably never be able to convert our C++ code entirely to C#. Really, really hate the speed of compiling and linking large C++ projects. Its almost intolerable and very expensive. Rebuilding Intellisense is nonsense and is costs unacceptably large amounts of programmer productivity. Please, please allow us to set the priority on the intellisense thread. Truely hope 2005/v8 was the quick and dirty version and the next will be much more efficient. Would be very happy if performance improvement was all that happened in the next version.Anonymous
November 08, 2007
See what is Softvelocity doing with Clarion 7, aplication generator with lot of wizards, templates, diagramer. I would like Visual C++ for development of both business and system aplication needs. Thanks.Anonymous
November 08, 2007
I would like Visual C++ to produce native compiled code without need od MFC libraries or ATL, lightweight code directly calling windows API functions, native code similar to Clarion or Delphi aplications ( no need of MFC or ATL). Create scripts, macros or better libraries for faster development - 5 generation RAD tool.Anonymous
November 08, 2007
Up until now, I had used MFC/ATL to develop native C++ applications for the Windows platform. However, I have finally given up on Microsoft and doubt they will ever again give serious priority to C++ developers. I now happily use Qt from Trolltech for all my development (and I can code for UNIX/LINUX and MAC OS, in addition to Windows).Anonymous
November 08, 2007
The comment has been removedAnonymous
November 09, 2007
The comment has been removedAnonymous
November 10, 2007
Hello Re: Tuesday, November 06, 2007 1:47 PM by Bill Buklis >> I'd like to see support for inline assembly for 64-bit. Honestly, I'm surprised this was disallowed in the first place. Thanks for taking the time to post your comment. There was a VC blog post on this topic recently which contains more specific details: New Intrinsic Support in Visual Studio 2008 - http://blogs.msdn.com/vcblog/archive/2007/10/18/new-intrinsic-support-in-visual-studio-2008.aspx, however, in summary, there are no plans to support 64-bit inline assembler at the moment. Thanks DamienAnonymous
November 10, 2007
Hello For the many who respond to this post and requested “updating MFC” and “adding TR1 support”, for some good news please see the flowing posts: http://blogs.msdn.com/somasegar/archive/2007/11/09/visual-c-libraries-update.aspx http://blogs.msdn.com/vcblog/archive/2007/11/09/announcing-a-major-mfc-update-plus-tr1-support.aspx http://blogs.msdn.com/vcblog/archive/2007/11/09/quick-tour-of-new-mfc-functionality.aspx http://channel9.msdn.com/showpost.aspx?postid=355087 Thanks DamienAnonymous
November 12, 2007
Hello And for all those who mentioned Intellisense performance pain-points, this post on the VC Blog may be good news: http://blogs.msdn.com/vcblog/archive/2007/11/12/performance-improvements-in-visual-c.aspx. Unfortunately we realise that this will not solve every issue and I should repeat that more improvements are planned for VS10 too. Thanks DamienAnonymous
November 12, 2007
The comment has been removedAnonymous
November 16, 2007
Some recent observations on small points of irritation for large solutions in VS2005: When you want to apply a right-click operation (eg compile file or compare with SCC) to an open file you have to locate it in the tree view. This can take a while in a large project. There should be a way to jump to the file's representation in the current "Explorer" or "Manager" view from the edit window's title bar or tab. On a related point, when you right-click and "compile" a C++ file you get "build only" behavior; it does not build dependencies. But when you right-click and "build" a project in the same tree view you get a buld with dependents; you have to navigate to "project only" build to get a broken build. This is particularly irritating when the PCH is out of date or non-existent. When you create a solution-specific property sheet file, SCC integration is badly broken. "save all" does not save it, attempting to close the solution does. By then it was too late and I'd lost my changes. Subsequently I discovered that you can right-click-and-save in the property manager tree view but it won't automatically check the property sheet out for you, even if it is assigned as an "owned file" to one of the projects and resided inside the tree covered by one of the projects. Finally, when you've created the solution-wide property sheet and you want to go through about a zillion projects and make almost all of each project's properties inherited rather than overridden you discover that the UI for doing that is ridiculously inconsistent. The "<inherit ...>" context menu item is sometimes first, sometimes last, and sometimes not available. Also, you can't tell the difference when you have all or multiple configurations selected between "inconsistently inherited", "inconsitently overridden", "inherited null", and "overridden null" value states for a property.Anonymous
November 16, 2007
While we're at it, when the origin of a symbol or the source of an error is in the property sheet jungle rather than the source it would be very nice to have right-click navigation link to it. I recognize that this is hard but it would help with discoverability as well as reduce the Zen koan quality of the experience: symbol defined in project settings "preprocessor settings' page appears in header. Hover over it and it has a value in the tooltips. Right-click goto definition and the symbol is undefined. Ah, grasshopper, the definition that is undefined is the effemeral definition ....Anonymous
November 16, 2007
I have recently had to do more c++ programming after having used primarily c# on windows. I understand that c++ is just not going to be treated as an equal NET citizen because you don't want to replicate what is being provided by other languages, and want to concentrate on tools for native developers fir c++. But the differential in tools between c++ and c# is horrific. Why can't a c++ developer have code snippets, a built in refactor tool (that third party tool from your web won't install on my machine properly) and a decent class diagram? Decent (that is working at least 60% of the time) intellisense would be nice as well. And even if you aren't going to add to c++ forms support, why can't the built in features (such as application settings in the designer) at least work? I am orders of magnitude more productive in C# just because of a lot of these features. And please make it reasonably (seamless) to attach to a gcc or some other compiler. I have to program for Linux quite a bit, but certainly don't want to work in that @#%$# forsaken #$^# operating $$%^@ system any more than I absolutely have to. Matt BrownAnonymous
November 19, 2007
Please allow us to comment on your documentation. I spend so much of my time helping colleagues with undocumented "features" of Microsoft SDK's or caveats, or providing the missing example code that they need to get the job done. Let us in there to fix your documentation, it's so bad that as a previous post mentioned it's more useful to use google or krugle to get the answer.Anonymous
November 19, 2007
You can contribute directly to our documentation using the MSDN Wiki (http://msdnwiki.microsoft.com). Within a topic, you can click "Add Content . . ." to jump to the Community Content section, or you can just scroll to the bottom of the page and click "Add new Community Content" (you'll need to log in with your Windows Live ID). If you prefer to just let us know about an error/omission or any suggestions you have for improvement, you can send us feedback from within a topic (see http://blogs.msdn.com/kathleen/archive/2007/10/11/wanted-feedback-on-visual-studio-content.aspx for more information). Also, please consider participating in the Visual Studio Content Survey (http://go.microsoft.com/fwlink/?LinkId=102169), if you haven’t already done so. --Kathleen McGrathAnonymous
November 19, 2007
Please bring back the Class Wizard!Anonymous
November 19, 2007
The comment has been removedAnonymous
November 21, 2007
You guys should be coming to Zumobi in Seattle and do a case study. Wr'e a mostly ex-Microsoft employee shop, and even still, we have neverending religious wars on how to best have Nant (or another 3rd party build systems) and Visual Studio co-exist in a multidev environment. It's not obvious to use VS more, or use VS less (as in just a debugger). VS really can be picking up the slack in making using VS the choice obvious over alternative build systems.Anonymous
November 21, 2007
You guys should be coming to Zumobi in Seattle and do a case study. Wr'e a mostly ex-Microsoft employee shop, and even still, we have neverending religious wars on how to best have Nant (or another 3rd party build systems) and Visual Studio co-exist in a multidev environment. It's not obvious to use VS more, or use VS less (as in just a debugger). VS really can be picking up the slack in making using VS the choice obvious over alternative build systems.Anonymous
November 23, 2007
Reverse debugging, The ability to step back through code from the point of a bug would be nice.Anonymous
November 23, 2007
The comment has been removedAnonymous
November 23, 2007
I haven't read everyone's comments, so maybe it's already been posted, but please work on fixing error messages to be better. When I'm developing code and I get it to work fine on my development machine, upon delivering it to another machine to be used on a research experiment, most of the time I get a stupid error message to the effect that the application cannot run, please reinstall it or see a system administrator. I think it has to do with manifest files. Is that "managed code?" Anyway, it's wasted a lot of my time. with VC++ 6.0 I never had these problems. If you're going to force this stuff on your users, you need to have better error messages and good resources to explain what the heck is going on and how to fix it. I don't think we should be forced to create some kind of msi just to allow an executable to run. I don't know who came up with this but it's very frustrating to the user/developer experience. thanks.Anonymous
November 23, 2007
I think it'd be valuable to have an integrated unit testing plugin in Visual Studio. Right now there isn't a true heads-above-others solution (UnitTest++ is pretty good but...) so it's an opportunity for MS.... for example, you can look at how well junit has done in Java.Anonymous
November 23, 2007
Using VS2008 Beta 2 via VS2005 Express, VS2003, and VC 6 VS2008 seems to bring back the speed and elegance msiisng from VS2005 Express and to a lesser extent in VS2003. However, nothing beats VC 6 for speed not just in compiling but also in IDE performance. (I run both on a 2.8GHz dual core Pentium1GB RAM under WinXP - so hardware speed is not a factor - what hardware platforms do VS developers use? My biggest gripe though is reserved for what has happened to BRIEF editor support within the IDE. The VC 5 & 6 implementation was correct as far as I was concerned, and the editor is very responsive. VS 2003, 2005 and 2008 have all got damaged implementations in varying degrees. The most frustrating of these is the highlight and copy function. Once a selection is made, it is impossible to turn off the selection until either text is copied, moved or deleted. In VC6 clicking outside the highlit area was enough to switch off the highlight (and this is how I remember it from using real BRIEF under MSDOS). In use, this "feature" occurs regularly when I accidently click the mouse at the wrong point in source code whilst source sits in the clipboard. The only solution seems to be to modify the source code and then undo the change, or to overwrite the clipboard and then return to the original point and copy the original source code back into the clipboard. OK, rant over. I like VS 2008 and the promise of updated MFC. (I like .NET but I still have to overcome a mental hurdle to some of its assumptions.) Pro: style, class diagrams Con: Incomplete BRIEF emulation Thanks for listening.Anonymous
November 25, 2007
Class Designer anybody? This would be about the most useful thing you could finally put in.Anonymous
November 26, 2007
- NOT bridge BUT not using c#,VB.net Only using C++/CLI for developing WPF,WCF,WF and Silverlight like another language( delphi, c#, vb.net ... ) please! I don't want to use ActionScript with mxml (Flex)
- Future Standard C++ 0x 's new language feature and libraries suppport as fast as possible.
- Expand and Extend MFC (not ATL) for native highlevel applications not lowlevel application(driver,service,game ...)
Anonymous
November 28, 2007Improve Intelisense. See Whole Tomatoe Visual Assist X.
Add more macroing ability in the IDE. Kinda advanced autocomplete for code like if I type if give me the options to chose from.
Code Beautification - I'd love to see a feature that could clean up coding standards like brace placement, tabs, etc. There are a number of 3rd party tools that do a 3rd rate job. Particularly I'd like to see the idea of code conforming to my coding preferences and then being able to translate it in to something that conforms to the coding standards of the organization.
C++ Refactoring. Must Have.
Allow for a non manifest deployed Sxs version of the the libraries. We have to support old version of Windows that don't support side by side distribution properly so it would be nice if there was a way to compile my app to support old versions that don't understand manifests.
Cross compiling. Our code base is built on Windows and Linux, and in the future Mac. It would be great if there was a feature that would be able to check the compilation on the other compiler via a ssh or some other manner. Pretty pie in the sky.
Anonymous
November 29, 2007
The comment has been removedAnonymous
November 29, 2007
The comment has been removedAnonymous
November 29, 2007
The F1 help has been beat to death, but let me add some thoughts. First, the original help on Multimedia Viewer (Look at the MSDN Library betas) was incredibly fast. You hit F1 and the help opened. Almost no pause, even on a lowly 486. Every new iteration of viewer since then has gotten slower when running on faster hardware. 'Nuf said. Today, when I hit F1 on a keyword, I just want it to go to the online web page for that word. IMPORTANT - that page should include the Wiki discussion so I can have some help dealing with under-documented functions and classes. I don't want it to search for alternatives. I don't want it to find community information. I don't want it to open a table of contents that takes ten seconds to download. I just want to see the reference page. Immediately, if not faster. Finally, this is the interesting part: Tie the F1 help into the XML documentation for the current project. Really. (That does, of course, require you to implement XML documentation for C++.) And don't make me wait 10 minutes to integrate changes into the help system. If I don't need full text search, then opening the correct page should take a fraction of a second. In addition, allow me to define a "search server" within my company. If I have dozens of developers on my project, then F1 should be able to query the server for a keyword and get a response back almost immediately. Thanks.Anonymous
November 29, 2007
One thing I think needs to be improved in the interop solutions is the annoying LoaderLock exception/breakpoint (from the Managed Debugging Assistants). It can be disabled while you are debugging using the VS2005, but when using the VS6 debugger it cannot, and in our older projects I get those very frequently. We need to be able to turn off this "feature" for good and system wide, so it will never fire again ever. I agree that the IntelliSense platform that you seem to be developing will be a great improvement. But just in case at least provide a way to disable it. Also, I do not like the Visual Assist approach and I think you could do it so much better. The C# IntelliSense could be the idea to follow; I find it comfortable and simple. Interop will be needed and to be improved, no matter some folks are not and will not be using it. It needs to be able to handle big and I mean really big projects. And I think the MSDN help currently is having mostly automatic method skeletons grabbed from the source code, and not real help reference.Anonymous
November 29, 2007
Juan, Can you tell me what you mean by "really big projects?" How big are the projects you're currently working on? And how big do you anticipate them being in the future? What are your biggest concerns / problems in working with big projects? You can reply here, or e-mail us at DevPerf@Microsoft.com. Thanks, David Berg Microsoft Developer Division, Performance EngineeringAnonymous
November 29, 2007
The comment has been removedAnonymous
November 29, 2007
Ability to write macros in a language other than VB, particularly C++ and maybe C#. Because the ability to parse C++ and run programs on the AST is a brilliant feature (well done) and ought to be made full use of.Anonymous
November 29, 2007
The comment has been removedAnonymous
November 29, 2007
Hi Juan, you can organize your C++ code in namespaces and the class view will show your class hierarchically in the namespaces. You can also put namespaces in namespaces and see that in the class view. Very convenient! -- SvenCAnonymous
November 30, 2007
I would like the possibility of printing debug data like arrays, multi-dimensional arrays directly from the debugger. Also printing memdumps would be usefull.Anonymous
December 01, 2007
I would like to have MFC support in the Visual C++ Express edition.Anonymous
December 01, 2007
I would like to see => improved performance of the build time in VC++ such as Increditbuild - distribued build tool (http://www.xoreax.com/download.htm) => Memory leak detection in the native and Managed runtimes via APIS => Heavy support for Web Services via APIs => features that are unique to Visual C++ as compared Managed world. SrinivasAnonymous
December 02, 2007
The comment has been removedAnonymous
December 02, 2007
Absolutely, 110%, I would love to see a more open approach to cross-platform compiling, mixed build systems, and above all, the development of a "native" .NET framework. I don't want to use C# and .NET to make a simple GUI frontend. I don't want to use WinAPI directly. I don't want to use WxWidgets, or 1000 other frameworks I dislike. Make us a GUI designer for native C++ using WinAPI. I don't like MFC, and I don't think I ever will. I am not an old-school C++ programmer like some developers, being only 22, but I love C++ and I think managed code is a horrible mistake in this industry. Apart from that, improve the GUI, and add support for SVN/CVS without forcing me to use AnkhSVN and other such plugins. Oh, and before I forget: refactoring and intellisense MUST get better, like Eclipse meets Tomato Software. Thanks a lot for accepting our feedback. I'm looking forward to Orcas+1.Anonymous
December 02, 2007
Hi Michael, so you don't want managed and don't want WinAPI and don't want WxWidget and don't want MFC and you do want to build the best UI ever with a GUI designer? Can you give us or Microsoft a few details on how you want to things and not only how you do not want to do things. I get the feeling that you want to build Office like apps by clicking and dragging some controls together. And my guess is: building those apps is more complex than you think... -- SvenCAnonymous
December 03, 2007
>> 4. Support for POSIX (I know I'm asking too much) libraries: libc, libstdc++ >VC already has implementations of the C and C++ >Standard Libraries. If the programs you are working with >specifically require glibc or libstdc++, then they contain >nonportable assumptions. >This is why we have International Standards. And you're claiming that POSIX is not? It's defined by IEEE. And the "I" stands for? I've been porting code back and forth from Win to *nix for 10 years and lack of POSIX is the biggest problem -especially for threading. Do some homework please.Anonymous
December 05, 2007
Hi SvenC, Sorry if I wasn't clear enough. I know it may sound like I am a newbie programmer who wants the next best thing since sliced bread, and while my GUI work is limited, here are my views of what I want to see:
- .NET style WinForms GUI designer. This makes snapping together the basic GUI fast and easy. The only problem is I don't like the 20% performance hit my entire application takes from being inside the CLR. If there is some way to create a WinForms-like native C++ library, I think you would find a lot of people who would love it. I hear people tell me all the time, "Making GUIs in .NET is so nice. Wish it was that easy in C++."
- Lightweight GUI library. While MFC is a powerful framework, I have read many opinions on it, seen many example programs, and I feel the entire library is too large, has an outdated programming model, and has too many dependencies. I admit I have not tried ATL or the new WTL, but I am actually going to give WTL a try sometime. I've heard good things about it.
- Exception-based programming model. I think that modern libraries should make use of exceptions. I read an excellent blog entry on exceptions versus return values and I have to agree with it. While I (and many others) are comfortable with traditional programming models, I think that modern libraries should use exceptions. It's something that makes Java and .NET both very nice to use, even if exceptions aren't perfect. Also, let me clarify a few remarks: I would like to see a library that makes it easier for us native C++ programmers to make GUIs because doing straight WinAPI / MFC is difficult for most beginner/intermediate programmers. It's not even about the learning curve, so much as, designing the entire GUI in code is slow and unproductive. It's the same reason I dislike making GUIs in Java: no GUI designer that is worth its' lines in code. About the 'building Office apps' comment, I agree with you. It's surely not as easy as I made it sound. Making such complicated software takes a lot of work, but when the tools to create the GUI aren't nice to use, this is only so much harder to do. I've recently started programming in templates in C++, and am really loving C++. I've also done work in ASP.NET 1.1, C#/VB.NET, and Java, and I still keep coming back to C++ as my favorite language. RIAA, stack-based variables, templates, and performance are some of the reasons. So, sorry for not being as clear as I could of been. Sometimes I don't feel like writing up a storm during finals week :) I know there are other priorities, but a nice GUI framework would really give C++ on Windows and edge it has been missing for a long time. Thanks for replying and thanks for letting us give feedback. It's a really nice thing to see.
- Anonymous
December 06, 2007
The VS Debugger is the best and ever was on Windows! Debugging is much fun. Especially to learn how things are working.
- IntelliSence must be enhanced (False hitting is annoying). Maybe a way to go - VAssistX from WholeTomato Soft.
- Speed improvements as said
- most omportantly the editor -> just make it like in C#, code folding which is working like in C# and so on In-Place parding and better code formatting like in C# with syntax check and correction. I know it's not that simple but you should end there where C# began concerning this. cu Martin
Anonymous
December 06, 2007
What I would like to see in future versions of Visual C++: Continue to track the C++ standards. Continue support for native Windows SDK applications. I want to stay away from NET and managed code. Continue to provide great documentation. Currently I rate the documentation as awesome! Thanks for doing a great job.Anonymous
December 06, 2007
Thanks for VS2008! I just have a comment... Why C++/VB are not a first-class citizen programming Avalon/WPF/Silverlight? I see you can currently program it using C# ...Anonymous
December 06, 2007
Like other people,
- I would like to see a new GUI designer for native C++ using Windows API without wasting 5 times more than .net just becasue of designing its interface. I want to stay away from managed code. (yeah, but I think in my dream)
- a new search engine for Local MSDN library. sreaching a a disaster in local searching, Can you find any word with undescore ( _ ) or a combination of more than one words, No I can never do that. using Google and typing msdn plus what you want will solve that but it is not local.
- Anonymous
December 07, 2007
Two simple requests of IDE: 1.A short-cut to open corresponding .h/.cpp file,eg, if current text window has manager.h, open manager.cpp if it exist in the project.
- An open project file dialog. A lot of time, source files are arranged in hierarchy instead of flat, so navigate the solution explorer tree or file directory is not so convenient. Both these two feature exist in visual assist. Maybe these can be done by some macros? Thanks for your time.
Anonymous
December 07, 2007
to clarify the 2nd request: open a file in side solution without have to type the full path name.Anonymous
December 09, 2007
The comment has been removedAnonymous
December 11, 2007
The comment has been removedAnonymous
December 12, 2007
The comment has been removedAnonymous
December 12, 2007
In the debug window "Locals" you need to be able to click the title and have it sort the entries, just like explorer sorts file names. Without this feature, it's impossible to locate a variable in the "Locals" window which renders it totally useless for any but the simplest source file. It forces the use of the "Watch" windows as the only way to view a local variable.Anonymous
December 12, 2007
I think it would be great if there were a "realloc" keyword that could be overriden the same way "new" and "delete" can be overriden for custom memory allocators. The default "realloc" behavior could just use the CRT.Anonymous
December 13, 2007
With VS6, VS2003 & VS2005 every time you open the edit dialog for a custom build rule (or any other edit window from the properties page) the window shrinks from the previous opening by the size of the window frame. After a few times, the user has to manually enlarge the window again. It's pretty annoying when copying settings from file to file in a large set of projects.Anonymous
December 13, 2007
I would like to see the ability to combine projects that come out of different source safe repositories into the same solution file. I don't need more than one repository per project, that restriction is fine, but the restriction of one repository per solution causes me to have to duplicate code into 2 repositories which means any code modifications have to be manually performed duplicately in each of the 2 copies of the source code.Anonymous
December 13, 2007
David: I not completely sure what you are asking. My first thought would be why don't you use placement new for this? That is a pretty close C++ alternative to realloc.Anonymous
December 13, 2007
[James Balster] "When I set a break point with VS2005 in a template, it lockes up the machine for several minutes." Please open a Microsoft Connect bug and provide precise repro steps. You can post the bug ID here. Thanks, Stephan T. Lavavej Visual C++ Libraries DeveloperAnonymous
December 14, 2007
I agree that most VC++ programs are targeted for native code, but I still do some things in VC++ where I want a managed output.Anonymous
December 14, 2007
The comment has been removedAnonymous
December 15, 2007
The comment has been removedAnonymous
December 16, 2007
Almost any application these days has need for a grid. While there are several third party options available, it would be a significant improvement to have a grid option in MFC classes for use in dialogs. Similarly, it would also be a significant improvement to have a set of reporting classes built in. While one can make the current CView derivatives work, it would be relatively straightfoward to extend a set of grid classes to incorporate reporting functions. Again, almost any application has need for reporting-- why make developers everywhere reinvent reporting extensions of CView. Thanks,Anonymous
December 16, 2007
The comment has been removedAnonymous
December 17, 2007
The comment has been removedAnonymous
December 17, 2007
Although I very rarely crashed VS2003, I find that with VS2005, I crash it almost on a daily basis, sometimes 2 or 3 times a day. The most frequent crash (over 90 % of the crashes I have encountered) occur when a solution is being closed. With VS2005, it also takes a VERY long time to close a solution... at least as long as it takes to open it, possibly longer. I'm wondering if possibly intellisense is kicking off during the closing of the solution and trying to access data structures that are no longer valid?Anonymous
December 17, 2007
Good idea Thor! The grid control as a built in sounds like a great idea. We also use a 3rd party grid control and it's just one more repository/solution/project that has to be carried around and built repeatedly.Anonymous
December 17, 2007
In the VS2005 debugger, the values displayed in tooltip format when you hover over a variable sometimes are lacking in info. For certain pointers to classes, it only displays the type of the class and not the address contained in the pointer. This makes it difficult to determine if the pointer being looked at is valid or not. I was just looking at one and I busted open each of the + signs to look at all of the class heirarchy and found no information indicating for certain that it wasn't a valid class pointer, yet it also didn't contain any data values. Finally, I entered the variable into a watch window and discovered that my pointer had a value of 0x00000000. It would have been far quicker if that was displayed in the tooltip window along with the type information. How about always including the address in the display as well?Anonymous
December 17, 2007
Debugging VC++ application that contains nested objects is not easy & productive. For example when an objects internal object(s) is modified locals/watch windows hightlight those with RED color. But the tree in the locals/watch window needs to be expanded to see which objects are changed. This is very tedious, time consuing and distracts from solving the actual problem. I used to Product Routing algorithams that contain many nested objects (bredth & depth wise). It would be much more productive if the VC++ debugger UI supports some sort of settings to automatically display the inner objects when they are changed. SrinivasAnonymous
December 17, 2007
I would like to be able to edit and sort the RECENT PROJECTS list shown on the Start Page. I'd also like to be able to lock it to prevent accidential changes (similar to how the quick launch bar on the start menu can be customized). The limit of 24 solutions on the RECENT PROJECTS list is too small for our instance. Our source code base has 20 solutions for one contract and 7 more for another contract and we have both a shared version on a network drive plus a personal version on the C: drive of each solution. (24 + 7) * 2 = 62 solutions. The large number of solutions being dealt with increases the need for being able to sort the RECENT PROJECTS list.Anonymous
December 17, 2007
The comment has been removedAnonymous
December 18, 2007
I would like to be able to include comments with both text and graphics in the source code, with a graphics editor something akin to Corel Designer or Corel Draw. It would be ok (possibly better) if the actual graphics resides in a separate file or database, but it should appear seamless to the developer. Perhaps a GUID would be included in the source that references the graphic. It amazes me that the best tools I have today for including diagrams in the source code is blocks of characters. It makes maintaining source code difficult when complex geometries are involved.Anonymous
December 18, 2007
Hi Steve, integrating a graphics editor so that a graphic does show up directly in your code seems a bit odd to me. But you could do something like this: add a comment with a URL. URLs in comments can be left clicked when you hold down <ctrl> and they will be opened in a new tab in VS. So when you can assign a URL to your graphics they can show up in VS. Try it - put this in your code, press <ctrl> and left-click the URL: // http://msdn2.microsoft.com/library -- SvenCAnonymous
December 18, 2007
How about integrating the "Find Results" windows better. If you could search the code base for a string, then edit the results to delete ones from files you are not interested, then using the remaining results to drive a partial rebuild of the code base would be very useful. Either a "Build all files in find results" or a "Build selected files in find results" are 2 choices I'd like to have. Now with C++ it may seem silly, but for those of us who still have some Fortran code, there's no automatic dependency checking to know if a file needs to be rebuilt....Anonymous
December 18, 2007
I also do miss the (handy) keyboard control of VC6.0. Ctrl-J, Ctrl-K for jumping to the matching preprocessor directive was very convenient (I don't even find the command in VS 2005). Pressing Esc cleared out all the find-output-build results off the screan... Now it requires much more movements (and it's quite hard to do without turning to the mouse). And the opportunity to disable the "Copy without selection" thingy... it appears strange to me, that it's gone... :( One more thing already mentioned above: F12 (Go to Definition) worked from everywhere (even half of a token in a comment), now it is much more scrupulous.Anonymous
December 19, 2007
shared_ptrAnonymous
December 19, 2007
The comment has been removedAnonymous
December 20, 2007
I would like to see a more powerful scripting interface in the VC++ Immediate and Command debugger windows. I would like to be able to write scripting loops and function calls on the fly (maybe it's possible and I just don't know how). Something similar to how Python's SWIG or Lua can integrate and cooperate very well with C++ code, but at the debugging level. Ideally, after a breakpoint is caught I would like to be able to manipulate the current scope of the breakpoint any way I want via a scripting language. And, possibly, navigate the stack as well (I wrote my own separate thread that can provide stack navigation in the debugger, but it needs code instrumentation and re-compilation; I obviously don't want to recompile, hence the scripting language features). Don't get me wrong, I like the Immed/Cmd windows, but they can be much more powerful (either that or I don't know how to make the best out of them, maybe something similar might be achieved with VB?). Thanks.Anonymous
December 20, 2007
The comment has been removedAnonymous
December 21, 2007
Currently VC++ has no IDE support in Visual Studio for programming these CLR technologies:
- ASP .NET
- WPF
- WCF
- LINQ while of course C# supports all of them. Clearly you, and Microsoft, could support all of these using C++/CLI in pure/safe mode modules. If you are not interested in supporting .NET, and just ceding .NET development to C#, just drop C++/CLI and stop pretending that you are creating a level field for all .NET languages. You did an excellent job of creating a first class .NET language with C++/CLI and you have done a general good job in interoperating between C++/CLI and standard C++, but you have done a terrible job of bringing .NET technologies to C++/CLI.
Anonymous
December 23, 2007
I believe there is a big miss in thinking that developers, especially c and c++ developers, want to "find a way to integrate" with .net technologies. These developers want a way to get it done w/o using garbage collection in any manner ( or in the words of the verbally esquisite, "non-deterministic finalization"). These technology partners want to control memory, threads and processes and that is what they are paid to do. Opening up new technologies both current and future with a c/c++ api would see these technologies achieve a faster market saturation. Failure to do so, will in fact limit their adoption and see competing products take your market. As has been done currently.Anonymous
December 23, 2007
The comment has been removedAnonymous
December 25, 2007
It would be nice if you could right click on the file in the editor window and select "compile" rather than have to hunt for it in the Solution explorer. Coming from VS2003, At first I liked the fact that VS2005 solution explorer didn't follow the file selected in the editor... that was great while editing, but once I needed to compile the file, I had to hunt and hunt and hunt for it in the solution explorer.... I ended up having to turn the follow option back on... and I lose the other benefit. If I could launch the compile without having to use solution explorer then I can turn that follow option back off.Anonymous
December 25, 2007
The comment has been removedAnonymous
December 28, 2007
The comment has been removedAnonymous
December 28, 2007
I have used Visual C++ since 2.0. I read all of the people complaining about standards, but I have 1.5 million lines of C++ code that is very old and ported from UNIX to Windows for the "core" of the application. (All the UI is new of course, but that is the smallest part of the application). The main item for me is don't break stuff that worked in the past, even if it was a "Microsoft-ism", we still have a significant amount of effort in our applications, I understand the need for standards, however you also need to understand that we have applications that do a little more than "Hello World". Visual Studio 2005 is much better than past versions, in 2003 we actually used interop to our old 6.0 C++ dlls because it was pretty painful to convert to the new environment. With 2005 the conversion took about 1 week for all the C++ code, including interfaces to FORTRAN (it isn't dead yet for structural analysis). The biggest complaint I have is the slowness of stuff like ClassView, even though it is probably no slower than 6.0, I wish the "updating of SourceSafe status" was more transparent, intellisense & updating the sourcesafe status really take over your machine, to the point we go for a coffee break after opening a project. They also tend to "wake up" at times and take over, it would be nice if they were more of a "background" update and less intrusive. Keep up the good work. I'll wait until the Beta's are real before trying 2008. Thanks Alan Anderson Dir Applications Development Varco Pruden BuildingsAnonymous
December 30, 2007
The comment has been removedAnonymous
January 01, 2008
Linq to work with native STLAnonymous
January 01, 2008
The comment has been removedAnonymous
January 01, 2008
The comment has been removedAnonymous
January 01, 2008
WHAT VISUAL C++ LIBRARY THAT TARGETS THE WEB? With Silverlight 1.1 we can build interaction web application using C# or VB .NET with the .NEt Framework and C++/CLI is not a .NET language? Is ASP .NET only for C# and VB.NET? But it is not all of .NET language? Can you explain the real Visual C++ Futures?Anonymous
January 01, 2008
WHAT VISUAL C++ 2008 LIBRARY THAT TARGETS THE WEB? WHAT VISUAL C++ 2008 TOOLS THAT TARGETS WPF? WHAT VISUAL C++ 2008 TOOLS THAT TARGETS WCF? WHAT VISUAL C++ 2008 TOOLS THAT TARGETS LINQ? WHAT VISUAL C++ 2008 TOOLS THAT TARGETS ASP. NET? WHAT VISUAL C++ 2008 TOOLS THAT TARGETS SILVERLIGHT? WHAT ABOUT THE FUTUR OF VISUAL C++? WHAT KIND OF VISUAL STUDIO 2008 FOR C++ DEVELOPPERS?Anonymous
January 02, 2008
I posted earlier, but I neglected to mention that my number 1 desire is that Intellisense only makes me wait when opening a solution. I never, ever, should have to wait after that. Never!Anonymous
January 02, 2008
The comment has been removedAnonymous
January 03, 2008
I would like to see a list of the files which VS thinks are out of date and need to be rebuilt. When it takes hours (or even days) to do a full rebuild, but only about 9 minutes to compile a single file and relink, the decision as to whether or not to do a build or to try to use the debugger to stop at a breakpoint and then manually try to do a workaround could be based upon how many files would get rebuilt... This could possibly be a separate window, such as the "pending checkins" window, or it could be integrated into the solution explorer much the same way source safe is integrated.... Maybe a very light gray background around the filename text if it would get rebuilt, rather than an icon next to it. That could prevent it from getting confused with the source safe icons. Hovering on the file could still display the tooltip like it does now, but rather than saying "Checked-in" it could say one of these "Checked-in, up-to-date" "Checked-in, out-of-date" If done with highlighting, then The out-of-date highlighting should be propogated up to the project and solution level as well.Anonymous
January 03, 2008
I would like a code tidier similar to the Rearranger/Code reformat in JetBrains IntelliJ Idea for Java. It puts methods in a controllable standard order. It gives you very fine control of indenting and spaces. This gives you a standard format before checking. If everyone uses the corporate standard, you don't get false deltas. I saves you so many keystrokes not to have manually align code.Anonymous
January 04, 2008
Hello everybody I am using c#. I want to know to programatically change my C# code in order to get it compiled by distcc. does any body know how to use distcc with c# sample program ? or maybe how to change the compiler in C# and use the distcc instead. please help.Anonymous
January 05, 2008Have a switch to allow exploring system include files in Class View. This was a life-saver for iostreams in VS2005.
allow storing pin_ptr in a class for those who want the higher-level abstraction of .Net without the security. Maybe add an 'unsafe' switch for that. Or is there some other way of holding a reference to a CLR class?
Anonymous
January 05, 2008
Re. docking windows, allow 'splits inside a page' as well as the current 'pages inside a split'. eg. so you can have one page with small windows like call stack/autos/locals visible together and then just flip the page and get the output window on its own page. Maybe allow duplicate windows too so that you can have different layouts of the same things.Anonymous
January 06, 2008
I have worked for a week with VS08 and I have run into two designer showstoppers; showstoppers that I have no way of working around. I am going back to VS05. It is far better to limp along, with the designer crashing the IDE every ten to fifteen minutes when I work with form layout, than to be dead in the water. I may play with VS08 again when, if ever, the first service pack comes along. To me, that a product works properly and as documented is far more important than anything else. I can work around the lack of features and that the compiler mishandles some source code; I cannot work around error messages such as the two I have encountered with VS08. Note that it only has taken me about a week to run into an impasse with VS08. If my experience is representative, VS08 is going to be one of the more outstanding lead balloons in Microsoft history -- if possible, even worse than Bob. I have made a DVD with a snapshot of the present state of the project. Should Microsoft be interested in improving the abysmal quality of the designer in VS08, they need to provide me with a snail-mail address to which I can mail the DVD. (My connection does not have a good enough upload speed to make uploading a large amount of information practical.) Please note that the code is proprietary and copyrighted; do not disseminate it beyond Microsoft and do not use it for any purpose except fixing bugs in Microsoft software.Anonymous
January 07, 2008
The comment has been removedAnonymous
January 07, 2008
i have a small sugession, we can have a clipboard in IDE also so that we can copy and paste more than one code snippets at a timeAnonymous
January 08, 2008
The comment has been removedAnonymous
January 08, 2008
TJ - There is the feature called the "clipboard ring" that allows you to copy multiple items at a time and then paste. In some profiles the key combination is Ctrl-Shift-V but you can bind it to whatever you would like. Just keep holding down Ctrl-Shift and pressing V multiple times will cycle through your clipboard content until you find the item you want to paste.Anonymous
January 10, 2008
problem >>> 8. using forward slash in include dialogs pretty much disables look up directory functionality – it used to work in 2003. >>> 9. Macro substitution dialog works 40% of the time (OutDir, TargetDir etc.) Explain plz.Anonymous
January 10, 2008
Hey, I really like the VS2005 IDE and have pushed for the last year at work for a switch from Borland-based apps to VS. We're talking about it, so there's progress. I think that Visual Studio is the best MS application available. The MSDN help leaves something to be desired, though; it's difficult to navigate and it doesn't always keep my filter settings. Keep up the great work. I haven't run into many problems with VS2005.Anonymous
January 10, 2008
allow functions from the program being debugged to run from the debugger auto-expand rules!Anonymous
January 11, 2008
I need to port a bunch of VC6 projects to VS 2008. Please make it "pain free".Anonymous
January 13, 2008
I would be happy when VC++ comes whith full functional GUI Designer like in C#. I have experience with C++ Builder from borland and now I have troubles with GUIs for native applications. P.S.: MS Visual Studio is more comfortable in use then C++ BuilderAnonymous
January 13, 2008
I would be happy when VC++ comes whith full functional GUI Designer like in C#. I have experience with C++ Builder from borland and now I have troubles with GUIs for native applications. P.S.: MS Visual Studio is more comfortable in use then C++ BuilderAnonymous
January 13, 2008
re: Visual C++ Futures
Wednesday, January 02, 2008 12:41 AM by Gabriel Litsani > WHAT ABOUT THE FUTUR OF VISUAL C++? Thanks for your posting. Not sure I quite understand all your questions but if you want to understand the future of VC++ (and how it relates to some our managed technologies) then this is a good place to start: Steve Teixeira and Bill Dunlap: Visual C++ Today and Tomorrow (http://channel9.msdn.com/Showpost.aspx?postid=281987) Thanks Damien
Anonymous
January 13, 2008
The comment has been removedAnonymous
January 16, 2008
ASP.net support for C++/CLI This is a must !! The lack of this ability is simply a major hindrance to C++ adoption on the new platform. Because the web front end is forced to be written in C#, often the rest of the tiers also get done in C#. Any project type that is creatable in C# should be creatable in C++/CLI. Wether if it is the new game programming XNA projects, Silverlight or what have you. Thats the only way C++ can be a fist class in the .Net world.Anonymous
January 17, 2008
The comment has been removedAnonymous
January 17, 2008
The comment has been removedAnonymous
January 21, 2008
When your end product is a DLL, you quite often need to test it with many different executables. It would be very nice if there was a sticky list of the last 4-8 executables (and the associated arguments) on the "Command" and "Command Arguments" in the Debugging section of the project properties tab.Anonymous
January 21, 2008
Quit trying to turn C++ into .Net. Give us even better support for C++ standards. Quit trying to one up the standards bodies with Microsoft's custom interpretation of how things should be. Change C++ enough and native C++ programmers will eventually get fed up and leave forever. Eclipse is becoming a rather feature rich IDE with decent support for C++. We're not always going to eat the dog food you feed us.Anonymous
January 22, 2008
Rich "...Quit trying to turn C++ into .Net. .." John Selbie "...Please innovate by adding a time-travelling..." Could not said it better my self (no really - I could not, because my English is not that good :) ). But if I could I would have signed under both of the posts.Anonymous
January 23, 2008
The comment has been removedAnonymous
January 23, 2008
Integrate CCFinderX (or any such great tool) with your Refactor - Do you know about CCFinderX? If yes, try using it as the first step to show duplicated/cloned source-code pieces, and suggest to convert them into functions in Refactoring stage... Currently, Extract-Method in Refactoring is done manually... It can be converted to semi-automatic method better with CCFinderX.Anonymous
January 23, 2008
How about a multithreaded compiler, or at the least the ability to have it run on multiple files at a time, kinda like the way make -j4 does. Would be nice for large projects. Incremental builds help, but on fresh checkouts from code repositories, the build time can just be so painfull!Anonymous
January 23, 2008
I'd like to be able to optionally exclude comments from the search feild while doing a search or a search/replace.Anonymous
January 24, 2008
CamelCaseDetection :) If I use ctrl to skip words, I want it to stop 3 at C then C, then D i nthe above example. Other word detection: CLSID_MYCLASS should stop at the C, then at M, not assume that whole thing is one word. More customizeable syntax highlighting! I want to use VS for all sorts of other editing. Multithreaded compiling: We have these 4 quad core machines out there, why can't we get all those 16 cores busy? At the very least somethng similar to that of make -j4 in gnu's make utility would be nice. Incremental compilation helps a lot, but when you first check out a large project from source control it can just be painful to wait for the initial build.Anonymous
January 24, 2008
hmmm it said it failed on yesterdays, so I posted again, only to see todays work just fine, then see yesterdays. Odd....Anonymous
January 24, 2008
I'd like to see a Selectable Undo: Highlight a block of code. Select Undo (or ctrl-z). It starts undoing only changes made to that block of code.Anonymous
January 25, 2008
Microsoft can certainly add a new dimension to their VS IDE by supporting "image/video" insertion. Just like Microsoft Word, the users should be able to insert any video clip, or image file into the source code file. That will greatly improve the code readability, and by allowing programmers to insert diagrams/program design sketch, the source code will become more comprehensive. I believe this is certainly possible. =]Anonymous
January 26, 2008
My opinion
- VC++ need the same poowerfull Intelisense like VC# have.
- Powerfull Class creator for native C++ code
- An option that permit rename functions and variables throught entire code with 1 click.
- And the same as othe people, faster compilation times, and more powerfull code optimitzations :) Thanks for all. LLORENS
Anonymous
January 27, 2008
The comment has been removedAnonymous
January 27, 2008
Hello RS: Saturday, January 26, 2008 9:12 AM by LLorens Marti Given your priority list, you may find this recent channel 9 video by Arjun of great interest: http://channel9.msdn.com/showpost.aspx?postid=376182 Arjun covers our work on the new Intellisense functionality and mentions a number of items in your list. Thanks Damien VC++Anonymous
January 27, 2008
The comment has been removedAnonymous
January 28, 2008
The comment has been removedAnonymous
January 28, 2008
Forgot one thing. When I'm trying to type something and IntelliSense doesn't understand it, it shouldn't mangle what I'm entering.Anonymous
January 28, 2008
Oh, also, speed up the compiler. It's slow. :PAnonymous
January 28, 2008
James Bellinger, We made a number of performance improvements in the IDE in VS2008, and have more planned for the future. If you're seeing performance issues that we didn't adequately address in VS2008, then please e-mail me with details (DevPerf@Microsoft.com) or file a connect bug with details. Thanks, David Berg Developer Division, Performance Engineering TeamAnonymous
January 28, 2008
You have been heard - see my great news about the plan to improve your help experience in Visual Studio and MSDN! http://blogs.msdn.com/aprilr/archive/2008/01/28/help-is-getting-help-the-long-overdue-makeover-for-visual-studio-and-msdn-help.aspx
- AprilR
Anonymous
January 29, 2008
Many of these comments relate to individual programmer and task productivity; instead, we would like to see more focus on project level productivity. Much of this clearly depends on what VC is being used for. We use it for developing rich clients and server extensions. So, for us, many of these issues around writing code would be moot if we could avoid writing code in the first place. So, we would like to see extensions (primarily to MFC and ATL) which allow us to develop richer interfaces with less code. For example, I noticed a forum post asking writing code to save a dialog position between sessions. Rather than making this code easier to write (through clipboards, intellisense, autocompletion, etc.), it would be preferable to include written code (through attributes?) to do this. That way we are not writing and testing code, but are able to deliver the functionality within our product. So much of MFC/ATL seems like it hasn't progressed from a thin wrapper around the Windows API when it could be much more.Anonymous
January 29, 2008
I spend all day using Visual Studio to create and edit VB script files with the VBS file extension, and pseudo C source files with a BDS or BDF file extension. I have added these file extensions so that my source code is formatted correct as VB for those with the VBS extension and C/C++ for those with the BDS or BDF extensions. However, whenever I want to open a file, or add files to a folder in the project explorer as a means of organisation and quick reference, I have to scroll down through the file types pop-down to select All Files before the files with my file extensions are displayed and can be selected, which is a regular pain. I would like to be able to add my own group of file extensions to the list of recognised groups of file extensions in the File Open and Add Existing Item dialogs, for example, .VBS;.BDS;*.BDF. I would then like to be able to customise the order of these file extension groups so that my preferred grouping is at the top of the list and is the default one used by the File Open and Add Existing Item dialogs. This would mean that whenever I go to open a file or add files to a folder in the Project Explorer, I would immediataely see the files I want to use, and life for me would be so much easier. Thanks in anticipation of a favourable outcome to this request in due course.Anonymous
January 30, 2008
The comment has been removedAnonymous
January 30, 2008
The comment has been removedAnonymous
February 05, 2008
F1 Help is shocking in VS2005. Spent an hour figuring out I can't do things by just using the keyboard. Rubbish, slow and in accessable to the keyboard powerusers.Anonymous
February 05, 2008
There are two things that I would like to see in VS 2008:
- The features of VS 2005 actually work. Currently, the debugger often hangs after generating assertions, has long delays if you edit a .h file while the application is running, and setting conditions on a break point doesn't work if you right click on the break point in the editor.
- A better resource editor, particularly when it comes to editing toolbar button images.
- Anonymous
February 06, 2008
Having had some time to play with VS2008 Team now...
- Per-file code analysis, when you've got 1500 files in your project and you just fixed all the warnings in "zzPluralAlpha.cpp" having code analysis rebuild the project ... zzz
- Configuration/preferences access to the stacksize parameter to /analyze - especially for embedded projects
- Converse to "ignore specific warnings", "look for specific warnings"
- I wish you'd taken a leaf out of SQLs book when it came to the code markup mechanism. Instead of "[...]" could you not use /[ Pre (Valid = Yes) ]/ so that it is possible/convenient to write this in code that still needs to work on VS2003 and earlier
- The IDE has taken a large performance hit its not nearly as easy to zip about in as it used to be, infact, I've tended to revert to loading VS.Net for general editing and load up 2008 only for building/analysis/debugging.
Anonymous
February 06, 2008
Hello Oliver. Thanks for the feedback on Code Analysis, I thought I'd take a moment and let you know what's up with the feature. We definitely want to solve the pain with introducing code analysis to large code bases. Currently, our thinking is around making it very easy to target the severe problems, and then providing an easy mechanism to add in more warnings. Your suggestion comes from another vector we really haven't thought hard about because we've focused so much on security and crash detection that we have felt that being able to easily find those problems across the whole project first was higher value. Let me know if you think this would help, or if a file by file approach would still fit better for you. This feature is currently designed to be easy enough to use for just targetting a very small set of warnings of your choice as well. As to the configuration; our guidance has been that if you want to use the tool for something more serious than an 'on the fly' run, it is best to set up a new VC++ Project Configuration based on the Release build, and enabling Code Analysis. This new configuration can then be tailored as you see fit for re-use. For the attributes [Pre...], we really do want a 'code entity' to do syntax checking and help with mistaken annotations. We did anticipate your scenario though, and that's why you can #include <CodeAnalysis/SourceAnnotations.h>. If you look at the CRT and windows headers you will find macros for most common attributes, and the ability to compose all other cases. These can be compiled away to nothing for compilers that don't understand attributes. They are a little more unwieldy to use, but do provide portability. Thanks for the comments, and feel free to let me know if you have more feedback. JRohde@Microsoft.comAnonymous
February 08, 2008
One annoying bug that showed up in VS2005, which was not there in VS2003 is if you launch a build while the debugger is running, both ask you if you want to stop the debugger, but after answering YES, in VS2005, stopping the debugger is all you get. You have to launch the build a 2nd time. Maybe that could be fixed in future releases???Anonymous
February 08, 2008
I have been often having to use the older SourceSafe 6.0d from VS2003 because the LEAVE FILE option is disabled in SourceSafe 2005. When I do a GET LATEST, I normally want to 1) merge the files I have checked out 2) LEAVE the writable files I copied from a co-worker who has them checked out. I NEVER want to check them out because then I might accidentally check one in and it is not my change. I never have writable files that I modified because they are automatically checked out as soon as VS2005 begins to edit them.Anonymous
February 12, 2008
I would like to see the IDE seach tool become faster and easier to use just like Visual C++ 6.0. I would like to see a fully functional Visual Designer for C++. I would also like to see a ClickOnce deployment for Visual C++Anonymous
February 13, 2008
The comment has been removedAnonymous
February 20, 2008
The DataGridView is a wonderful display capability which I use extensively. One of the things that I would like to see is another version of the DataGridView that transposes rows and columns such as to display rows as vertical columns. Even better would be to permit binding a single column of the DataGridView to a single row of a database table with the option to assign other DataGridView columns to other functions (such as descriptors, min/max limits, etc.) That way a single database table row could be displayed and edited in a user friendly display format with helpful descriptive annotations in adjacent columns. I currently create such displays, but it is definitely a matter of pounding square pegs into round holes.Anonymous
February 21, 2008
The comment has been removedAnonymous
February 24, 2008
Export Template for Visual C++ project is not available. It would be better to include it. I generally use open source libraries, such as VTK, ITK, VXL, and other academic and research software&libraries, and this requires many compiler and library setting to create a new Visual C++ projects. Export template with VC++ would be a great convenience for this ... Regards Cem DEMiRKIRAnonymous
February 25, 2008
I would like to see:
- Intellisense (we call it dumbisense here) using the same token parser as the compiler as the thing is constantly out of wack with the compiler. We get undefined symbols when going through Intellisense, but it compiles perfectly.
- Getting rid of this resource.h file as numbers are often overlapped and fixing names on them is quite a pain.
- A unit test framework that does not require .NET.
- The linker not getting in a funk because I ctrl-brk'd to stop the build process. we have to delete empty object files to get it to work again without a complete rebuild. Jonathan Scott
- Anonymous
March 03, 2008
I would like to see the following two feature introduced into visual studio:
- Spell checker for checking comments in C++
- Intergrated profilling tools for C++
Anonymous
March 05, 2008
Somebody has already mentioned syntax highlighting options. I would also like to see better syntax hiliting where types are one color, vars another, int constants another, methods another, and so on. Thanks.Anonymous
March 05, 2008
I'd love to see some memory leak detection support without having to resort to paying for 3rd party software.Anonymous
March 08, 2008
The comment has been removedAnonymous
March 10, 2008
I would like to see better version control. Like Word you can track changes and accept or decline if you like them. Once you compile there is no way to undo. Saving a separate copy is time consuming. This would be a huge improvement.Anonymous
March 11, 2008
The comment has been removedAnonymous
March 13, 2008
The comment has been removedAnonymous
March 26, 2008
The comment has been removedAnonymous
March 30, 2008
The comment has been removedAnonymous
April 01, 2008
Hey can anyone Help me out how to write Interrupts in Inline Assembly in Visual C++ ?Anonymous
April 02, 2008
I really like the look, feel, and experience of the new MFC updates! I can't wait for the release; However, I did think there is still one control that should have been included: A grid control for spreadsheets within dialogs the software we develop uses spreadsheets in more dialogs than dialogs without them-- with their own buttons within them. They look a little old fashioned because the SS controls are not mapped with other buttons. and they aren't as easy as I think they could be. I'm sure MS could do a much better job than the current SS control we use. This would also allow us to dynamically create buttons (say if there is 5 points, we can have a row of controls and text for 5 points).Anonymous
April 02, 2008
I'd like to see more profiling tools built in specially a
- code coverage tool
- diff tool
- regular expression library that doesn't require dotnet
- Anonymous
April 04, 2008
Hello Re: Wednesday, April 02, 2008 9:41 PM by Andrew Artajos I'd like to see more profiling tools built in specially a
- …
- regular expression library that doesn't require dotnet Such as TR1: Regular expression parsing – which is now available via our Feature Pack, please look here for more details: http://blogs.msdn.com/vcblog/archive/2008/01/07/mfc-beta-now-available.aspx Thanks Damien Visual C++
Anonymous
April 08, 2008
The comment has been removedAnonymous
April 08, 2008
[Eric Jones] > Re: A grid control for spreadsheets within dialogs This is a control that we chose not to integrate. There are third-party versions of this control available. But thanks for the feature request. This is something we may consider for future. Pat Brenner Visual C++ Libraries DevelopmentAnonymous
April 10, 2008
re: Visual C++ Futures Wednesday, April 02, 2008 9:41 PM by Andrew Artajos
> I'd like to see more profiling tools built in specially a > - ... > - regular expression library that doesn't require dotnet It has now shipped, see here for details: http://blogs.msdn.com/vcblog/archive/2008/04/07/visual-c-2008-feature-pack-released.aspx Thanks Damien
Anonymous
April 10, 2008
Hi Pat/VC++ Team, Could you recommend some third party Grid controls that are easy to work with in MFC? I have been using the MSFlexgrid ActiveX control since VS97, but is not supplied with VS 2008. Thanks, Sri >This is a control that we chose not to integrate. There are third-party versions of this control available. But thanks for the feature request. This is something we may consider for future. >Pat Brenner >Visual C++ Libraries DevelopmentAnonymous
April 16, 2008
I hate to admit it, given the investment we have in MFC, but it seems like QT is a vastly superior framework even for just Windows development. QT has a built in grid, unit testing framework without dotnet. I can't find anything that is not in QT and that does not seem easier and better. I don't work for QT or anything, just a disappointed long time MFC/ATL user that saw the list of improvements in the new MFC and was disappointed enough to search for another solution.Anonymous
April 17, 2008
[Mr.MFC] > Could you recommend some third party Grid controls... I don't have experience with any third party grid controls from which I can make a recommendation. I do know that BCGSoft provides a grid control, which we did not include as part of our updates to MFC.Anonymous
April 17, 2008
The comment has been removedAnonymous
April 17, 2008
Oh yeah nice that you took openGL out of Visual C++ help category in Orcas.Anonymous
April 18, 2008
The comment has been removedAnonymous
April 22, 2008
incremental linking in mixed codeAnonymous
April 22, 2008
The comment has been removedAnonymous
April 22, 2008
I would like to see the a new GUI library using new C++ standard, templates, exceptions, standard library (for example using string class instead of CString), boost signal and slots and etc like what they did in SmartWin++. Thanks:)Anonymous
April 23, 2008
The comment has been removedAnonymous
April 28, 2008
I would like the ability to merge sln and vcproj files. We use source-code-control. We create branches and occasionally merge changes from one branch into another. I have found no tool that will allow me to merge changes to solution or project files.Anonymous
April 29, 2008
I would like be ability to format text in my code comments (bold, font size coloring) I would like to be able to draw lines, blocks, text in the comment text (a picture is worth 1000 words). Maybe paste in content generated in MS Word. As programmers, we have been tolerating "primative" editors for long enough. It should be relatively easy to do, if you restrict the new capability to code comments.Anonymous
May 05, 2008
I should like it can provide the function being tied in wedlock closer with UML, C # has already provided, why did not VC provide?Anonymous
May 07, 2008
The comment has been removedAnonymous
May 07, 2008
I would like to see more standard library implementation and less macro kludge fixes like the million conversions for char,w_char, unicode etc ie _T( ) that make the code look trashed. I can't believe a modern language has so much ambiguity in working with a character type. Define a char set and have done with it. In reality if we have to support multi-platform, it's in C++ or C, not C#Anonymous
May 08, 2008
I'd like to see a better debugger. I come from a unix world and I'm used to using GDB (often with a front end). I'm not a big fan of IDEs but I can live with one that really works well. Visual Studio doesn't. Managed code?? It's trying to be a kind of philosopher's stone turning bad programmers into good ones and works just as well as turning lead into gold. I suspect that Vista uses managed code and that's probably the main reason why it's so gawd awfull slow. For the debugger, if I have a void pointer to some data (say an array of structures) I'd like to be able to tell the debugger that this is an array of MyStructs with a subscript defining the size of the arrayand then see my structures formatted as structures. With VS 2005, I can't even tell the debugger I want to see this as a bunch of bytes. I'd really like to see better more organized documentation and put a publication date on your articles. I often find myself looking at old article that are either irrelevent or, worse, very misleading. Some real world samples for even simple things would be very helpful. MFC could really use a very good facelift. I've worked with a number of GUI libraries and all are much better than MFC. Why does MFC not support layout objects and resizeable dialogs??? Why must I use a resource editor to create dialogs??? I looked for an example of subclassing windows that I can compile and run. Couldn't find one. The VS2008 sample page is a bad joke. There's not a single download link. You took samples off the DVD and tell us they are on MSDN. Yeah right!!! Unfortunately I'm stuck with MFC for the time being but when I get a new project to do I'll either use QT (trolltech) or WxWidgets unless MFC gets a major overhaul in the meantime. I know there's a lot of history to MFC but that doesn't mean you can't make it something that actually works properly.Anonymous
May 13, 2008
it's not convient that i can't define a temp variable in function arguments.Anonymous
May 14, 2008
Another problem to fix: VS 2005 crashing Windows and causing a hard reboot. I have not been able to figure out what actions lead to this, as I am sure I could 1) avoid them, and 2) convey them to MS. However, several times a week my machine is cold/hard rebooted by some action I have done in VS 2005. Perhaps embedding so much of VS 2005 functionality in to the OS kernel was not such a good idea? NO application should ever bring the OS down! Thanks! Jonathan ScotAnonymous
May 15, 2008
The editor - it's an editor. When I type, I expect the characters to appear instantly, not lag by 1/2 second. When I scroll down the screen, it shouldn't pause why it rebuilds its intellisense or whatever (yes I've renamed feacp.dll [or whatever] already). Please stop it crashing Please make it all faster Please make the quick macro remember all keystrokes (like VC6 did) and not lose the odd ")" Please let it use less memory (1Gb devenv virtual memory, then add 1Gb link.exe and 1Gb mspdbsrv.exe) and it will also go faster Turn off intelli-everything by default - I want a small, fast, functional tool. If I want the bells and whistles, let me turn them on (don't do it for me) BTW this is in even relatively small albeit multi-project solutions. Dual core, 2.6Ghz, 4Gb RAM. Most the CPU isn't strained, the RAM is often within physical limits, but it's still slow and unresponsive. Please, please, please fix itAnonymous
May 16, 2008
McHarry, Yes, typing in the Editor should be nearly instantaneous, and it should be fast, and it definitely shouldn't crash. Are you using Visual Studio 2008? It has performance improvements in editing large files and in C++ intellisense. Personally, I love intellisense and feel it makes me more productive. I tend to think it should be on by default, if only because the experts who don't need it are more likely to know how to turn it off than the beginners who need it. However, that assumes that intellisense is working fast and not getting in your way - if that's not the case, then we need to fix it. (Again, I know we made substantial improvements in VS2008, so if we missed something, we'd like to know about it.) I'd like to know more about your performance problems. You can contact me at DevPerf@Microsoft.com. Regards, David Berg Developer Division Performance Engineering TeamAnonymous
May 25, 2008
Some UI options I'd like to see: Search: - Output is same color as code - option to search only active code (not comments or #ifdef code) Add a close icon to tabbed code windows like explorer (so I can close it where the name of the file is, without right clicking) Tabs go to multiple levels so all my open windows have a tab. When a file is modified, the file name in the solution explorer is displayed with '*' like the window name Better search filters. Like only C++ function calls, for example. Add 'close all unmodified files' option. -DougAnonymous
May 25, 2008
Some functional things: It can take minutes for it to respond to a 'stop' command (I'm waiting right now). ... It finally came up with a "Stop Debugging in progress..." window and asks me if I want to stop the process. Please fix this. Stop should be immediate. There is just the one process. Sometimes I get a "system call failed" and I have to retart the IDE to allow me to write the target .exe file. I frequently get a link error that says it can't write the target .exe file and the second time succeeds. It would be nice to have a way to report VS bugs and track them in a browser. When the IDE crashes is should generate a report for the bug tracker above. Better memory leak detection. Better yet, add option to free all leaked memory on exit. More frequent updates. When I break, sometimes the call stack is not in my code and I can't step out of the functions. I should be able to trace every break to within my code and step out of functions to get back to my app.Anonymous
May 28, 2008
The comment has been removedAnonymous
May 28, 2008
Would it be too much to ask that the quiet mode for the MS VC++ 2005 redistributable run-time libraries actually installed QUIETLY, no prompts, no progress bar, no nothing!! The 2008 version does this, unfortunately, I can't use those because our code is compiled with VC08, not 09. Could you guys, please repackage the VC++ 2005 installer to actually work as expected. If we have to install these libraries so our code runs, let's make it transparent would ya?Anonymous
May 29, 2008
The VSFileFinder and VSTabs plugins are a great help. It would be good if VS had something like these built in. http://www.zero-one-zero.com/vs/ The VSFileFinder lets you type in a few letters in the name of the file you are looking for, and select it from a list of matches. This is very quick. I can't stand navigating the directory tree of a large project through the solution explorer. VSTabs combines the .h/.cpp files into a single tab, and colour codes the tabs according to whether the file is read-only, the current file, and whether it is a code file or some other kind of file. I helped write some of the features for this plug-in. Apparently it does not work in the latest version of VS2005Anonymous
May 29, 2008
The VSFileFinder and VSTabs plugins are a great help. It would be good if VS had something like these built in. http://www.zero-one-zero.com/vs/ The VSFileFinder lets you type in a few letters in the name of the file you are looking for, and select it from a list of matches. This is very quick. I can't stand navigating the directory tree of a large project through the solution explorer. VSTabs combines the .h/.cpp files into a single tab, and colour codes the tabs according to whether the file is read-only, the current file, and whether it is a code file or some other kind of file. I helped write some of the features for this plug-in. Apparently it does not work in the latest version of VS2005Anonymous
June 07, 2008
I am a C++/CLI programmer and this .NET language is a significant improvement on C++. It makes it beautifully simple to write bug-free code (no more memory & pointer bugs!). However as a C++/CLI programmer I do have issues with the way that in the documentation, C++/CLI not treated as a first class .NET langauge along with Visual Basic and C#. In the documentation, example code is always given in both Visual Basic and C#, but very rarely is it also given in C++/CLI. Also, in the forums it is difficult to find answers related to C++/CLI because the language does not have its own forum, it has so share with the general c++ forum, so my searches get back loads of irrelevant information on native c++ coding. Here is the C++/CLI eqality manifesto:
- Please treat C++/CLI as a langauge not as a set of C++ 'libraries'.
- In MSDN .NET help pages, please provide C++/CLI examples
- Please give C++/CLI a dedicated MSDL forum Treat C++/CLI as a first class .NET langauge! Maybe renaming the langauge 'C++.NET' would be a good move towards de-emphasising the 'library' tag.
Anonymous
June 07, 2008
I would like to address a few of the assumptions made at the top of this WebLog. "C++ customers mostly develop native code applications. As part of this, you would like to see renewed emphasis on tools for writing native code. " Actually no, my company develops managed code because it is safer and better in every way. I would rather see renewed emphasis on tools for writing managed code. In my opinion, native code is effectively obsoleted by the C++/CLI langauge. "While firmly rooted in native code, many of you want to extend your applications to take advantage of managed functionality" Actually no, my company is not firmly rooted in native code. Native code is only for people maintaining legacy applications. Any new application should be using managed C++/CLI code for productivity and relability reasons. Only if the application needs to directly access specific hardware should the code briefly dip down into unmanaged c++, and then extreme care must be taken with the coding and the peer-review process to ensure that this dangerous and unsafe unmanged code performs correctly.Anonymous
June 10, 2008
The comment has been removedAnonymous
June 13, 2008
The comment has been removedAnonymous
June 13, 2008
I have encounterd a performance issue. We have 2 separate networks. One is a normal configuration. When I run 2 separate instances of VS2005 with different solutions open and do a build in both of them, I see the total thruput increase as one would expect. In that network, my files are all on the local C: drive On the other network at the far end of the building, there is no writable local drive. We are forced to have all files on a file server. When running on the network drive only systems, I find that if I run 2 separate instances of VS2005 and I monitor the network traffic with task manager, the network I/O drops from about 20-40% of the available bandwidth to 0% with a short burst of about 20% once per minute. The total time for doing 2 parallel builds which take about 10 minutes each when run separately increases to a couple of hours. When one of the 2 builds completes, the I/O traffic suddenly jumps back up from the 0% level with a spike once a minute back to a level of 20-40% of the available bandwidth. On that same network, while a C++ build is in progress, I also have up to 1 minute long hangs with other apps like Windows Explorer. These are C++ projects so I suspect that the C++ compiler is doing some sort of a lock on the file system.Anonymous
June 13, 2008
I'm not sure where to report this issue because I don't know if it's VS2005 or the network file system. Our workstations are XP pro-SP2 and our file server is Windows Server 2003. We run a batch job starting at 6:30 pm which does a full rebuild of all of our solutions using VS2005. The batch job runs on a user workstation and builds on a mapped network drive. That batch job runs under a separate user login name that is not used for any other purpose. That job running over a network drive mapping takes about 17 to 18 hours to complete. At exactly 10 hours into the rebuild, there seems to be about a 50% chance that the batch job fails. Each failure records on the file server a Kerberos login failure for the username runing the batch job. Each build is fairly short, usually building about 12 files per minute. The build step in progress at 10 hours from the start of the batch job is a custom build script running a Fortran program which reads in Fortran source, parses it and spits out equivalent C++ source code plus header file. It spits out the C++ source into a set of 14 separate files. After that runs, a C++ merge program runs twice which puts those 14 separte files into a .cpp and .h file (one run per output file). The failure never occurs at exactly the same point in the build, but at always the same time from the start of the batch job. When we advance the batch job to start 1 hour sooner, the failure occurs 1 hour sooner also. The failure sometimes occurs during the conversion from Fortran to C++ and other times during the merge of the files. It never occurs in between build commands. Output from the batch job is redirected into a .LOG file. I suspect that there is some sort of a 10 hour time limit on the network login done upon the open of the first remote file... and if the 10 hour time limit occurs while a file is open it kills the build while if it occurs in between commands in the custom build script, then the job is able to re-login at the next file open and continue. It's kind of hard to determine where such a problem should be addressed. Any info you have on this issue would be appreciated.Anonymous
June 13, 2008
The comment has been removedAnonymous
June 26, 2008
The comment has been removedAnonymous
July 09, 2008
I could really go for an easy way to get Visual Studio to stop automatically creating folders inside "My Documents" in XP or "Documents" in Vista. I hate that so much.Anonymous
July 24, 2008
The comment has been removedAnonymous
July 28, 2008
MULTITHREADED BUILD is very licerly to have. Like in GCC. I have only one large project in one solutuion, and my Core 2 Quad builds it for very long time. The code is crossplatfrom, so GCC builds the same code REALLY faster.Anonymous
July 29, 2008
Make the remote debugger more firewall friendly, so ideally it would need just one port to be open, instead of many ports needed now. Opening many ports in tight security environments is very hard and needs involvement of many people.Anonymous
July 30, 2008
The comment has been removedAnonymous
August 02, 2008
The comment has been removedAnonymous
August 04, 2008
J. DellaPunta, I assure you we do understand that there's room for improvement in Visual Studio performance. Making sure those improvements can happen is the primary function of my team. I'd love to hear more about the performance problems you're encountering and how we can improve the productivity of our products. You can reach me at devperf@microsoft.com. Regards, David Berg Microsoft Developer Division Performance Engineering TeamAnonymous
August 04, 2008
I miss being able to right-click on a file that I have open in the editor window and select "Add File to Project". That was a GREAT feature in VS6 that is gone now. Now I have to click "add" -> "existing item" then manually browse to the file even though I already have it open! It may sound silly, but it does occur quite frequently.Anonymous
August 04, 2008
I miss being able to right-click on a file that I have open in the editor window and select "Add File to Project". That was a GREAT feature in VS6 that is gone now. Now I have to click "add" -> "existing item" then manually browse to the file even though I already have it open! It may sound silly, but it does occur quite frequently.Anonymous
August 16, 2008
Please please please make the debugger display the dynamic type and fields of objects in C++ rather than the static type!Anonymous
August 19, 2008
I would really love to see the color-coding engine in the IDE text editor distinguish between global, local, and member names. For both functions/methods and plain old variables.Anonymous
August 20, 2008
The comment has been removedAnonymous
August 21, 2008
How about bringing your compiler up to the C99 standard that was released almost a decade ago.Anonymous
August 26, 2008
Better support for intellisense in Visual C++. Take a look at SlickEdit for windows and linux, it's intellisense is superior to Visual C++'s. it never fails, it updates dynamically at regular intervals, it works even when there's compilation errors, it doesn't just "stop working" for no apparent reason. Furthermore, there is the ability to force regeneration of the tag file (akin to the .ncb file in VC). Intellisense should be diagnosable, so if it's not working you should be able to get verbose diagnostic information about what went wrong. C99 standard compliance should be 100%. I can understand the lack of support for the export keyword so I'm willing to cut some slack there. I would love to see export, but knowing what I know about how hard it would be to implement, I'd like to see C++0x much more than the export keyword. I'd also like to see support for generating code optimized for the Intel NetBurst architecture. It's well known that Intel's compiler absolutely destroys Visual C++ in optimized code, so I would like to see work done in this regard. I would like to see the debugger provide more rich support for debugging without source code. A more rich disassembly listing would go a long way here. Take a look at some of the more advanced native code debuggers for ideas, such as OllyDbg or IDA Pro. I would also like to see the Visual Studio command / immediate window provide support for all WinDbg user mode commands. It is annoying when I really just need the output of a certain WinDbg command to solve the problem I'm working on, but I can't do it.Anonymous
August 31, 2008
I agree with Nick, August 20th, 2008 "the death of quick macros as a usable feature." The performance of quick macro record (control shift R)/playback (control shift p) is abysmal! It is anything but quick. What could it possibly be doing that takes so long ? Please relabel this feature to slow macro.Anonymous
September 11, 2008
I've always wanted a better way to manage bookmarks and breakpoints, including grouping and saving them into bookmark and breakpoint files.Anonymous
September 18, 2008
would love to see a better profiling tool included in Visual studio which should not only provide the profiling data for function but should be able to show data in respect to assembly, some thing similar to the Shark profiler which is available in the Mac environment in xCode.Anonymous
September 18, 2008
I am very happy with the renewed emphasis on C++ for native development. I develop both in C# and C++, but quite frankly I prefer C++ and the freedom of creativity. But some of the RAD tools for C++ and coding wizards need some life breathed into them. They are a little too kluge at this point. Another side point: VS 2008 is a nice tool for both languages, but it is quite apparent that the MSDN documentation is greatly lacking for native development using the new MFC features, whereas there is an overabundance of information on C# and.Net. Let’s get the documentation updated.Anonymous
September 22, 2008
The comment has been removedAnonymous
September 30, 2008
Currently the Toolbar editor has a 16 color restriction. However, The image editor is capable of editing images > 16 colors. I would very much like the possibility to create and edit toolbars with more than 16 colors. All new applications have those fancy toolbar buttons with more than 16 colors. Why can't I simply create my own >16 color toolbar in Visual C++? Now I'm still stuck on editing those toolbar images from outside Visual Studio!!! No, only 16 color editing should not be 'by design'. I would like to see this problem fixed in the next release. please note I also posted this suggestion through the Microsoft Connect site: https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=368575Anonymous
October 02, 2008
I'd like to see some way to view bugs that have been reported and also some way to report bugs when one is found. For instance, I just discovered that in VStudio 2005, in the configuration manager, the last project in the list is missing the last configuration from the dropdown list of choices. I have no idea if this bug is known already or how to go about reporting it.Anonymous
October 03, 2008
James - You should be able to do most of this through the Connect Feedback site: http://connect.microsoft.com/VisualStudio Thanks for taking the time to give us this feedback.Anonymous
October 05, 2008
Hi, It would be great if you can provide an Inline Assembler for C++/CLI so that one can embed IL code anywhere instead of using assemblies.Anonymous
October 05, 2008
Also, I would like to see the Web Service template for C++/CLI since Microsoft removed it from Visual Studio 2005, I had to create my own template for VS2008 http://www.codeproject.com/KB/aspnet/CLIWebService.aspxAnonymous
October 09, 2008
It would be really nice if the program can be upgraded to handle operating on a server again. This used to work and no longer does. Currently we have to copy our directories to be local, do our work, and copy them back. less efficient and a lot more dangerous for keeping things up-to-date and backed-up properly. thanks keithAnonymous
October 10, 2008
Your MFC Templates for the MS-office-style ribbon bar are professionally done and very polished; however, you need to take care of one more cosmetic detail to make them usable for more than just school projects. The main button needs to be more easily customizable, so that the developer is not forced to display "MFC" on the main window. Sort of like a super-model with a booger on the end of her nose. What a shame it would be not to make that really nice interface flexible enough to consider using it for apps that one would want to send to a customer. Otherwise, this is a very cool development tool!Anonymous
October 12, 2008
i hope my surf is very fast like f1Anonymous
October 20, 2008
The comment has been removedAnonymous
October 21, 2008
Please please add support for C99.Anonymous
October 29, 2008
Well I used VS2005 for about two years. I was disapointed about debugging speed but the new Visualizer was really cool - I was able to display my data structure quickly. So I said OK it is not so critical. Then I had to switch to VS2008 in the company and from that point it is a nightmare! The debugging is unacceptable. If I hit F10 (step) it takes about 2 second sometimes even more. If I put a breakpoint again I have to wait even 10-20 second while it is displayed. Then it is a gambling sometimes debugger stops me at that place sometimes not - pretty frustrating - GRRR. And finally my visualizer and stepover stopped working - again have to study why. And yeah we switched to VS SP1 and it is even worse! It is more slower and the breakpoint stuff is completely broken. If I disable the breakpoint it disappears. I had chance to return to VC6.0 for a week due to a hotfix. Well, I was in the heaven when I hit the F10 button and the reaction was immediate! So instead of adding new features which are almost not used by anyone, to switching .NET and whatever else it would be nice to FOCUS on performance and make the debugging more easier - using UI/wizzards add StepOver items and Vizualizer. I'm looking for a hotfix and SP2 to address the performance issue. Thanks, CsabaAnonymous
October 30, 2008
Csaba, We're sorry to hear about your performance problems. We'd like to understand more about your environment and the issues you're running into. Can you email me at DevPerf@Microsoft.com? Thanks, David Berg Microsoft Developer Division, Performance Engineering TeamAnonymous
October 30, 2008
I'd really like to see integrated support for LUA 5.1 and higher. Some plugins are pretty decent, but lack some features or are buggy. I'd like VS to recognize when a plug-in is doing something and for VS to let it. Visual Assist, for example, doesn't play well with Intellisense. I'd like VS to crash a lot less often, but doesn't everyone? :)Anonymous
November 01, 2008
The comment has been removedAnonymous
November 01, 2008
The comment has been removedAnonymous
November 02, 2008
It would be nice to have context-aware find and replace. For example, if a particular variable is referenced 500 times but only assigned once, a context-aware search would make it wasy to find statements with the variable is an L-value. Similarly, if you are trying to refactor code by renaming a variable, it might be helpful to avoid replacing the variable name inside of strings and comments.Anonymous
November 05, 2008
The IDE experience is truly awful Startup/shutdown are very slow Even simple text editing can often cause periodic hangs of seconds or sometimes minutes. Microsoft - get the basics right. I need to be able to edit/scroll in a responsive editor. Why does the IDE+mspdbsrv.exe use up to 2Gb on my PC? Why do I look back in fondness at VC6 and its snappy interface?Anonymous
November 06, 2008
My top 3 features:
- 100% compliance with the standards (and I'm not talking about TR1/C++0x alone. I mean the whole standard. There are old features that aren't supported yet).
- Better intellisense. Take a look at NetBeans. It's amazing.
- Better debugger support for standard features. Example: I have to dig on ostringstream members so I can find what's stored on it. It's painful.
Anonymous
November 10, 2008
2005/2008. It's slow. Sometimes to the point of being unusable (i.e. Macros. completely unusable). VC6 + Visual Assist still rules though. P.S. to dev: whatever you do - don't use MFC. it's legacy non portable library. get rid of it. use wxwidgets or someting.Anonymous
November 10, 2008
MCH and Mitra, We're really sorry to hear about the performance problems you're having. We worked a lot to make VS2008 a better performing environment for the C++ developer than VS2005. I'd like to know more about your environment and the problems you're running into so that we can try and get them resolved. Can you please e-mail me at DevPerf@Microsoft.com? Thanks, David Berg Developer Division Performance Engineering TeamAnonymous
November 12, 2008
I personally would like to see a push to get C99 support at long last. This is kinda dreaming, but one thing that would be incredibly helpful would be if Microsoft could get involved with the other major compiler teams, (GCC, Sun, Intel, Borland, etc.) as well as standards bodies and come up with a standard ABI for overloaded functions and classes, so that finally you can take a .dll built with a different compiler and use classes that are inside it. I know COM tried to fix this, but really C++ should have a standardized OS independent method. I would also like to see a new function added to the C Runtime Library for dynamically loading libraries into the process space, on UNIX its dlopen(), on Windows its LoadLibrary(), it would be nice if a function was added to the standard so that all compilent implementations of the C Runtime library would have a library level implementation for this.Anonymous
November 24, 2008
Just hope it can start faster, more compilance with standard C++ including c++-0x. More features for MFC enchancements are welcome.Anonymous
November 26, 2008
Publicación del inglés original : Viernes, 21 de noviembre 8:36 AM PST por Somasegar Como parte de laAnonymous
December 04, 2008
The comment has been removedAnonymous
December 05, 2008
Adherence to the C99 standard. I guess we won't see that as open source is probably seen as a competitor to MS...Anonymous
December 05, 2008
And... Much better debugging capabilities. Especially for mixed native and managed code. Take a look at the DevPartner/BoundsChecker products and implement something similiar in Visual Studio.Anonymous
December 10, 2008
The comment has been removedAnonymous
December 10, 2008
The comment has been removedAnonymous
December 11, 2008
Microsoft macro assembler ( Masm ) is part of Visual Studio package. But why VS doesn't natively support assembly language syntax highlighting, code complition etc? It would be really nice to see all of that in future releases of VS. Come on, Masm is Microsoft's product, don't dump it! It is much more convenient to be able to write C/C++ and assembly code in one IDE enjoying all the benefits of intellisense etc. Good luck!Anonymous
December 11, 2008
Microsoft macro assembler ( Masm ) is part of Visual Studio package. But why VS doesn't natively support assembly language syntax highlighting, code complition etc? It would be really nice to see all of that in future releases of VS. Come on, Masm is Microsoft's product, don't dump it! It is much more convenient to be able to write C/C++ and assembly code in one IDE enjoying all the benefits of intellisense etc. Good luck!Anonymous
December 12, 2008
I would really like to see:
- Support for the "export" template feature, which would allow template definitions to go in a CPP file.
- IEEE 754 defines division-by-zero for producing NAN and infiinity, so in theory you should be able to write float const cfQuietNan = 0.0f / 0.0f; float const cfPositiveInfinity = 1.0f / 0.0f; float const cfNegativeInfinity = -1.0f / 0.0f; but if you try this you will get compiler error C2124. Could this be a warning instead of an error?
- It would be spectacularly nice to have a static analysis tool that would check exception specifications at the end of function declarations. For example suppose: void FunctionA(void) throw (int); void FunctionB(void) throw (float); class CMammal { void MakeNoise (int const cnMilliseconds) throw (std::bad_alloc, std::out_of_range); }; class CDog : public CMammal { void MakeNoise(int const cnMilliseconds) throw (std::bad_alloc, std::length_error) { try { FunctionA(); } catch (int) {} FunctionB(); } }; Given this code, the tool should complain that CDog::MakeNoise specifies a std::length_error not specified by CMammal::MakeNoise. It should also complain that CDog::MakeNoise can throw a float (because of FunctionB) and that this needs to either be included in the exception specification for CDog::MakeNoise, or the exception needs to be caught inside CDog::MakeNoise. Thanks for a great product, GeoRanger
Anonymous
December 27, 2008
The comment has been removedAnonymous
January 05, 2009
Here is an easy one. When there is an error in a header file, show me what included it so I don't have to go out and create a preprocessor file and then search madly to find out how this header was ever included in the first place. It would be really useful when you are 4 levels deep in header includes and you have a problem.Anonymous
January 05, 2009
Here is an easy one. When there is an error in a header file, show me what included it so I don't have to go out and create a preprocessor file and then search madly to find out how this header was ever included in the first place. It would be really useful when you are 4 levels deep in header includes and you have a problem.Anonymous
January 06, 2009
Visual Studio allows user to set include and library path which will be nightmare when multiple version of header and libaries comes from WDK, Platform SDK, and Visual studio headers. We need some kind of intelligent integration of WDK, Platform SDK, and Visual Studio header and libraries in Visual Studio.Anonymous
January 08, 2009
The comment has been removedAnonymous
January 15, 2009
You should really improve the resource editor. It's pretty anoying that you can't add remove or rename a resource, without having to edit with the text editor. And the image editor can be compared to paint.Anonymous
January 29, 2009
I'm happy to hear that you're working on improving IntelliSense and refactoring tools - I just recently switched from developing Java with Eclipse to C++ with VS2005, and those are the two areas whose deficiencies annoy me the most. A couple more:
- an option that highlights syntax errors, undefined symbols, questionable code, deviations from coding standards etc. in the code as you type would be INCREDIBLY convenient. I understand that this is not easy in C++, but if the IDE can compile the code, it could as well background-compile it and use the output.
- debugging pointers and arrays of objects is tedious. Is there a way to display each entry in the array as an object?
- a profiler would be nice.
Anonymous
February 04, 2009
The comment has been removedAnonymous
February 05, 2009
I would like to see it quit disappearing along with the app I'm trying to run. It didn't use to do that but the last update (of VC 9 sp1) must have fixed it. It used to know when it died. Now it doesn't seem to have a clue and it seems to crash much more often. This is a feature that would be better if removed.Anonymous
February 06, 2009
I would like a way to group all of my tabs by name, so all of the .CPP files go next to their coresponding .H files. Also to organize tabs alphabetically. Maybe have a right click option.Anonymous
February 12, 2009
Something I think would be nice is if the user can set an option to automatically adjust case sensitive variable names to their declared names (i.e. If "grayCat" was declared, any time the user types "graycat" in their code, it would automatically change it to "grayCat"). Though Visual C++ is a heck of a lot better than Visual Basic, VB does have that nice feature which I find very useful, because it is annoying to have compiler errors because of a capitalized or uncapitalized letter. Likewise, it causes headaches if someone accidentally declares "graycat" and "grayCat" in the same scope, and you use one and expect the other in your code.Anonymous
February 12, 2009
The comment has been removedAnonymous
February 24, 2009
John suggested: "I would like a way to group all of my tabs by name, so all of the .CPP files go next to their coresponding .H files." I like that. Maybe stack corresponding tabs in two rows, to save some space... How about going one step further and being able to link corresponding .cpp and .h files by their content, such that when you change a method signature in the .cpp, the IDE automatically changes the .h?Anonymous
February 27, 2009
The comment has been removedAnonymous
March 01, 2009
Rajas Pimpalwadkar wrote: "Second feature I would like to have is, synchronizing solution explorer with file opened in the file view." I have longed for that feature myself, and eventually found that it already exists, at least in VS2005. Go to Tools-> Options-> Projects and Solutions-> General, and activate "Track Active Item in Solution Explorer".Anonymous
March 29, 2009
khaled, I would love to find these things in the new version,
- Dynamic Flowchart basic style, including Data Structures too
- Standard Class Maker/Wizard
- better looking tabs and toolbars
- New Monospace smother Font ~
- Programmer helper, just like office helper was a cartonic character that helps me coding mostly the last 2 ones, will make me lvoe my new Visual Studio for sure ... have a nice day ^^
Anonymous
April 20, 2009
I would like C++ to ditch the Visual Forms designer; it does not work very well (to put it mildly) and to replace it with a WPF wizard.Anonymous
April 23, 2009
Hello Thanks for all your comments/feedback. I see a number of comments about supporting the C standard and in particular C99. You can read some comments on this topic by our ISO C Standard Committee representative (Arjun Bijanki) here: http://blogs.msdn.com/vcblog/archive/2007/11/05/iso-c-standard-update.aspx Thanks DamienAnonymous
April 24, 2009
- More powerful editor. Basically combine every single great feature from NotePad++, TextMate, Vim, SlickEdit, etc and add it to text editor.
- Automatically check for files that dont exist as part of the filter anymore and remove it from project. If anyone that uses the solution explorer filter at all, you will notice when a file that is part of Filter is physically deleted and/or moved will not be recognized by the IDE. Why the heck is that?
- VC++ should be smart enough to help developer link in the appropriate .lib/.dll. At least provide some suggestions!
- Look at Visual Assist X for ideas.
- Debugger should provide a 2D/3D plot for arrays. Check out VisualDSP++ for some of the plotting capability possible by that IDE. It's so neat.
Anonymous
April 25, 2009
Hello Shivesh Wangrungvichaisri Thanks for your interest and feedback. We agree with many of your comments and to this end for VC++ developers we have made enabling a much more positive user experience in the VS2010 IDE one of our major focuses, see this blog post for more specifics: http://blogs.msdn.com/vcblog/archive/2009/01/27/dev10-is-just-the-beginning.aspx Now we will not reach the ultimate goals in VS2010, much of the work we have recently done is foundational – but we (and others) will be able to build on a much better basis go forward and we hope to have a much superior experience in the next few releases. Thanks DamienAnonymous
April 27, 2009
"John" said it back in August: >It's clear that native code developers have become >an afterthought. [...] and MS's aim is to turn >native code developers >(that got them where they are today) into >their mind-controlled robotic demon spawn of >the CLR. The C++ compiler isn't even installed in VC9 if you UNCHECK C#. Coincidence? or an evil plot to annihilate C++ programmers? http://support.microsoft.com/kb/969866Anonymous
April 28, 2009
OK, It's a long time that I'm not using VC++ anymore and if it wasn't because of Visual Assist, BCG and Codejock I would've done that a lot sooner. I just keep VC because I need it for migrating my applications. Pity, I loved VC but I feel so left behind. Actually I saw a great progress from Qt, GCC and Intel and I like Eclipse. Currently I'm using those for all of my new works. But I'm still looking forward for the future of VC. (Maybe I'm waiting for some miracle!)Anonymous
May 01, 2009
Hello John Jr. > The C++ compiler isn't even installed in VC9 if you UNCHECK C#. Coincidence? or an evil plot to annihilate C++ programmers? Thanks for taking the time to post your comment – in all fairness though something like failing to install the C/C++ compiler when a developer selects the C/C++ profile is nothing as contrived as a “plot” (you give us way too much credit here :-) rather this would just be an “oversight”. Thanks Damien Visual C++Anonymous
May 01, 2009
Hello Don > But I'm still looking forward for the future of VC. (Maybe I'm waiting for some miracle!) Thanks to you (and all the others) who wrote and mentioned the less than stellar experience when using Visual C++ - for example look at the comments in this post that mention Intellisense. Addressing many of these issues is our major focus for VS2010. Now to be perfectly truthful, we will not get it all done in time for VS2010 but we are laying the foundation on which we can build going forward. See this post from Mark Hall (one of our architects on this issue) for more details: http://blogs.msdn.com/vcblog/archive/2009/01/27/dev10-is-just-the-beginning.aspx. Thanks Damien Visual C++Anonymous
May 31, 2009
I'd like to see more improvement on intellisense, when I use c# it is so much easier to write and I notice it makes a huge difference for the better when I program.Anonymous
June 01, 2009
I would like to have directory search (file name search) embeded like Source Insight doesAnonymous
June 14, 2009
CRT issues should be addressed. All the redistributables should be compatible for binaries built in previous versions of Visual Studio. I know this is a major challenge, but it has been more challenging for devleopers and build and realease teams to have a matrix. The legacy windows controls should be made fully customizable, as easy as specifying an image for the background for any window, with minimal coding. More user friendly APIs for WMI and NDIS.Anonymous
June 17, 2009
I am glad others have requested making better use of multiple CPU cores for compiling. I would also like to see multithreaded linking, which will become more important as you begin to rival Incredibuild's multithreaded compilation. It takes me an hour to build our software from a clean download from SVN. I don't expect it to shrink to 5 minutes, but at least utilize those nice multicore CPUs that Intel is selling us now. We are making OUR software utilize multiple cores; I know you can do it although I know it's scarily difficult. I presume the one-second delay before the Find window opens is due to garbage collection and that that time will shrink when I get an 8-core processor, right?Anonymous
June 18, 2009
The VC++ team is very passionate about improving compilation and link speed. We, like any other developer, have to build our code many times a day and waiting for these long processes to complete is a burden. As you allude to in your posting, this is a difficult problem. When you analyze the performance of the compiler and linker, you quickly realize that CPU usage is not the only problem. You have to look at all the disk IO involved. Reading all the source and header files off the disk, and writing the OBJs to disk (so you can do incremental builds later on). Then, for incremental builds, reading all the OBJs from disk and then writing the executable and PDB back to disk. Leveraging multiple cores is also difficult when building a single binary because many operations involved in laying out an image are inherently single threaded. But this does not mean we have shied away from working on these issues. In VS2010 BETA2, you should see some measurable improvements in compile and link time for larger projects. We worked on optimizing memory usage in the compiler, improved data reading and writing in the linker, and have made use of a second thread in the linker to parallelize some operations. We'll be blogging about these changes in more details at http://blogs.msdn.com/vcblog in the coming months. Moving forward, we will continue to invest in multicore scalability and overall improved builds times as hour-long builds times are common for many of our customers and therefore an obvious opportunity for improving developer productivity. Andre Vachon Visual C++Anonymous
June 23, 2009
The comment has been removedAnonymous
August 27, 2009
Header Toggle for C++. Why do I have to use VisualAssist all these years. The ability to specify multiple command lines and then select them from a popup. I have several app configs that I need to run. See Intellij for many useful IDE features like this. Make /MP a formal option, so that I don't have to add it to the compile options of every vcproj. I just want to turn it on, since it makes a massive compile speed improvement on dual quadcore. Make tear-off UI optional instead of default. Half the time I click or expand a UI item, only to have it tear out of my carefully setup UI. Error reporting on autoexp.dat. When autoexp rules are incorrect the debugger crashes or hangs. Hotloading autoexp.dat without having to restart the debugger while I'm adding rules. Can the support for stepinto be put back into the autoexp file rather than forcing me to modify the registry for this. I like to have one config file for my debugger.Anonymous
August 27, 2009
Forgot a few C++ compiler items: Fix #pragma once support. I keep seeing filemon search all over the drive for include files in C++. I liked CodeWarrior where the IDE tracked the exact location of files and then specified those to the compiler. Ability to see dissembly without being in the debugger and also see the code sizes on a given file. This is especially important when you want to see if a template class has bloated a file, or SSE code generation failed.Anonymous
September 01, 2009
MS will probably never support tools/formats of Unix tools/compilers/debuggers. Therefore we are working on AddIn which will support such issues ;) Kind regads, WinGDB teamAnonymous
January 21, 2010
The comment has been removedAnonymous
February 20, 2010
My impression is that MS is promoting C# and demoting C++. But all the wonders in the IT industry happens using C++. So, being a world leader, its obligation for MS to encourage native runtimesAnonymous
May 10, 2014
Good job