visual studio能够为不在解决方案中的多个单独文件保存状态吗?

时间:2011-08-03 21:13:36

标签: visual-studio visual-studio-2010

我经常使用Visual Studio编辑独立文件(不在项目中)。所以通常我会说打开6个文件(3个html文件,1个css文件,2个js文件等)

问题是每当我关闭visual studio时,我必须再次找到并重新打开所有7个文件(这真的很麻烦)。

我们是否有办法保存状态文件中的所有7个文件,只是当我打开状态文件时,它将打开所有7个文件命令我上次将它们保存为?

如果您使用过Notepad ++,您将会知道我在说什么,基本上当我们关闭Notepad ++并打开它时,先前打开的文件会保持打开状态,这样的某些功能。

2 个答案:

答案 0 :(得分:1)

这是两个Visual Studio宏方法,它们应该完全符合您的需要。

SaveAll()保存所有打开的文件,并将名为status.txt的文件写入C:其中所有打开的文件都以分号分隔(完全独立于项目/解决方案):

Sub SaveAll()

    Dim text As String
    Dim i As Integer

    For i = 1 To DTE.Documents.Count
        text += DTE.Documents.Item(i).FullName + ";"
        DTE.Documents.Item(i).Save()
    Next i

    My.Computer.FileSystem.WriteAllText("C:\status.txt", text, False)

End Sub

下次,当您想要打开这些文件时,只需调用OpenAll()即可。它读取状态文件,拆分以分号分隔的文本,并打开所有文件:

Sub OpenAll()
    'Open status file
    Dim text As String
    text = My.Computer.FileSystem.ReadAllText("C:\status.txt")

    Dim files As String()
    files = text.Split(";")
    Dim file As String
    For Each file In files
        If file.Length > 0 Then DTE.ItemOperations.OpenFile(file)
    Next
End Sub

根据您的需要(甚至添加文件对话框)修改它很容易。感谢您提出这个问题,它让我再次专注于VS宏IDE,看看它有多强大。

答案 1 :(得分:0)

您可以使用临时或临时解决方案来添加这些文件,当您完成这些文件后(几天或几周或其他任何时间),只需将其删除即可。解决方案文件可能有点多,但你不需要做任何额外的工作。

否则,请查看最近打开的文件列表,以便让它们在那里停留更长时间。

或者为此目的使用其他编辑器。我对所有非解决方案/非项目相关文件使用Notepad ++。如果在不关闭单个文件的情况下关闭它,则下次打开时它们将保留在编辑器中。它的重量也比VS快,重量轻。