This article is to read the notes of Visual Studio development environment model.
Vs IDE (integrated development environment) is the host framework of vspackage, so that they can interact with shared services. vs ide UI implementation is a good example. IDE not only provides window containers, default toolbar, menus, but also a rich com to make the UI programmable. the complete command processing and distribution mechanism provides users with an open framework to access installed command devices. [English is bad, Chinese is worse !!! Else]
Scalable Architecture
Standard ide provides a large number of services.
Scalable Architecture
The relationship between vspackage and service is bidirectional. vspackage can use other services or provide services through the iprofferservice interface. the service-based architecture evolved from the MS ActiveX design. A service is a task formed by a group of internally associated interfaces. strictly speaking, all interfaces, especially services, must be implemented by a com class.
Standard ide provides important services to vspackage, such as svsshell, svsuishell, and svssolution.
Read more:
Services
IDE Service |
Description |
svsshell |
provides basic processing functions, vspackage, and registered services |
svsuishell |
provides basic window and UI-related functions. for example, the function of creating a tool and a document window |
Svssolution |
Provides solution-related functions, such as listing, creating, and monitoring (modifying) projects. |
Because shared services are provided, vs IDE and vspackage are closely dependent on each other, but they have different responsibilities.
Vs ide:
Provides key services through additional vspackages
Programmable Interface
Create a vspackage instance based on your needs or other vspackage requirements,
Provides communication and coordination services between multiple vspackages.
Manage solutions and files they need
Provides command distribution, such as menus, toolbar, and context menus.
Coordination and selection, context and currency [puzzled]
Vspackage is responsible:
Initialization and Termination
Write the registry information so that the IDE can load the appropriate vspackage at the right time
Provide services for other vspackage communications
Provides new project types, editors, and designers
Provides extension of embedded UI elements, such as tasks, toolbox, and option dialog box.