Delen via


Visual Studio Shell

De Visual Studio-shell is de primaire agent van integratie in Visual Studio. De shell biedt de benodigde functionaliteit om VSPackages in staat te stellen algemene services te delen. Omdat het architectuurdoel van Visual Studio is om primaire functionaliteit in de VSPackages te bieden, is de shell een framework om basisfunctionaliteit te bieden en ondersteuning te bieden voor cross-communicatie tussen het onderdeel VSPackages.

Shell-verantwoordelijkheden

De shell heeft de volgende belangrijke verantwoordelijkheden:

  • Ondersteuning van basiselementen van de gebruikersinterface (UI) via COM-interfaces. Deze omvatten standaardmenu's en werkbalken, documentvensterframes of MDI-onderliggende vensters (Multi-Document Interface) en gereedschapvensterframes en dockingondersteuning.

  • Het onderhouden van een actieve lijst met alle momenteel geopende documenten in een actieve documenttabel (RDT) om de persistentie van documenten te coördineren en te garanderen dat één document niet op meer dan één manier kan worden geopend of niet compatibel is.

  • Ondersteuning voor de interface voor het routeren en verwerken van opdrachten, IOleCommandTarget.

  • Het laden van VSPackages op de juiste tijdstippen. Vertraging bij het laden van een VSPackage is nodig om de prestaties van de shell te verbeteren.

  • Het beheren van bepaalde gedeelde services, zoals SVsShell, die eenvoudige shell-functionaliteit biedt en SVsUIShellwaarmee eenvoudige vensterfunctionaliteit wordt geleverd.

  • De oplossingsbestanden (.sln) beheren. Oplossingen bevatten groepen gerelateerde projecten, vergelijkbaar met werkruimtebestanden (.dsw) in Visual C++ 6.0.

  • Shell-brede selectie, context en valuta bijhouden. In de shell worden de volgende typen items bijgehouden:

    • Het huidige project

    • Het huidige projectitem of item-id van de huidige IVsHierarchy

    • De huidige selectie voor het venster Eigenschappen of SelectionContainer

    • De UI-context-ID's of CmdUIGuids die de zichtbaarheid van opdrachten, menu's en werkbalken beheren.

    • De momenteel actieve elementen, zoals het actieve venster, het document en de ongedaanmaakbeheer

    • De kenmerken van de gebruikerscontext die dynamische Help aandrijven

    De shell bemiddelt ook communicatie tussen geïnstalleerde VSPackages en huidige services. Het biedt ondersteuning voor de kernfuncties van de shell en maakt deze beschikbaar voor alle VSPackages die zijn geïntegreerd in Visual Studio. Deze kernfuncties omvatten de volgende items:

  • Dialoogvenster en welkomstscherm

  • Dialoogvensters Nieuw toevoegen en Bestaand item toevoegen

  • Venster Klasseweergave en objectbrowser

  • Dialoogvenster Verwijzingen

  • Venster Documentoverzicht

  • Dynamische Helpvenster

  • Zoeken en vervangen

  • Dialoogvensters Project openen en Bestand openen in het menu Nieuw

  • Dialoogvenster Opties in het menu Extra

  • Venster Eigenschappen

  • Solution Explorer

  • Takenlijstvenster

  • Gereedschapskist