Anzeigen von Dateien mithilfe des Befehls "Datei öffnen"

In den folgenden Schritten wird beschrieben, wie die IDE den Befehl "Datei öffnen" behandelt, der im Menü "Datei" in Visual Studio verfügbar ist. In den Schritten wird auch beschrieben, wie Projekte auf Aufrufe reagieren sollen, die von diesem Befehl stammen.

Wenn ein Benutzer im Menü "Datei öffnen" auf den Befehl "Datei öffnen" klickt und im Dialogfeld "Datei öffnen" eine Datei auswählt, tritt der folgende Vorgang auf:

  1. Mithilfe der ausgeführten Dokumenttabelle bestimmt die IDE, ob die Datei bereits in einem Projekt geöffnet ist.

    • Wenn die Datei geöffnet ist, wird das Fenster von der IDE wieder geöffnet.

    • Wenn die Datei nicht geöffnet ist, ruft IsDocumentInProject die IDE jedes Projekt ab, um zu bestimmen, welches Projekt die Datei öffnen kann.

      Hinweis

      Geben Sie in Der Projektimplementierung IsDocumentInProjecteinen Prioritätswert an, der die Ebene angibt, auf der Ihr Projekt die Datei öffnet. Prioritätswerte werden in der VSDOCUMENTPRIORITY Enumeration bereitgestellt.

  2. Jedes Projekt antwortet mit einer Prioritätsstufe, die angibt, wie wichtig es ist, das Projekt zum Öffnen der Datei zu sein.

  3. Die IDE verwendet die folgenden Kriterien, um zu bestimmen, welches Projekt die Datei öffnet:

    • Das Projekt, das mit der höchsten Priorität (DP_Intrinsic) antwortet, öffnet die Datei. Wenn mehr als ein Projekt mit dieser Priorität antwortet, öffnet das erste Projekt die Datei.

    • Wenn kein Projekt mit der höchsten Priorität antwortet (DP_Intrinsic), aber alle Projekte mit der gleichen, niedrigeren Priorität antworten, öffnet das aktive Projekt die Datei. Wenn kein Projekt aktiv ist, öffnet das erste Projekt, auf das geantwortet werden soll, die Datei.

    • Wenn kein Projekt den Besitz der Datei angibt (DP_Unsupported), öffnet das Projekt "Sonstige Dateien" die Datei.

      Wenn eine Instanz des Projekts "Verschiedene Dateien" erstellt wird, antwortet das Projekt immer mit dem Wert DP_CanAddAsExternal. Dieser Wert gibt an, dass das Projekt die Datei öffnen kann. Dieses Projekt wird verwendet, um geöffnete Dateien zu speichern, die sich nicht in einem anderen Projekt befinden. Die Liste der Elemente in diesem Projekt wird nicht beibehalten; Dieses Projekt ist nur dann in Projektmappen-Explorer sichtbar, wenn es zum Öffnen einer Datei verwendet wird.

      Wenn das Projekt "Verschiedene Dateien" nicht angibt, dass sie die Datei öffnen kann, wurde keine Instanz des Projekts erstellt. In diesem Fall erstellt die IDE eine Instanz des Projekts Miscellaneous Files und teilt dem Projekt mit, die Datei zu öffnen.

  4. Sobald die IDE bestimmt, welches Projekt die Datei öffnet, ruft sie die OpenItem Methode für dieses Projekt auf.

  5. Das Projekt hat dann die Möglichkeit, die Datei mithilfe eines projektspezifischen Editors oder eines Standard-Editors zu öffnen. Weitere Informationen finden Sie unter How to: Open project-specific editors , and How to: Open standard editors, respectively.