Reset Visual Studio 2022 Extension to its default settings - visual-studio

I am the user (not the developer) of a Visual Studio 2022 extension which correctly uses the built-in WritableSettingsStore to store its settings (I verified this by looking at the extension's source code).
After extensively playing around with the extension's settings, I would like to restore it to its original state. Uninstalling and reinstalling didn't help, my modified settings were retained. I also don't want to reset all my Visual Studio settings or remove my complete user profile, I just want to reset this one extension.
Hence my question:
Where does the WritableSettingsStore physically store a Visual Studio Extensions's settings?

It's stored in the same place where Visual Studio stores its own settings: in Visual Studio's private registry hive.
Open the private registry hive with regedit.exe as described in the following question. Note: The correct path for Visual Studio 2022 is %LocalAppData%\Microsoft\VisualStudio\17.0_71c0f998\privateregistry.bin.
Access Visual Studio 2017's private registry hive
The extension's settings are stored in the subkey Software\Microsoft\VisualStudio\17.0_71c0f998\NameOfTheExtension. Remove that key to reset the extension to its default settings.
Don't forget to unload the hive as explained in the link in step 1.

Related

Visual Studio 2019 – Comparing settings to default settings

Visual Studio 2019 can be configured in many ways via settings. Is there a simple way to find out which settings differ from the default settings?
I’m looking for a similar method as Open Settings (JSON) in Visual Studio Code. Open Settings (JSON) in Code only contains the options which differ from the defaults.
What I have tried is the comparison between the exported settings from a new workstation and from an existing one, but the exported xml files contain too much noise.

Visual Studio files association in Windows

In Windows Explorer when I double-click on any Visual Studio file (*.cs, *.csproj, etc.), it's opening an old version of VS instead of the latest one (VS 2017). And VS has associations with too many file types.
How can I change the default Visual Studio (for all those files that VS can handle)?
There is a similar old question about Visual Studio 2008 (Move file associations from Visual Studio 2005 to 2008) but the solution in there doesn't work anymore (there is no "Restore File Associations" button on the settings of Visual Studio 2017).
Each version of Visual Studio registers itself in the Set Default Programs panel of the Control Panel.
Go to Control Panel\Programs\Default Programs
Then choose Set Default Programs:
In there you can simply choose the Visual studio version of your choice and then click the button Set this program as default in order to associate every file type that VS handles.
Or you might prefer to click the button Choose defaults for this program to review the current associations of those file types and change only the ones you want.
Yet another in a long list of previously working-just-fine things which Microsoft have managed totally #$#%# up. If I try to change defaults the 'right' way I get this kind of thing:
i.e. completely ignored. The only way I've managed to solve it is by removing the file association entirely through the registry. Let's take .asm as an example:
Open Registry Editor / "regedit.exe"
Navigate to HKEY_CLASSES_ROOT\.asm\OpenWithProgIds
Delete any Visual Studio values you see
From there, you can (finally) open files with whatever you choose instead of having the association clamped to Visual Studio:
For the record, I believe this to be a problem with Windows 10. Not with Visual Studio. See: https://answers.microsoft.com/en-us/windows/forum/windows_10-files/cant-change-default-programs-in-windows-10/229fc3a9-25c9-433b-a333-5806bc5090db
On the file you will always open with vs17, click right and choose open with and there choose another app. On win10 it pop out a dialog with some proposals. If vs17 is there, choose your favorite and activate the always open with. then ok and your done.

How to silently provide initial settings for Visual Studio

I'm looking for a way to provide initial settings for Visual Studio 2017 through a script. Copying a *.vssettings file to the %USERPROFILE%\Documents\Visual Studio 2017\Settings path doesn't work since Visual Studio will rewrite the file on startup while creating a user profile.
There is the /resetsetting switch vor devenv.exe which can be used to reset the settings to a specified .vssettings file, but this will also open Visual Studio IDE.
Is there a way to silently provide initial settings for Visual Studio from a PowerShell script? Or any safe way to detect at which time Visual Studio has created the profile and imported the settings when using /resetsetting, so that the devenv process can be killed?
When using /resetsettings, you could:
Check whether default settings file exists. Get modified date if it does.
Run devenv.exe /resetsettings <filepath> The modified date on the default settings file will be changed to match the file specified.
Check modified date has changed, or file now exists.
Close devenv.exe
I've given this a go; the settings file after step 3 isn't identical to the one specified in /resetsettings, although it's clearly different from the previous default one. I don't know the criteria for which tags are kept.
Related, not a PowerShell solution: A team settings file can be specified by going to Tools > Options > Environment > Import and Export Settings. More info on Enviornment Options.
Note from link: "When applied, these team settings would not override any category not specified in the .vssettings file"

Why is Visual Studio 2010 not saving Environment General settings?

My installation of VS 2010 does not appear to be saving settings in the Environment section (Recent files, show status bar checkbox, etc). Other settings do save properly, though (Auto Recover, etc).
Any ideas?
My Environment:
Windows XP
Visual Studio 2010 Ultimate, Team Explorer, TFS2010 Power Tools
Visual Studio 2008 and 2005 installed as well
Works on my XP laptop. The one difference between the two that I can think of is that I added the VS Theme extension on the workstation that I am having an issue on. Don't know if that fouled anything up in the registry.
When I modify the settings (like the number of items shown in Window menu input), the settings are not saved to the registry (HKEY_CURRENT_USER/SOFTWARE/Microsoft/VisualStudio/10.0/General/WindowMenuItemCount)
The fact that it's not saved to the registry would seem to indicate a larger problem than just VS. I would recommend using a tool like Process Monitor to see if it's attempting to write to the registry. Add a filter for devenv.exe and search for the registry key you're looking for. In this case, immediately after clicking okay after you set the number of "Recent Files - items shown in Window menu" in Tools->Options->Environment->General, you should see a write (Success) in the registry under that key (WindowMenuItemCount).

How do you clear your MRU list in Visual Studio?

I want to clear the list of projects on the start page...how do I do this? I know I can track it down in the registry, but is there an approved route to go?
There is an MSDN article here which suggests that you just move the projects to a new directory.
However, as you mentioned, the list of projects is kept in the registry under this key:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\<version>\ProjectMRUList
and the list of recent files is kept in this key:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\<version>\FILEMRUList
Note For Visual Studio 2015:
The location has changed. You can check out this answer for details.
Some people have automated clearing this registry key with their own tools:
Visual Studio Most Recent Files Utility
Add-in for cleaning Visual Studio 2008 MRU Projects list
PowerCommands for Visual Studio 2008
Features
Clear Recent File List
Clear Recent Project List
Clear All Panes
Copy Path
Email CodeSnippet
Insert Guid Attribute
Show All Files
Undo Close
Collapse Projects
Copy Class
Paste Class
Copy References
Paste References
Copy As Project Reference
Edit Project File
Open Containing Folder
Open Command Prompt
Unload Projects
Reload Projects
Remove and Sort Usings
Extract Constant
Transform Templates
Close All
If you try opening up a project that can no longer be found, Visual Studio will prompt you for permission to remove it from the MRU list. So if you temporarily rename an appropriate top level folder to fake the projects' disappearance, you can get rid of the projects one by one.
In Visual Studio 2015 all the history lists (including search history, file MRU and project MRU) are now located at:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0\MRUItems
You will see a different GUID folder for each list, and a sub-folder called Items in each of them. Find the Items folder that contains the relevant list, and just delete its parent GUID folder.
Visual Studio will re-create the GUID folder together with a new Items child folder, next time it wants to add something to the list again.
I found the MRU editor from Code Project a great tool for that. No problems with it, and it works on 2003, 2005, and 2008.
Note: This answer is specific to Visual Studio 2010.
If you don't want to manually edit the registry, you can use PowerCommands for Visual Studio 2010.
PowerCommands 10.0 is a set of useful extensions for the Visual Studio
2010 adding additional functionality to various areas of the IDE.
The specific command for clearing the registry from the extension is:
Clear Recent Project List This command clears the Visual Studio recent project list. The Clear Recent Project List command brings up a
Clear File dialog which allows any or all recent projects to be
selected.
The PowerCommands can be installed with the Visual Studio extension manager: Tools > Extension Manager > Online Gallery: search for PowerCommands for Visual Studio 2010.
Try Recently Used Files: a free addin for Visual Studio that manages MRU files on a per-project basis:
Supported for VS 2010, 2012, 2013.
For Visual Studio 2012, 2013:
http://visualstudiogallery.msdn.microsoft.com/a61cbd1d-b5a2-490b-a6bb-f0ea3ecf214a
For Visual Studio 2010:
http://visualstudiogallery.msdn.microsoft.com/45283881-5a62-4dc1-8ffb-4cbc02709947
For Visual Studio 2013:
Open the Run dialog (Press Win + R)
type: regedit
navigate to: HKEY_CURRENT_USER > Software > Microsoft > VisualStudio
click 12.0 then the files will show up on the right side.
Look for the "LastLoadedSolution", right click then click Modify
change the value to 0.
This worked for me.
I'm not sure if this solution has been posted somewhere here, but if you have VS 2013 Update 5 you can open start page, and right click project below "Recent" list, and choose "Remove from list". I don't know how about other VS versions, maybe this feature is available.
I had this issue as applied to VS 2017 where you do not have any MRU items in the registry as in the previous versions. The solution was, on the other hand, simple: go to "Tools->Extensions and Updates" and install "Power Commands for Visual Studio". After they have been installed, your File menu will look as shown below.
Just click the menu item to clear the project MRU.

Resources