Visual Studio如何打开文件?

31

是否有可能在不打开上次打开该项目时打开的所有文件的情况下,在Visual Studio 2008中打开一个项目。我习惯于在工作时保持许多文件处于打开状态,因此下次打开项目时,它会(非常慢地)加载一堆我甚至不需要打开的文件到编辑器中。我已经搜索了设置,但找不到停止这种行为的选项。

9个回答

27

只需删除 .suo 文件即可。 它包含了打开文件的列表。


1
在 VS 2017 中,看起来 suo 文件不再与您的解决方案文件并排放置,而是位于根目录下的特殊 .vs 文件夹中。删除这个新的文件对我很有帮助,谢谢! - SelAromDotNet

26

经过一些研究,发现你可以使用宏来实现:

  • 创建一个新的宏(或使用现有的宏)。在宏资源管理器中,应该可以看到名为EnvironmentEvents的模块。(有关详细信息,请参见此处。)
  • 打开EnvironmentEvents模块。
  • 输入以下代码:

    Public Sub CloseDocsOnExit() Handles SolutionEvents.BeforeClosing
        DTE.ExecuteCommand("Window.CloseAllDocuments")
    End Sub
    
  • 保存并构建宏。
  • 在解决方案中打开一堆文档,然后关闭Visual Studio。
  • 耶!不再有打开的文档了!
  • (注意:尽管它说是SolutionEvents,但如果您正在处理没有解决方案的项目,则它也有效。)

这对我也起作用了,谢谢!不过在 Visual Studio 2005 中,命令是:DTE.Documents.CloseAll(vsSaveChanges.vsSaveChangesPrompt)。 - John
值得一提的是,当你在没有解决方案的情况下打开一个项目时,VS会创建一个临时解决方案,因此宏将按预期工作。 - galaktor

5

我之前从未意识到这也让我很烦恼!我没有找到设置的选项,但是在 选项 > 环境 > 键盘 中,您可以将快捷键绑定为 Window.CloseAllDocuments。对于我来说,ALT+X 没有绑定,所以我就用了它。不过我很感兴趣是否有一些隐藏的设置可以在解决方案退出(或加载)时自动执行此操作。


3
请尝试以下步骤:
  1. 关闭所有文件后关闭程序。
  2. 复制[whatever].suo文件。
  3. 重新打开解决方案,打开一些文件并退出。
  4. 将旧的.suo文件复制(而非移动)覆盖新生成的文件。
  5. 将.suo文件设置为只读。

如果您有仓库,请检查该文件。

我建议这样做是因为我遇到了相反的问题,即无法自动打开我的旧文件,原因是一个.suo文件被检入仓库,并且(由于某种原因)没有被Visual Studio覆盖。而且该文件甚至没有写保护。


3

编辑:我一开始完全错误地阅读了问题 - 忽略我之前的答案 :)

我将CTRL-SHIFT-C键盘映射更改为关闭所有文档窗口(我使用的频率高得多),而不是打开类视图,然后在关闭解决方案之前只需清除我的工作区。


2

我希望有一个更加自动化的解决方案。每次保存项目时,VS都会创建一个新的.suo文件,所以我需要在打开项目时删除该文件。另外,我也不想记得关闭VS之前所有的文件。

我使用过其他的IDE,它们也有类似的功能,但打开/关闭功能相对简单。

感谢您的帮助。


0

或者您可以在关闭 VS 之前从窗口菜单中关闭所有已打开的文档。


0
在Visual Studio 6.0(VC ++)中,该过程略有不同。
删除.ncb文件(通常位于与.dsp或.dsw文件相同的位置)。

-1
我唯一有效的方法是:更改项目位置,然后从那里重新打开解决方案。 :)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接