graph LR
VSCode_Extension_Core["VSCode Extension Core"]
Code_Analysis_Engine["Code Analysis Engine"]
Diagram_Visualization_Provider["Diagram Visualization Provider"]
Details_View_Provider["Details View Provider"]
Copilot_Context_Service["Copilot Context Service"]
File_System_Git_Tracking_Service["File System & Git Tracking Service"]
Unclassified["Unclassified"]
VSCode_Extension_Core -- "Initializes & Orchestrates" --> Code_Analysis_Engine
VSCode_Extension_Core -- "Initializes & Orchestrates" --> Diagram_Visualization_Provider
VSCode_Extension_Core -- "Initializes & Orchestrates" --> Details_View_Provider
VSCode_Extension_Core -- "Initializes & Orchestrates" --> Copilot_Context_Service
VSCode_Extension_Core -- "Initializes & Orchestrates" --> File_System_Git_Tracking_Service
Code_Analysis_Engine -- "Requests Data From" --> File_System_Git_Tracking_Service
Code_Analysis_Engine -- "Provides Analysis Data To" --> Diagram_Visualization_Provider
Code_Analysis_Engine -- "Provides Analysis Results To" --> Details_View_Provider
Diagram_Visualization_Provider -- "Requests CFG Data From" --> Code_Analysis_Engine
Diagram_Visualization_Provider -- "Receives Notifications From" --> File_System_Git_Tracking_Service
Details_View_Provider -- "Queries Results From" --> Code_Analysis_Engine
Details_View_Provider -- "Sends Context To" --> Copilot_Context_Service
Copilot_Context_Service -- "Requests File Content From" --> File_System_Git_Tracking_Service
Copilot_Context_Service -- "Receives Context From" --> Details_View_Provider
File_System_Git_Tracking_Service -- "Provides File Content To" --> Code_Analysis_Engine
File_System_Git_Tracking_Service -- "Provides File Content To" --> Copilot_Context_Service
File_System_Git_Tracking_Service -- "Notifies Changes To" --> Diagram_Visualization_Provider
The CodeBoarding VSCode extension operates around a core VSCode Extension Core that orchestrates the various functionalities. The Code Analysis Engine is central to the extension's purpose, performing static analysis and generating Control Flow Graphs (CFGs). These CFGs are then visualized by the Diagram Visualization Provider and detailed analysis results are presented by the Details View Provider. To enhance AI-assisted development, the Copilot Context Service prepares relevant code context. All these components rely on the File System & Git Tracking Service for accessing file content and monitoring workspace changes.
The foundational component responsible for the extension's lifecycle, command registration, and overall orchestration within the VSCode environment.
Related Classes/Methods:
Performs static code analysis, generates Control Flow Graphs (CFGs), and manages the persistence and retrieval of analysis results.
Related Classes/Methods:
Manages the interactive rendering and display of the Control Flow Graph within a dedicated VSCode webview.
Related Classes/Methods:
Provides a dedicated webview panel within VSCode to display detailed information about selected code elements and analysis results.
Related Classes/Methods:
Handles the preparation of relevant code snippets and contextual information for AI services like GitHub Copilot.
Related Classes/Methods:
Monitors the workspace for file system changes, retrieves file content, and interacts with Git for version control status.
Related Classes/Methods:
Component for all unclassified files and utility functions (Utility functions/External Libraries/Dependencies)
Related Classes/Methods: None