Visual Studio Task Manager
One of the best things about Visual Studio is it's extensibility. The problem is, the more extensions I install, the less stable my Visual Studio gets, the more memory it takes, and sometimes it even takes constant CPU even when minimized. It would be great to have a task manager feature which allowed you to identify the misbehaving extension much easier.
This was a great suggestion.
As per the updates below, we’re delighted to report that Visual Studio 2017 now includes support for detecting and managing poorly-performing extensions. From the Help menu you can choose “Manage Visual Studio Performance” to see extensions that load slowly or impact typing responsiveness. We also proactively detect extensions that are particularly poorly-performing, and prompt Visual Studio users to disable them.
We covet further proposals around improving the performance or reliability of Visual Studio extensions for consideration in future updates – please create new suggestion entries for them so the community can discuss and vote on them individually even now this suggestion is closed.
Thanks for your support,
Tim Sneath | Visual Studio Team
Visual Studio 2015 has become nearly unusable due to the slow loading, sluggish performance, and "timeouts" that plague the latest version of the software. If Microsoft wants developers to continue to use .Net for development of enterprise level software, then the tool used for that development needs to work.
Not all development shops need all of the extensions that can be loaded into Visual Studio. However, many of these tools are interdependent and must be installed in order for Visual Studio to function, resulting in a bloated IDE that uses too much memory and takes several minutes to process simple menu selections. The Visual Studio extensions should be able to be installed independently without worrying that removing an extension will result in error messages on startup and unstable behavior.
VS2008 Pro (all installed) on my machine takes less than a second to load. VS2010 takes 8 seconds, and VS2015 Community takes 12 seconds to load.
What happened to the IDE since you switched to WPF? Install times have ballooned and so have startup times. Don't get me started on the GUI and icon changes.
Tim Sneath [MS] commented
We're investigating this. Not so sure about a Task Manager feature itself, but we recognize the need to provide better telemetry to extension authors, to harden Visual Studio itself against errant extensions, and to make it easier for users to troubleshoot problematic extensions.
In the absence of this feature, we are taking a more active role in going through the telemetry that we receive on product usage; as we identify Watson crashes that are sourced in extensions, we are reaching out to those extension authors directly to help them find and fix bugs in their code.
Task manager in an IDE just makes you stand back a bit, because it's like you're no longer using modes of transportations to types of IDEs you have. Nano would be a skateboard, vim/emacs like a bike, Sublime/Atom/Brackets like a car, and then going all out with Eclipse/Visual Studio/IntelliJ like a cargo ship. It can do anything, but god forbid it actually stops on a dime when you need it to.
It would be nice to at least have an option to unload certain VS extensions for solutions I don't want or will ever need. We use AWS at work, I use Azure at home. I'd like to have the extensions present, but just not loaded depending on which solution I have open.
Anirudh Kumar commented
Shame that even Chrome browser(I know, its not a IDE) has its own extension.
Alex Marshall commented
Please add this! I use a lot of plugins and I'm dying to find out which ones are killing my VS performance.
Too hard to know which extension is causing a problem from now :(
Anze Vodovnik commented
When using Visual Studio in large projects, with various different extensions, it gets really slow - the source of that slowness is hard to discover without painful restarts, disabling plugins, etc. It would make sense, that, as a developer, I can see a "process manager like view" detailing CPU and RAM usage for each (significant) component of VS and running processes, so that I can evaluate what is taking up valuable CPU time.
Kellen Sunderland commented
Visual Studio has a tremendous amount of plugins and extensions. Most serious developers working with the IDE make use of many of them. Although stock Visual Studio continues to improve, these plugins can be absolutely essential for productivity. The problem with plugins in Visual Studio is that it's hard to tell when a plugin is crashing or causing performance issues. If it is clear that a plugin is causing issues, it's sometimes tough to know _which_ plugin is causing issues.
I recommend the Visual Studio team takes some inspiration from anther class of applications which have dealt with this issue well: browsers. Most browsers now put plugins in their own process. They give the users useful information when a plugin crashes, or slows down the browser. The parent browser never crashes when the child process (the plugin) crashes. I'd love it if that was also the case for Visual Studio.
Technical Forum commented
When Visual Studio has plugins like NCrunch or Resharper installed. Startup times are affected on some pc's.
If it is taking a very long time to load, VS should state which plugin is causing the problem and clear the package cache and give option to disable anything that is locking up the solution.
Steven Spyrka commented
Please add an internal TaskManager in Visual Studio only for Visual Studio which displays all the installed and loaded extensions, addins and show how much memory, cpu and disk io they use.
On that way it will be possible to find extensions that slow down visual studio and the overall performance.
Visual Studio itself has partial so poor functionallity so that some extensions are needed, but it is hard to find to one how slows down.
A good example is chrome. It has an internal task manager to see which extensions consume the most resources.
VS crashes all the time, probably cause of extensions. Please add this.
Like in google chrome, i want the same.
Also, extensions should run outside of the Visual Studio process, so that if an extension hangs, it would not take down the whole ide.
There needs to be a way to deal with misbehaving extensions - a Task Manager is one possible approach ...
@kristina Really? You're going to complain about that? Somebody dedicates their time to make an extension which makes your life easier, and gives it to you for free, and you complain that when you update it pops open a webpage which they may or may not get a bit of money from an ad?
Installing a new extension requires a restart of Visual Studio, the amount of time it would take to close a webpage is minimal compared to a Visual Studio restart. Not to mention you don't have to install an update.
@all , I have seen a new kind of spam on Visual studio gallery. I have installed a plugin who tell me to update time to time. update it and they have open the page in web browser. Is microsoft have made a limit for giving maximum update in a week/months.
Rudi Larno commented
At a minimum the VS team should instrument extension points running on the UI thread and measure it. Any (extension) code that has an above average load on the UI thread should be flagged and it should be possible to disable those extensions.
Similar to the IE 'Manage add-ons' that shows load times. I believe a lot of the perceived slowness of VS is due to extensions and to much happening on the UI thread.
Ryan Hoffman commented
@James: How do I know what extensions are misbehaving? I only have a few extensions installed in the first place, and they are all Microsoft released ones! Why would taking extensions out of process have a "disasterous effect on performance"? Google Chrome and Internet Explorer have basically proven you wrong on this.
James L commented
It doesn't work like that. Add-ins run in process. Taking them out of process would have a disasterous effect on performance, and would be a massive piece of work.
The solution is for the extension developers to fix their bugs. In the short term, stop installing so many extensions!