I suggest you ...

Store project related information in .vs folder to avoid polluting the root of the project

2,866 votes
Vote
Sign in
Check!
(thinking…)
Reset
or sign in with
  • facebook
  • google
    Password icon
    I agree to the terms of service
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    Maxime RouillerMaxime Rouiller shared this idea  ·   ·  Flag idea as inappropriate…  ·  Admin →
    under review  ·  Visual Studio TeamAdminVisual Studio Team (Product Team, Microsoft) responded  · 

    We think this is a fantastic suggestion and have already begun moving project related files into a “.vs” folder at the root of the solution. You can check it out in the latest CTP of Visual Studio 2015. So far, we have moved the .SUO file and the VB/C# compiler IntelliSense database files to the new location. All new project specific, machine local files will be added to the new location too. We plan on taking this even further in future releases and are investigating how to improve the directory structure of build output and other existing files that can clutter the source tree.

    If you are upgrading an existing solution you may need to clean up the old files at the root of the solution. We don’t delete them to ensure your settings are not lost if you round trip the project with earlier versions of Visual Studio. Thank you for the suggestion!

    You can find the latest Visual Studio 2015 CTP here: http://www.visualstudio.com/en-us/news/vs2015-vs.aspx

    Will Buik,
    Visual Studio – VS IDE Project and Build Team

    26 comments

    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      Submitting...
      • SolarBrainsSolarBrains commented  ·   ·  Flag as inappropriate

        ADMIN: Thank you for listening us.

        Future suggestions:
        Moving "bin" and "obj" folders into a separate folder (.build) too would be nice.
        Also, I would rename "packages" to ".packages".
        So the unified rule will be like that: Only own user source files are placed in directories named with Pascal case. That will make a strict distinction which helps to find needed file quickly (permanent requirement).

      • Magnus MårtenssonMagnus Mårtensson commented  ·   ·  Flag as inappropriate

        There is one more detail that I'd like to add to this story! It's the fact that there is one setting I can think of, maybe more, which I would love to be able to share as a project policy. The setting I am thinking about is the "use tabs/insert spaces" and "tab indent size". Having different settings within a projects members can cause serious annoyances regarding how code is formatted in the code files. One file with project policy settings should be able to be checked in along with the .sln file to contain, manage and share these settings! Whenever such a file is present those policies would override VisualStudio settings on the individual developers installation. Thanks!

      • Brian JimdarBrian Jimdar commented  ·   ·  Flag as inappropriate

        Whoa, I just created a project with VS2015 CTP5, and I got a .vs folder next to my solution file. Looks like this is happening!

        Good suggestion and good job Microsoft for listening to users. Please, please let's this stick around for RTM.

      • Gpower2Gpower2 commented  ·   ·  Flag as inappropriate

        This is definitely an excellent idea!
        It could enhance the code portability and you could distribute only the source code so much easier!

      • Florian S.Florian S. commented  ·   ·  Flag as inappropriate

        Great idea! Naming it ".vs" is appropriate as per convention, directories starting by a dot are intended for configuration and metadata stuff like that (except for the Windows world, but it's never too late to adopt). Just look at how a Git repository works. Using the dot helps a lot to avoid confusion or name collision with user-made folders, and will keep it at the very top in directory listings.

      • Dts mDts m commented  ·   ·  Flag as inappropriate

        This would be super useful.
        It would make all the bookkeeping operations on the folder structure much much easier, e.g. backup, ensure clean builds etc.
        This should include tfs binding information. Actually, anything that is not "pure code" related should go in there.

      • YarikYarik commented  ·   ·  Flag as inappropriate

        Folder with the name starting with a dot is something from a *nix world. Need a better name.

      • Edward CooperEdward Cooper commented  ·   ·  Flag as inappropriate

        I'm out of votes but this is probably one of the best, sensible ideas I've seen.

        Although I disagree with the idea of storing it in the %APPDATA% folder (See Chad Levy's comment), there could be an option to turn on the feature for those who want it.

        The only thing I dislike is having to go through all the "One way Upgrades" that Visual Studio forces upon you again.

      • Alessio TAlessio T commented  ·   ·  Flag as inappropriate

        Great idea! Even if I'm out of votes, this is a virtually ***.

        PS: %appdata% is an horrible suggestion.

      • dkonigsbach@drsys.comdkonigsbach@drsys.com commented  ·   ·  Flag as inappropriate

        Totally great idea. I'd vote for it if I had any left.

        Note: I also disagree with putting it under %APPDATA%, for the same reasons @Chad Levy gave.

      • Chad LevyChad Levy commented  ·   ·  Flag as inappropriate

        @David Karlaš: "Or even better store inside %APPDATA%..." I disagree. Doing so ruins the portability of a solution outside of src control. I'm sure I'm not alone in using multiple machines with dropbox/box/bittorrent sync for dev. Having to dig around appdata and trying to sync between machines sounds unnecessarily painful.

      • Basarat AliBasarat Ali commented  ·   ·  Flag as inappropriate

        This would be consistent with what IntelliJ IDEA (and family : webstorm, pycharm, rubymine etc) does. It stores its settings in `.idea` folder. Makes it easy to .gitignore

      • PeterPeter commented  ·   ·  Flag as inappropriate

        Nice... and it would "blend in" with .git... Also, the upgrade file / folders should be placed there as well (anything IDE related). If this catches on then maybe Resharper would put its files under .vs/Resharper or maybe .resharper...

      ← Previous 1

      Feedback and Knowledge Base