打开打开文档的编辑器

在项目打开文档窗口之前,项目首先必须确定文件是否已在另一个编辑器的文档窗口中打开。 该文件可以在特定于项目的编辑器中打开,也可以是在 Visual Studio 中注册的标准编辑器之一。

打开特定于项目的编辑器

使用以下过程为已打开的文件打开特定于项目的编辑器。

为打开的文件打开特定于项目的编辑器

  1. 调用 IsDocumentOpen 方法。

    此调用返回指向文档的层次结构、层次结构项和窗口框架(如果适用)的指针。

  2. 如果文档处于打开状态,则项目必须检查才能查看文档数据对象是否存在,或者文档视图对象是否也存在。

    • 如果文档视图对象存在,并且此视图适用于不同的层次结构或层次结构项,则项目使用指向视图窗口框架的指针重新浮出现有窗口。

    • 如果文档视图对象存在,并且此视图适用于同一层次结构和层次结构项,则如果项目可以附加到基础文档数据对象,则可以打开第二个视图。 否则,项目应使用指向视图窗口框架的指针重新浮出现有窗口。

    • 如果仅存在文档数据对象,项目应确定它是否可以将文档数据对象用于其视图。 如果文档数据对象兼容,请完成“打开特定于项目的编辑器”中所述的步骤。

      如果文档数据对象不兼容,则应向用户显示一个错误,指示该文件当前正在使用中。 此错误应仅在暂时性情况下显示,例如,当用户尝试使用 Visual Studio 核心文本编辑器以外的编辑器打开文件时,才应显示此错误。 核心文本编辑器可与编译器共享文档数据对象。

  3. 如果文档未打开,因为没有文档数据对象或文档视图对象,请完成“打开特定于项目的编辑器”中的步骤。

打开标准编辑器

使用以下过程为已打开的文件打开标准编辑器。

打开打开的文件的标准编辑器

  1. 调用 OpenStandardEditor

    此方法首先通过调用 IsDocumentOpen验证文档尚未打开。 如果文档已打开,则其编辑器窗口将重新浮出水面。

  2. 如果文档未打开,请完成“操作方法:打开标准编辑器”中的步骤。