Developing multiple Visual Studio 2010 extensions - visual-studio-2010

Im working on a couple of independent Visual Studio extensions in separate solutions. When I open one of them and launch the experimental instance in the debugger, the other extensions from the other solutions (which aren't open) are loaded as well. There must be a way to only launch one extension in the experimental instance at a time (in particular the one you're currently working on), right?

You can actually create as many experimental instances as you like by using different, arbitrary values of the "RootSuffix" parameter (which will create multiple separate base keys in the registry) but I'm not sure how easy it is to configure VSSDK projects (such as VsPackage ones) to publish to a different VS hive. Probably just a property you set inside each project file. Each experimental instance is completely separate.
So you can run "devenv.exe /RootSuffix MyFirstInstance" and "devenv.exe /RootSuffix MySecondInstance" and each will use separate sets of user extensions. This would result in using the registry keys HKCU\Software\Microsoft\VisualStudio\10.0MyFirstInstance_Config and HKCU\Software\Microsoft\VisualStudio\10.0MySecondInstance_Config, respectively.
They seem to have removed a lot of the documentation for this feature since VS2005, but it all still seems to work.

Not really. When you build and run the extension project in VS, it is actually deployed to the experimental instance of VS, but they're not uninstalled when you finish debugging/running.
Your best bet is to use the script to reset the experiment instance that is provided with the VS SDK. Unfortunately you'll have to do this every time you switch between your solutions.
Look in the start menu for:
Microsoft Visual Studio 2010 SDK\Tools\Reset the Microsoft Visual Studio 2010 Experimental instance.lnk

Related

Is there a way to run two instances of Visual Studio side by side with different extensions and settings?

I would like to spend some time comparing the Visual Studio development experience with and without different combinations of extensions. Specifically I want to establish how much value I am still getting out of Resharper and this involves trying to reproduce the Resharper experience as closely as possible by using alternative extensions, settings and keyboard shortcuts.
Please note I'm aware that there are many discussions on this topic online such as here and here but I would like to test this for myself.
To do this I would like to be able to run two instances of the same version of Visual Studio on the same machine at the same time. One using Resharper and one with an experimental configuration.
I have tried the approach suggested by this answer but I notice that it doesn't seem to prevent some extensions (Ncrunch and OzCode) from appearing in the new instance so I'm suspicious of how much isolation I'm really getting.
Also, as soon as I start up the new instance I'm automatically logged in and my shared profile settings are applied. (I'm willing to set up a test profile for this exercise but it would be a bonus to be able to avoid having to do this.)
Is there a way to accomplish this or is the only real strategy here to use a different profile and a new installation on a different machine?
ReSharper can be installed into experimental instance of Visual Studio, see section "Installing into experimental instance of Visual Studio" here: https://www.jetbrains.com/help/resharper/Installation_Guide.html

Multiple Visual Studio (2012) profiles (addons + settings)

I use Visual Studio 2012 for both C# and C++ development. I also use different extensions depending on the current working project: ReSharper for C# and Visual Assist X for C++.
Is there a way of creating multiple Visual Studio profiles (or installations of the same version) that will use a specific (and different) set of extensions? Currently I have to deactivate/reactivate some manually and it's getting annoying that such a feature doesn't exist (at least something like Eclipse's workspace)
Combine this with different environment setting (e.g.: tabs and spaces settings) for each project and you'll soon get mad. I know we can use different settings files, but it's still annoying to have to re-import a specific .vssettings file each time you open a different project.
Thanks.
Have you considered "Run As" for Visual Studio and use another Windows User Account? That should allow you to disable R# and VisualAssist separately.
There used to be a way to run a Macro to import an exported settings file, but they removed the Macro functionality in VS2012 (sadly). You could write an extension that manages importing different settings I guess.

Uninstalling Sync Framework without breaking Visual Studio

Not strictly programming-related, but I do not know where else to post this question: Is Sync Framework a truly indispensable component of Visual Studio 2010?
From what I read about the Sync Framework, it is a tool that helps developers "synchronize data across multiple data stores," (Quoted text literally taken from Wikipedia's article on Sync Framework) a task that does not seem to be central to Windows, .NET Framework or Visual Studio.
Since none of my programming activities involves anything remotely resembling such a thing as "synchronizing data across multiple data stores," I thought it would be best to uninstall Sync Framework, especially taking into account the fact I am running out of disk space on my Windows dev box. However, when I tried to uninstall Sync Framework, a warning appeared that Visual Studio depends on it, and thus might not work correctly if I uninstall it.
So, without further ado: May I uninstall Sync Framework without breaking Visual Studio 2010?
The Visual Studio project item Local Database Cache uses Sync Framework.
If you're not going to use that project item, then I guess you can ignore the warning.

Disabling Team Foundation Server extensions in VS2010

We're using Visual Studio 2010 (Premium edition if it matters), and pretty happy with it. However, We're never going to use the TFS features that's included in the IDE. (We're using Jira and Subversion, as it's not just Visual Studio that we work with, but also IntelliJ and a couple other IDE's.)
Is there any way to disable the TFS portions of the IDE? It's not a big deal or anything, just for the sake of "keeping things neat."
In Visual Studio 2010, go to Tools->Options In the list, select Source Control. Set your Current source control plug-in: to None
The main "TFS" parts of the IDE are in Team Explorer - Just don't install it.
Anything else you don't want/use, I'd advise you to simply ignore - VS has support for hundreds or even thousands of different things that you will probably never use, and you can't easily "clean" them all away.
In my experience the more you alter your installation of Visual Studio the more problems you will have with it. Every custom Option you set is another thing you have to repeatedly set every time you get a new PC or install a new VS. (Although it has improved a lot since import/export options became available and reliable). I used to spend about half a day setting up a visual studio to "work well", and now I just install it and use it. Ultimately I found that it was easier to just adjust my working practices (e.g. by relearning a few keyboard shortcuts etc) than to try to bend VS to my will.

Per-project source code providers in Visual Studio?

Can I use multiple source control providers at the same time in Visual Studio? Global switch is not enough for my needs (I have one project in SVN, another one in TFS etc.)
VS source control providers are per solution (each VS instance can use its SCP), not per project it seems.
Yes, it can be done. You probably don't want to use multiple source code tools in the same solution (that just seems confusing), but it is possible for two systems to co-exist.
I'm a little less certain whether you can multiple source control plugins at the same time. For example, Visual Source Safe, TFS, and Ankh (I've never tried Visual Studio with any of those combinations). I'm currently working with both Visual Source Safe and Subversion, but while VSS functions specifically as a source control provider, VisualSVN which shows up as a more general add-on.
EDIT: Based on the back and forth in the comments.
Can multiple SCCM tools co-exist in Visual Studio as side-by-side installations? Yes.
Can they be used in the same solution? I've never tried it.

Resources