Visual Studio open files question

一世执手 提交于 2019-11-27 19:40:30

Simply delete the .suo file. It contains the list of open files.

A bit of research turns up the fact that you can do it with a macro:

  • Create a new macro (or use an existing one). You should see a module called EnvironmentEvents in Macro Explorer. (For details, see here.)
  • Open the EnvironmentEvents module.
  • Put in this code:

    Public Sub CloseDocsOnExit() Handles SolutionEvents.BeforeClosing
        DTE.ExecuteCommand("Window.CloseAllDocuments")
    End Sub
    
  • Save and Build the macro.
  • Open a whole bunch of documents in your solution, then close Visual Studio.
  • Yay! No more open documents!
  • (Note: Despite that it says SolutionEvents, it also works if you're working on a project that doesn't have a solution.)

I never realized how much that annoyed me as well! I haven't been able to find a setting, but in Options > Environment > Keyboard you can bind a shortcut to Window.CloseAllDocuments. ALT+X was unbound for me so I just used that. I'm interested if there's some hidden setting to automatically do this on solution exit though (or load).

Edit: Totally read the question wrong at first - ignore my first (now gone) answer. :)

I changed the keyboard mapping for CTRL-SHIFT-C from bringing up the Class View to closing all document windows - something I use several orders of magnitude more often - and then I just clear my workspace before closing a solution.

Try the following:

  1. Close the program after closing all files.
  2. Make a copy of [whatever].suo
  3. Open the solution again, open some files, and exit.
  4. Copy (don't move) the old .suo file over the one that was just generated.
  5. Make the .suo file read only.

If you have a repository you might want to check that file in.

I suggest this because I was having the reverse problem, where it wasn't opening my old files automatically, and the cause was a .suo file that had been checked into the repository and was (for some reason) not being overwritten by Studio. The file wasn't even write protected.

I was hoping for something a little more automatic. VS will create a new .suo file every time the project is saved. So I would have to delete that file every time I open the project. I also don't want to have to remember to close all the files before closing VS.

Other IDEs that I have used have similar functionality, but also make it rather simple to turn on/off.

Thanks for your help.

Or you can close all open document from the Window menu before closing VS.

In Visual Studio 6.0 (VC++), the procedure is slightly different.

Delete the .ncb file (located normally in the same place as your .dsp or .dsw files).

The only way works for me is : change the project location and again reopen the solutions form there. :)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!