Projektkontext
Wenn der Benutzer Projekte und Projektelemente hinzufügt oder arbeitet, verwendet die IDE den Begriff des Projektkontexts, um zu bestimmen, wie verschiedene Vorgänge ausgeführt werden sollen.
In der Regel sind Dateien die Standardprojektobjekte, die der Benutzer explizit erstellt, indem er den Befehl "Neues Projekt" auswählt oder verfügbar macht, indem er im Menü "Datei" den Befehl "Projekt öffnen" auswählt. In diesen Fällen werden Dateien im Kontext eines Projekts erstellt und geöffnet, und der Projekttyp definiert den Kontext zum Bearbeiten des Dokuments.
Einige Projekte bieten einen sehr umfangreichen Kontext. Beispielsweise verwaltet das Projekt eine projektbezogene, programmgesteuerte Namespace- oder projektbezogene Datenbankverbindung für die Datenbindung. Der Benutzer kann Dateien oder Datenbankverbindungen häufig direkt öffnen, indem ein bestimmtes Projektobjekt verwendet wird, z. B. ein Projektelement, das in Projektmappen-Explorer angezeigt wird.
Manchmal wird der Projektkontext eines Elements nicht explizit angegeben. Der Kontext eines Elements ist z. B. nicht verfügbar, wenn der Benutzer eine Datei öffnet, indem er im Menü "Datei öffnen" den Befehl "Vorhandene Datei öffnen", wenn der Debugger auf eine Datei arbeitet oder wenn der Benutzer im Dialogfeld "Suchen und Ersetzen" auf den Befehl "In Dateien suchen" klickt. Um diese Situationen zu behandeln, ruft die IDE-Aufrufe IVsUIShellOpenDocument auf, um den Prozess der Suche nach dem besten Projekt zum Öffnen eines Dokuments zu verwalten.