IVsTrackProjectDocuments2 Интерфейс

Определение

Используется проектами для запроса у среды разрешения добавить, удалить или переименовать файл или каталог в решении.

public interface class IVsTrackProjectDocuments2
public interface class IVsTrackProjectDocuments2
__interface IVsTrackProjectDocuments2
[System.Runtime.InteropServices.Guid("53544C4D-6639-11D3-A60D-005004775AB1")]
[System.Runtime.InteropServices.InterfaceType(1)]
public interface IVsTrackProjectDocuments2
[<System.Runtime.InteropServices.Guid("53544C4D-6639-11D3-A60D-005004775AB1")>]
[<System.Runtime.InteropServices.InterfaceType(1)>]
type IVsTrackProjectDocuments2 = interface
Public Interface IVsTrackProjectDocuments2
Атрибуты

Комментарии

Используйте IVsTrackProjectDocuments2 интерфейс для запроса разрешения из среды для добавления, удаления или переименования любого файла или каталога в проекте и (если предоставляется разрешение) для информирования среды о завершении этих действий. Эти вызовы необходимо выполнить, даже если проект не поддерживает систему управления версиями. Необходимо использовать IVsTrackProjectDocuments2 для всех файлов, а не только для основных файлов. Например, если имеется форма с RESX-файлом и другими файлами, необходимо сообщить среде о всех файлах. Не вызывайте методы IVsTrackProjectDocuments2 в проекте, открытом или закрытом. Любая сущность, которая требует сведения, предоставленные IVsTrackProjectDocuments2 при запуске, может ожидать OnAfterOpenSolution события и выполнить итерацию по решению, чтобы найти необходимые сведения. При завершении работы эти сведения не требуются. Доступ к IVsTrackProjectDocuments2 предоставляется из SVsTrackProjectDocuments службы.

Для каждого вызова в IVsTrackProjectDocuments2 существует два метода: OnQuery* метод и OnAfter* метод. Вызовите соответствующий OnQuery* метод, чтобы запросить разрешение на добавление, удаление или переименование файла или каталога в проекте. Из этого вызова вы можете получить уведомление о том, что операция не может быть продолжена. Например, если система проектов Enterprise Framework и шаблон (EFT) не позволяет пользователю добавить файл, который не соответствует политике, то проект должен быть подготовлен для того, чтобы не выполнять добавление, удаление или переименование. Если разрешение предоставлено, проект должен выполнить действие Add, Rename или Remove, а затем вызвать соответствующий OnAfter* метод, чтобы сообщить среде об изменениях, внесенных в проект.

IVsTrackProjectDocuments2Метод также применяется к каталогам, но вызовы каталогов являются необязательными. Если в системе проекта имеются сведения о каталоге, предоставьте эти сведения в среде с помощью этих методов. Однако если эта информация отсутствует в системе проекта, среда выдаст ее.

Примечание

Все вызовы каталогов являются необязательными. Однако если вызвать один из OnQuery* методов каталога и вызов был успешным, то необходимо вызвать соответствующий OnAfter* метод каталога.

IVsTrackProjectDocuments2 доступна с помощью SVsTrackProjectDocuments службы.

Примечания для тех, кто реализует этот метод

Реализован средой. Этот интерфейс является механизмом для сбора сведений о добавлении, удалении или переименовании файла или каталога в проекте.

Примечания для тех, кто вызывает этот метод

Вызывается проектами для запроса среды в отношении того, можно ли добавить, удалить или переименовать файл или каталог в решении. Для всех действий, утвержденных средой, соответствующий метод затем вызывается после завершения действия. IVsTrackProjectDocuments2 должен использоваться всеми проектами, независимо от того, поддерживают ли они систему управления версиями.

Методы

AdviseTrackProjectDocumentsEvents(IVsTrackProjectDocumentsEvents2, UInt32)

Этот метод позволяет клиентам получать уведомления о событиях документов проекта.

BeginBatch()

Этот метод запускает пакет вызовов метода IVsTrackProjectDocuments2. onafter *.

EndBatch()

Этот метод Завершает пакет, запущенный методом BeginBatch(), и отображает любой пользовательский интерфейс, созданный внутри пакета.

Flush()

Этот метод отображает пользовательский интерфейс для вызовов IVsTrackProjectDocuments2, реализованных без завершения пакета.

OnAfterAddDirectories(IVsProject, Int32, String[])

Этот метод вызывается проектом после того как каталоги был добавлены в проекте.

OnAfterAddDirectoriesEx(IVsProject, Int32, String[], VSADDDIRECTORYFLAGS[])

Этот метод вызывается проектом после того как каталоги был добавлены в проекте. Этот метод - эквивалент OnAfterAddDirectories(IVsProject, Int32, String[]), но он также принимает флаги.

OnAfterAddFiles(IVsProject, Int32, String[])

Этот метод вызывается проектом после того как файлы был добавлены в проект.

OnAfterAddFilesEx(IVsProject, Int32, String[], VSADDFILEFLAGS[])

Этот метод вызывается проектом после того как файлы был добавлены в проект.

OnAfterRemoveDirectories(IVsProject, Int32, String[], VSREMOVEDIRECTORYFLAGS[])

Этот метод вызывается проектом после удаления каталогов из проекта.

OnAfterRemoveFiles(IVsProject, Int32, String[], VSREMOVEFILEFLAGS[])

Этот метод вызывается проектом после удаления файлов из проекта.

OnAfterRenameDirectories(IVsProject, Int32, String[], String[], VSRENAMEDIRECTORYFLAGS[])

Этот метод вызывается проектом после того как каталог был переименован в проекте.

OnAfterRenameFile(IVsProject, String, String, VSRENAMEFILEFLAGS)

Этот метод вызывается проектом после того как файл был переименован в проекте.

OnAfterRenameFiles(IVsProject, Int32, String[], String[], VSRENAMEFILEFLAGS[])

Этот метод вызывается проектом после того как файлы был переименованы в проекте.

OnAfterSccStatusChanged(IVsProject, Int32, String[], UInt32[])

Этот метод вызывается заглушкой системы управления версиями для информирования прослушивателей, что состояние системы управления версиями изменилось. Этот метод не следует вызывать.

OnQueryAddDirectories(IVsProject, Int32, String[], VSQUERYADDDIRECTORYFLAGS[], VSQUERYADDDIRECTORYRESULTS[], VSQUERYADDDIRECTORYRESULTS[])

Этот метод вызывается проектом, чтобы определить, можно ли добавить каталоги в проекте.

OnQueryAddFiles(IVsProject, Int32, String[], VSQUERYADDFILEFLAGS[], VSQUERYADDFILERESULTS[], VSQUERYADDFILERESULTS[])

Этот метод вызывается проектом, чтобы определить, можно ли добавить файлы в проект.

OnQueryRemoveDirectories(IVsProject, Int32, String[], VSQUERYREMOVEDIRECTORYFLAGS[], VSQUERYREMOVEDIRECTORYRESULTS[], VSQUERYREMOVEDIRECTORYRESULTS[])

Этот метод вызывается проектом, чтобы определить, можно ли удалить каталоги из проекта.

OnQueryRemoveFiles(IVsProject, Int32, String[], VSQUERYREMOVEFILEFLAGS[], VSQUERYREMOVEFILERESULTS[], VSQUERYREMOVEFILERESULTS[])

Этот метод вызывается проектом, чтобы определить, можно ли удалить файлы из проекта.

OnQueryRenameDirectories(IVsProject, Int32, String[], String[], VSQUERYRENAMEDIRECTORYFLAGS[], VSQUERYRENAMEDIRECTORYRESULTS[], VSQUERYRENAMEDIRECTORYRESULTS[])

Этот метод вызывается проектом, чтобы определить, можно ли переименовать каталоги в проекте.

OnQueryRenameFile(IVsProject, String, String, VSRENAMEFILEFLAGS, Int32)

Этот метод вызывается проектом, чтобы определить, может ли файл быть переименован в проекте.

OnQueryRenameFiles(IVsProject, Int32, String[], String[], VSQUERYRENAMEFILEFLAGS[], VSQUERYRENAMEFILERESULTS[], VSQUERYRENAMEFILERESULTS[])

Этот метод вызывается проектом, чтобы определить, можно ли переименовать файлы в проекте.

UnadviseTrackProjectDocumentsEvents(UInt32)

Этот метод не позволяет клиентам получать уведомления о событиях документов проекта.

Применяется к