Dela via


Visa filer med kommandot Öppna fil

Följande steg beskriver hur IDE hanterar kommandot Öppna fil , som är tillgängligt på Arkiv-menyn i Visual Studio. Stegen beskriver också hur projekt ska svara på anrop som kommer från det här kommandot.

När en användare klickar på kommandot Öppna filmenyn Arkiv och väljer en fil i dialogrutan Öppna fil sker följande process:

  1. Med hjälp av den dokumenttabell som körs avgör IDE om filen redan är öppen i ett projekt.

    • Om filen är öppen dyker IDE upp igen i fönstret.

    • Om filen inte är öppen anropar IsDocumentInProject IDE:t för att fråga varje projekt för att avgöra vilket projekt som kan öppna filen.

      Anmärkning

      I projektimplementeringen av IsDocumentInProjectanger du ett prioritetsvärde som anger på vilken nivå projektet öppnar filen. Prioritetsvärden anges i VSDOCUMENTPRIORITY uppräkningen.

  2. Varje projekt svarar med en prioritetsnivå som anger hur viktigt det är att vara projektet för att öppna filen.

  3. IDE använder följande villkor för att avgöra vilket projekt som öppnar filen:

    • Det projekt som svarar med högsta prioritet (DP_Intrinsic) öppnar filen. Om fler än ett projekt svarar med den här prioriteten öppnar det första projektet som svarar filen.

    • Om inget projekt svarar med högsta prioritet (DP_Intrinsic), men alla projekt svarar med samma, lägre prioritet, öppnar det aktiva projektet filen. Om inget projekt är aktivt öppnar det första projektet som svarar filen.

    • Om inget projekt gör anspråk på ägarskapet för filen (DP_Unsupported) öppnar projektet Diverse filer filen.

      Om en instans av projektet Diverse filer skapas svarar projektet alltid med värdet DP_CanAddAsExternal. Det här värdet anger att projektet kan öppna filen. Det här projektet används för att hysa öppna filer som inte finns i något annat projekt. Listan över objekt i det här projektet sparas inte. Det här projektet visas bara i Solution Explorer när det används för att öppna en fil.

      Om projektet Diverse filer inte anger att filen kan öppnas har ingen instans av projektet skapats. I det här fallet skapar IDE en instans av projektet Miscellaneous Files och instruerar projektet att öppna filen.

  4. Så snart IDE avgör vilket projekt som öppnar filen anropas metoden för OpenItem projektet.

  5. Projektet har sedan möjlighet att öppna filen med hjälp av en projektspecifik redigerare eller en standardredigerare. Mer information finns i Så här: Öppna projektspecifika redigerare och Så här gör du: Öppna standardredigerare.