The official source of product insight from the Visual Studio Engineering Team
We want to hear from you about how
Visual Studio 2010 is working for you so far:
"It's been just over 6 months since we launched Visual Studio
April. I hope you've been busy digging in and taking VS out for a spin.
Your feedback was invaluable to us as we were building VS - thank you! It's a
great time for us to hear what you think so far. We are especially
interested in hearing about your experience with regards to performance, reliability, and quality. The more details you share
with us in this survey, the better we can understand your experience and
apply what we learn into future versions." - Jason Zander's blog
10 wasn't the new 6 for us C++ developers.
Visual Studio 2010, has proved slow and flakey for me, except on very high end hardware (8 cores, 12GB RAM), where it flies. For most other hardware, the experience in the IDE is lethargic, with hangs and pauses etc.
The new method of installing extensions (eg Visual Assist X is now installed once per user rather than for the machine as a whole!) is complex and wasteful.
The separation of project properties into properties global to that machine that are then combined with the ones for the project (unlike the self contained model of previous versions) is a pain.
Why also, given that you finally forked the project format to .vcxproj (thus preventing the nightmares of back compatibility on .vcproj files), why didn't you do the same for .sln files? That would've made life much easier.
The compilers themselves continue to improve, but the IDE still needs a lot of work, both for speed, and also to reverse some of the design decisions that have been made (e.g. extensions, use of WPF etc).
@Mike - Regarding your comment about extensions...please note that a VSIX extension author has the flexibility to mark their extension as installing for all users on the machine or per-user. Apparently, Visual Assist X decided to go with the latter.
Please make sure to also give your feedback via the survey link.
It is very feature rich and well thought out. I don't know about what it does on slow hardware. I understand Windows 2000 would most likely feel faster over Windows 7 on slow hardware.
Our Core Duo machines run it nicely too.
Sorting this bug out would be good...
Magic 8-ball says: Outlook good.
Visual Studio 2010 looks nice and got some nice improvements while keeping lot of old issues/bugs. But the main impression: slow and buggy all over! Since we started working with VS2010 we regulary have bluescreen/systemcrashes, VS-freezes, hangs/lags, constant CPU cooling fan running on notebooks. Developing for Silverlight 4 / XAML is getting worst. That's a real paint and absolutelly no fun.
While VS2005 and 2008 where rock solid VS2010 does really not match that quality at all. Major step backward in stabillity and performance.
We've noted all the pain we had with VS2010 but posting this list here is propably not helpfull. I think you are aware of the stability issues of VS2010 already if you use it for daily work.
We already thought to go back to VS2008 but customers of us also moved to VS2010 so we have to stay with VS2010.
We really, really, really are waiting for SP1!
SP1 can't come soon enough... Machine specs - Windows XP SP3, dual-core Intel Xeon @ 2.0 GHz, 3 GB RAM.
The bad -
I absolutely agree with the performance and stability issues for C++. We have a fairly large solution building ~10 executables and 60 static libraries. The new way for specifying inter-project dependencies (the "Frameworks and References" method) is completely unusable. I get OutOfMemoryExceptions trying to add references and have to resort to adding the project references by hand in the XML for the vcxproj file. Right-clicking and choosing Properties on a project for any of our executables with more than about 10 static library references causes a 15+ second hang before the dialog shows up. After it does come up, all of the references show up as "Unresolved" anyway. A completely unusable feature and a major step back from the simple, reliable Project Dependencies dialog in 2005.
Intellisense performance is another problem. While the reliability of the results has greatly improved, the time it takes to get to declarations/definitions has gone way, way up. Sometimes something as simple as right-clicking and trying to jump to the declaration for a class method in foo.cpp that is declared in foo.h takes 10+ seconds. Intellisense speed has been the #1 complaint from our team. I have played with the Intellisense tuning dials but haven't had too much success. Turning off implicit files takes the size of the Intellisense database down from ~200MB to ~20MB but performance isn't greatly improved. Something else must be getting in the way.
Then there are just the general "hangs" where it seems like the simplest things take way too much time. Why does it sometimes take 5-8 seconds to open a file from Solution Explorer? That is very painful and happens way too often. It is especially painful during debugging sessions where the Step into operation has to first open the file with the code. Any yes - my hard drive is regularly defragmented.
The good -
C++0x support in the compiler has done wonders for the performance of our applications. We are seeing a consistent 2x performance boost over executables compiled with 2005.
We really like the refreshed look of the IDE - colors, fonts, etc... Also, multi-monitor support is excellent.
Is this survey closed already? :(
I agree with Ricardo above, the survey closed way too soon, I'd have loved to participate. Anyways, here's my feedback:
- The extension manager is great!
- Ctrl+',' is a promising feature (but see cons)
- The new UI is nice
- Multi-monitor support (although I don't use it much)
- C# intellisense is a great as always
- As other have said, this is the windows vista of visual studios, hardware requirements are way too high. I'm running it on a core 2 duo and boot time, ui responsiveness and overall experience is painfully slow. Sometimes, even the text editor lags behind my typing.
- Ctrl+',' is pretty much unuseable because of poor performance
- Property sheets, property manager, property pane, project properties (for C# vs C++). Everything that involves properties is a mess.
- Still no backward compatibility for solution/project files
- Menu items that show/hide panes should be grouped in the View menu, not all over the place (like debug->windows)
- Build progress is not natively integrated in the taskbar button in windows 7
The deal breaker here is really performance. There was a lot of improvement between betas and release candidates but there's still much work to do. I'd like to be able to use visual studio to quickly edit a C# file but now I'm often using Notepad++ to do so because that saves me a lot of time.
I hope vs11 will be the Windows 7 of visual studios :)
Developing C#/Winforms does hit some bugs in VS2010 but the real pain is developing in the XAML editor (even in text-only mode). VS2010 is not only horrible slow in XAML but also freezes completely up to 20 - 30 times a day so only friend task-manager helps. Here is the list we got during the last months working with VS2010:
VS 2010 General:
- Developing Silverlight 4 apps regulary results in Windows Bluescreens of death (eg. when building the project)
- Cancel Debugging (Shift + F5) restarts the app over and over again. Same can happen when the app crashes.
- Opening a XAML file in text mode / -editor needs a lot of system performance so the fan fires immediatelly after opening a XAML file. Maybe related to the R# plugin.
- Scrollbars in context menus even if there is enought space on screen is a no-go (eg. Solution Explorer or Texteditor context menu)
- Exceptions in Silverlight are not integrated in a really usable way. XAML-Parser throws "an exception" without further information. Same with runtime-exceptions in Silverlight apps. Most of the time one does not get any usable error information or state of the art debugger assistance.
- "Add reference" > .Net: There is no indicator then the list is fully loaded so one does not really know then every assembly is listed and therefore have to try and try and try to find it
- "Add reference" > .Net: While loading the list it is not sorted what makes it very difficult to find the right assembly before the entire list ist loaded. Manual sorting is only enabeld after the entire list got loaded.
- VS forgeths the "default browser" of Silverlight and ASP.Net-apps regularly.
- Search window/toolpanel does not remember its floating size.
- From time to time the clipboard is not working anymore. Ctrl-C and ContextMenu -> "Copy" don't copy the selected sourcecode to the clipboard anymore.
- XAML-Texteditor from time to time unterline the whole filecontent with a blue curvy line. Only re-opening the XAML file will fix this. Build etc. doesn't.
- Exiting the app back to the VS debugger takes quite long until VS is responsive again. Sometimes VS freezeses entierly at this point (mabye related to the Ankh plugin)
- Sometimes the Ctrl-Key is kind of locked. Like Caps-Lock but Ctrl-Lock. When this happens pressing X cuts the current line/selection. Pressing Ctrl again releases this Ctrl-Lock state and one can continue editing.
- Setting the "default browser" is only possible with right click on a ".html" or ".aspx" file - even for Silverlight apps
- Quick watch window does not save / restore column sizes. Type column always need to be resized manually to get usable.
- Opening a XAML file in the code editor on some workstations forces Windows 7 to switch to basic color schema (loosing Aero-look etc.). Closing VS2010 brings back Aero of Win7. Switching of Options -> Use Hardware graphic acceleration did "fix" this.
- If one double click a .cs file that contains a class inherit from a control the designer-view is shown with the message that there is no designview and one should switch to code-view. Why not open code view immedietally. Nobody needs a designer telling to switch to code-view. Hapens since at least VS2005
- Project Properties > Resources: There is split-button to change the type of resources shown (Images, Strings, etc.). The large part of the button does not do anything while only the little arrow at the back can change the view.
Expression Blend 4:
- One can not choose the browser to at all. The default browser is taken when running the project.
- XAML-Texteditor does not support Shift-TAB and a lot other basic functionallity. VS XAML-Editor does most of it. Seems Blend and VS Texteditors are developed independently (deja-vu with LinqToSql/EF).
- XAML-Texteditor does not support folding (collapse & expand of XAML blocks)
- XAML-Texteditor does not support highlighting of matching bracked / open/close-tags
- If multiple files have changed in eg. Visual Studio one will be asked for every single file if it should be reloaded. These is no "Yes for all" or "Don't ask again".
- Documentation system is not really integrated in VS anymore. Means it open browser-tabs on and on and can not be canceld with a quick hit on the ESC-key.
- Documentation often does not find help on a framework class.
- Documentation content on a lot of framework-classes s not very usable since years (eg. "The method SendEmail() sends an email.")
- Login can not be saved and therefore have to be entered manually every time VS is started. Same applies to Expression Blend 4.
- Resolving conflicts window: Does not remember the "Navigate conflicts only"
- Resolving conflicts windows: General usabillity is not really good - our devs have problems with this window regulary
- Pending changes > Tab "Sourcefiles": Does not remember the comments splitter distance and therefore allways makes an about 50px small comment textbox
- Pending changes > Tab "Conflicts": "Buttons" don't really look like buttons and therefore must be searched / discovered by devs.
- Pending changes > Tab "Sourcefiles": There is no functino like "Revert unchanged files" as known from other SCC's. So one needs to diff and revert every file manually that did not change at all.
As one can see a lot of work should be done for SP1 :-(
Lots of great feedback (even though the number of items makes me go :(, but that isn't your fault) To address specific ones I have knowledge on:
>in context menus even if there is enought space on screen is a no-go (eg. Solution Explorer or Texteditor context menu)
>Developing Silverlight 4 apps regulary results in Windows Bluescreens of death
I have never seen this myself, is there more to the repro? Do you really means Windows Bluescreens? What OS specifically (XP, Vista, Win7)? I haven't seen a bluescreen in ages, last time was when my laptop memory was dying, I have never seen VS cause a blue screen.
> Exceptions in Silverlight are not integrated in a really usable way. XAML-Parser throws "an exception" without further information
Have you looked at the Inner Exception property of the thrown exception? I haven't done a ton of Silverlight development but I know in WPF, and specifically around XAML, the exceptions are generally reflection-type exceptions with their InnerException property set to the 'real' exception in question.
>Search window/toolpanel does not remember its floating size
I believe this was fixed with this:
>There is split-button to change the type of resources shown (Images, Strings, etc.). The large part of the button does not do anything while only the little arrow at the back can change the view.
This is 'by design' in the sense that the 'large part' of the button is simply showing what type of resource is currently being shown, so clicking on it doesn't do anything as that kind of resource is the one currently being shown. This is arguably confusing but I am not sure what other behavior you would expect from clicking on that area of the button.
Thanks a lot for your nice response. First of all I must say that I was impressed, when I saw that Microsoft (you?) moved the whole basement of such a complex peace of software to WPF. I also really like new stuff like the new Extensions etc. But yes, there are issues as I wrote but not everything is bad/worst ;-)
Thanks for the hotfix-links. Just found them the day before and installed'em. Can not yet tell whether it really solves the problems here. Specially the search window (Ctrl+F) looks still wide but did not took a closer look at it yet if the previous settings get saved or not.
Also generally we use the latest version of Resharper (version 5.1 I think). Maybe some of the issues above are related to R# or the combination of VS2010+R#. Its hard to tell that. Are you using R# as well?
Yes, I mean the Windows Blue Screen of Death. On my desktop it happens about 2-3 times now while developing SL4 apps over the last three months. My boss (chief-developer) got them a lot more (also while developing SL4) then me. Sometimes multiple times a day (at least that's what I heart over his desk :) The system bluescreens so far only happen when developing/debugging SL4 apps and it happens on more then one workstation. Maybe its related to the XAML-editor/-designer/-integration. I don't know how to force/repo that bluescreen. It just happen from time to time but it seems to be related to SL4 development using Win7. Before using VS2010 for SL4 development we did not had bluescreens for ages either.
Please spend some time to the XAML-editor. Its slow and shaky. Even if we are in text-mode only it shows "Reloading ..." in partially painted panel at the bottom what make me think it tries to keep the design-view in sync even in text-only mode. Maybe that related to the huge lags after killing/ending the debugger and returning the VS. Ending/killing the debugger in SL4 apps-debugging takes about 5-10 seconds everytime until VS2010 is responsive again. Even if only text-documents (XAML-source, C#-source, etc.) are open. During this lag the VS2010 panels (eg. solution explorer) are only painted partially.
The most simple solution is to drop down the resource-kind-list even if one clicks on the large part of the button. Means the large part still shows what it shows today but when a user klicks on it it does exactly the same as clicking on the little arrow button. Other solutions would be something like a list of exclusive (only one down) toggle buttons, or tabs per resource-kind or maybe a combobox with fix list (in winform-terms).
Hope this helps. Let me know if you need more information.
marc [at] encodo.com
Just a little addition:
We did not yet do a lot in WPF so I don't know if the above issues really only apply to SL4 or happen in WPF as well.
Oh and another addition:
The most important issue besides the bluescreen is the freeze of the IDE. When developing SL4 apps it happens multiple times a day the entire IDE completely freezes. Clicking in VS2010 makes the entire VS2010-form fading white-transparent. This happens in many situations like switching task (Alt+Tab) away from back to VS2010 or simply using the mousewheel to scroll the code editor and other situations. Sometimes it freezes every few minutes and sometimes it does not freeze for half a day or so. If that happens one can only kill the devenv.exe process (Win7 does it after some time anyway by showing the system-message box we know from other software :) ).
If I should do a wild guess I'll vote for a UI-threading-dead-lock situation as the CPU and harddisk dont do much while the IDE is freezed. Maybe R# in involved in such a thread-locking issue as well. As I said: just a wild guess ;-)
This isssue is propably the worst and most painfull for daily SL4 development. If I have to choose only one issue to fix it would be this one ;-)