Открытие редакторов для открытых документов

Перед открытием окна документа проект сначала должен определить, открыт ли файл в окне документа для другого редактора. Файл может быть открыт в редакторе для конкретного проекта или в одном из стандартных редакторов, зарегистрированных в Visual Studio.

Открытие редактора для конкретного проекта

Используйте следующую процедуру, чтобы открыть редактор для конкретного проекта для файла, который уже открыт.

Открытие редактора для конкретного проекта для открытого файла

  1. Вызовите метод IsDocumentOpen .

    При необходимости этот вызов возвращает указатели на иерархию документа, элемент иерархии и кадр окна.

  2. Если документ открыт, проект должен проверка, чтобы узнать, существует ли только объект данных документа, или если объект представления документов также присутствует.

    • Если объект представления документов существует, и это представление предназначено для другого элемента иерархии или иерархии, проект использует указатель на рамку окна представления, чтобы восстановить существующее окно.

    • Если объект представления документов существует, и это представление предназначено для одного элемента иерархии и иерархии, проект может открыть второе представление, если он может присоединиться к базовому объекту данных документа. В противном случае проект должен использовать указатель на рамку окна представления, чтобы восстановить существующее окно.

    • Если существует только объект данных документа, проект должен определить, может ли он использовать объект данных документа для его представления. Если объект данных документа совместим, выполните действия, описанные в редакторе для конкретного проекта.

      Если объект данных документа несовместим, пользователю должна отображаться ошибка, указывающая, что файл в данный момент используется. Эта ошибка должна отображаться только в временных случаях, например при компиляции файла в то же время, когда пользователь пытается открыть файл с помощью редактора, отличного от текстового редактора Visual Studio Core. Основной текстовый редактор может совместно использовать объект данных документа компилятором.

  3. Если документ не открыт, так как нет объекта данных документа или объекта представления документов, выполните действия, описанные в редакторе для конкретного проекта.

Открытие стандартного редактора

Используйте следующую процедуру, чтобы открыть стандартный редактор для файла, который уже открыт.

Открытие стандартного редактора для открытого файла

  1. Вызовите процедуру OpenStandardEditor.

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

  2. Если документ не открыт, выполните действия, описанные в разделе "Практическое руководство. Открытие стандартных редакторов".