Stop polluting My Documents with Visual Studio folders
This suggestion is migrated to Developer Community. Please use below link to view the current status.
Visual Studio creates a new folder in My Documents with every version. Over time, if the user requires many different versions of Visual Studio installed, this pollutes the folder. My Documents is supposed to be where I keep, well, my documents.
This even goes again Microsoft's own software design guidelines, if I remember them right.
Most of the subfolders should be moved to the existing AppData Visual Studio folder. The Projects subfolder has no reason to exist, since you might as well default the My Documents folder when creating new projects (the user can obviouly change this at the time, it's just a default location, as with any other app.)
We’ve begun work on this and are considering changing the default location for new projects to C:\\USERPROFILE\Source\repos. Would this be a reasonable change to address the problem of “clutter” in the Documents folder? This is currently the default for cloned repositories, so all projects would be in a singular default location.
As well, you still retain the option to change the default if you’d like.
Program Manager – VS IDE
Man na commented
The problem isn't particular to this issue. It's a systemic problem created by Microsoft software design philosophy which is fundamentally broken and exhibited on all their products. Interestingly, some of Microsoft's most usable software was written on the Mac.
On one hand, it offers so many dizzying configuration options that it becomes overwhelming. The options dialog, the context menus and the main menus in VS, for instance, have so many options that you often wish there was a find facility. Of course, what you're usually looking for is deeply nested in some hierarchy and you're often presented ambiguity as to whether the option is correct.
On the other hand, Microsoft tries to use "intelligence" to do what it thinks is best for you. Often what it does for you is exactly what you don't want it to do. We want to organize information in a way that makes sense for us wether we're doctors, lawyers, gamers or software developers. Microsoft pulls a BOB and assumes we want to store all our documents in the My Documents folder.
Even worse, Microsoft tries to prevent us from hurting ourselves by hiding things from us. I remember explaining to a crying PHD student that all their mail correspondence was lost even though they were vigilant in backing up their drive. Apparently, the backup software they were using didn't backup files marked as hidden and their Mailbox files were deeply nested in their profile inside a hidden directory.
No! A project isn't just "Source", it's a "Project"! That's whay it's called a "Development PROJECT".
Source is a specific collection of project files and should not in any way be a base folder name for "Projects". Neither is it a "Repo", "Repository" or anything else directly related to code-only content.
You do know that software development contains more categories than "I only write code" don't you? Stop pandering to a narrow sub-section of the amateur development community and start considering the bigger picture.
The graphics I create are not "Source" files and they do not belong inside a "Source" folder. The audio files I create are also not "Source" files and do not belong inside a "Source" folder. They are PROJECT RESOURCES and they belong inside a PROJECT folder... not Source. The code I write belongs in a Source folder and hey... that's where I put it... INSIDE THE PROJECT'S FOLDER!
Project -> Source,
Project -> Resources
See how that works in a real project?
Can someone help here, why do i get these folders created in my apps project folder ?
Visual Studio 2017/StartPages
Visual Studio 2017/ArchitectureExplorer
Is this new never noticed it before ?
Likewise could we please have an option to change the location of the hidden ".vs" folder that is created in C# project folders? This would make it easier to exclude the ".vs" folder from backups.
Please note that when backups are UPLOADED to an online service, the file size is significant, and the backup uploads much faster when the ".vs", "bin", "obj" folders are excluded. Temporary files and output files don't need to be backed up, therefore should be stored separately. Thanks for considering it.
I wish we could also change the default location of the build output folders (the folders named "bin\Debug" and "bin\Release" and "obj" that are created as subfolders of a C# project folder). When doing daily backups, the build output folders don't need to be backed up, so backup would be easier and faster if we could move the build output folders to somewhere outside of the project folders.
Joseph Nunn commented
Ok everyone hold on, I figured out how to change where VS stores the template directories. Follow this link it shows where they are:
Joseph Nunn commented
I'm also running into this problem, as I relocated the special Documents folder to another disk with much larger room. So what does Visual Studio do? it creates a new Documents folder in my account directory on the root drive which shadows my relocated special Documents, making it impossible to navigate to. VS does not even use the special folder location but basically hard codes where the template files should go, moronic!
The problem is not the projects folder but all the other folders that probably should go under user/AppDat
Sometimes I have the impression that the VS Team didn't get the memo about Windows XP not being the latest and greatest anymore.
No - this path is NOT better. Big difference between where we keep our code and where VS keeps housekeeping folders such as 'Templates', 'Setings', and 'Projects'
How about you just provide a setting(s) so that each person can stash the **** where they want? Why assume any location? The moment you do, some jack-wagon like me is going to ***** that you guess wrong yet again.
John Thompson commented
Personally, I created a folder under <User> called Development that I use for my project files so that so that I have something similar to My Documents, My Music, My Pictures, etc. specifically for development. I too would like to move any related VS configuration to that location. I'm currently still on Ultimate 2013 so I don't know if that's a change in 2015/2017. Hope to migrate soon but as a Solutions Engineer, scripter, developer, I was relegated to what license we had at the time.
Also the IISExpres, SQL Management Studio, Visual Studio and OneNote folders should go away.
Why do I automatically get all these empty placeholder folders? Does noone at Microsoft enjoy a clean structure themselves?
The IISExpress casues a nightmare with technologies like OneDrive and windows built in profile/folder sync. The IISExpress folder is actually more of a temp folder with all its continous logging etc.
Now if Microsoft stops forcing a structure into my data folder, other vendors might also stop creating folders for me there. After all, the documents folder should be mine to control the structure of.
I totally agree, please get these out of the My Documents folder! I have installed 5 or 6 different versions and since those build everything into the My Documents I keep pulling forward old folders/files and seemingly everytime I delete them and try to reset all of the folders to a new location, something will go back and recreate those folders and start throwing files back out there.
I suggest creating a setup tool that allows setting the locations of all of those folders and run as part of install or any time after install to reconfigure. My problem is that my employer has chosen to setup folder redirection on my entire user folder, so when I have connectivity issues with the network, login from home before connecting to VPN, or WiFi in the building drops out Visual Studio and SQL studio become useless, and even when connected it takes forever on startup. I want to be able to easily change everything to a local drive without having to dig through multiple options menus and registry editor.
Changing the default location for new projects is COMPLETELY MISSING THE POINT. The issue isn't with project folders because that's already user-configurable. The issue is with the stuff VS WON'T .allow you to change. I use OneDrive for all my personal files because I can access them from anywhere (and more to the point, so can my NAS drive which runs daily backups). I don't want this stuff polluted with stuff that belongs in application data, not user data and certainly doesn't belong in my backups.
It's grotesque that the VS team don't seem to live in the 21st century and are so far behind the curve on what the problem even is. How on earth do MS organise their code projects that this stuff is still hard coded into VS?
Hi guys, can You just provide some registry keys so I can change the idiotic behaviour of creating folders:
Visual Studio 2017/StartPages
Visual Studio 2017/ArchitectureExplorer
This is so idiotic and kills the integration of documents with OneDrive for business.
This only shows that VS devs are 20 years behind current MS
That location would seem good to me.
I'm trying to avoid it defaulting to redirected company network drives (v. slow)
We're migrating the company to OneDrive and using that for redirecting default folders. When re-directing there the c# folder name is illegal. so get it out of 'My Documents' get the IT Pro/Admin votes.
Brady Healey commented
So now we have C:\Users\<User>\Source\, which I don't like but oh well. I've changed it to my own projects folder so no harm. However we still have the junk project/item templates which should be in AppData really. Worst of all, visual studio still makes the stupid 'StartPages' folder and there's no option to change it. The folder doesn't even contain anything. Problem not fixed. You'd think MS of all companies would be respecting the purpose of various windows directories the most. Unreal.
What about work also on clean installation on only one drive. We have small SSDs, we're not millionaires. And It can be done, since I have two PGP mounted drives to circumvent this.
Søren Nguyen Boisen commented
To me the important changes are:
1) Split the content so projects go to one location and VS cruft like snippets go to another.
2) Allow user to override default location of project folder.
3) Use the same name regardless of VS version to avoid future cruft.
Brian Drennan commented
I vote for the default for new projects to be under %USERPROFILE%\Source or %USERPROFILE%\Source\Repos by default (but obviously to the user's default folder when set). For settings docs (non-projects, snippets), I like the idea of using the AppData folder. My Documents is the absolute worst when your organization decides to employ folder redirection with OneDrive... Sync errors for days! I wish IISExpress was easier to configure to change this as well (I just gave up).