以下步骤介绍了 IDE 如何处理 Visual Studio 的“文件”菜单上提供的“打开文件”命令。 这些步骤还介绍了项目应如何响应源自此命令的调用。
当用户单击“文件”菜单上的“打开文件”命令并从“打开文件”对话框中选择文件时,将发生以下过程:
- 使用正在运行的文档表,IDE 确定文件是否已在项目中打开。 - 如果文件处于打开状态,IDE 会重新浮出窗口。 
- 如果文件未打开,IDE 将调用 IsDocumentInProject 查询每个项目以确定哪个项目可以打开该文件。 - 注释 - 在您的IsDocumentInProject项目实施中,提供一个优先级值,该值表示项目打开文件时的优先级级别。 优先级值在VSDOCUMENTPRIORITY 枚举中提供。 
 
- 每个项目都以优先级进行响应,指示它作为项目打开文件的重要性。 
- IDE 使用以下条件来确定打开该文件的项目: - 以最高优先级 ( - DP_Intrinsic) 响应的项目将打开该文件。 如果多个项目使用此优先级进行响应,则第一个要响应的项目将打开该文件。
- 如果没有具有最高优先级的项目响应( - DP_Intrinsic),但所有项目都以相同的较低优先级进行响应,则活动项目将打开该文件。 如果没有活动项目,则第一个要响应的项目将打开该文件。
- 如果没有项目声明文件( - DP_Unsupported)的所有权,“杂项文件”项目将打开该文件。- 如果创建了杂项文件项目的实例,则项目始终使用值 - DP_CanAddAsExternal进行响应。 此值指示项目可以打开该文件。 此项目用于收纳那些不属于其他任何项目的已打开文件。 此项目中的项列表未持久保存;此项目仅在解决方案 资源管理器 中用于打开文件时可见。- 如果杂项文件项目未指示它可以打开该文件,则尚未创建项目的实例。 在这种情况下,IDE 将创建杂项文件项目的实例,并指示项目打开该文件。 
 
- 一旦 IDE 确定哪个项目打开该文件,就会调用 OpenItem 该项目上的方法。 
- 然后,项目可以选择使用特定于项目的编辑器或标准编辑器打开文件。 有关详细信息,请参阅“如何:打开特定于项目的编辑器”和“如何:打开标准编辑器”。