Sub ListModifiedDocuments()
Dim win As Window = DTE.Windows.Item(Constants.vsWindowKindCommandWindow)
Dim target As Object
' Если текущим является окно Output, использовать его.
' В противном случае с помощью вспомогательной функции
' найти и активизировать это окно.
If (DTE.ActiveWindow Is win) Then
target = win.Object
Else
target = GetOutputWindowPane("Modified Documents")
target.clear()
End If
' Цикл по всем открытым документам. Если обнаружены несохраненные
' изменения, вывести имя документа в окно Output.
Dim doc As Document
For Each doc In DTE.Documents
If Not doc.Saved Then
target.OutputString(doc.Name & " " & doc.FullName & _
Microsoft.VisualBasic.Constants.vbCrLf)
End If
Next
End Sub
На рис. 2.28 показан результат выполнения этого макроса.
Рис. 2.28. Обнаружение измененных документов
Это только один из нескольких десятков полезных макросов, которые содержатся в проекте Samples, поставляемом вместе с Visual Studio 2005 (и в загружаемом коде для этой главы). Чтобы узнать больше о макросах и встраиваемых дополнительных устройствах Visual Studio, обратитесь к соответствующим книгам.
Совет. Многие полезные макросы Visual Studio устанавливаются по умолчанию вместе с Visual Studio 2005. Загляните в группу Samples проводника Macro Explorer, в которой содержатся макросы добавления комментариев, включения и отключения номеров строк, вставки даты и времени, форматирования кода и отладки. Также можно загрузить дополнительные образцы с сайта http://msdn.microsoft.com/vstudio/downloads/samples. Эти образцы могут выполнять все, начиная с автоматизации процесса сборки и интегрирования с Outlook и заканчивая проверкой ошибок в тексте вашего пользовательского интерфейса.
предыдущая следующая страница оглавление
98