This repository is a VS Code extension that integrates Draw.io (diagrams.net) into the Visual Studio Code editor. It enables users to create, edit, and view Draw.io diagrams directly within VS Code, supporting standalone files (.drawio, .dio) and inline diagrams embedded in Markdown via fenced code blocks or HTML comments. The extension provides offline functionality by bundling a version of Draw.io, with optional online fallback, and includes features like Live Share collaboration, code linking from diagram symbols to source code, diagram export/conversion, and theme synchronization. The architecture follows standard VS Code extension patterns with a main entry point (src/index.ts), extension core (src/Extension.ts), editor service (src/DrawioEditorService.ts), Draw.io client for iframe communication (src/DrawioClient/), and specialized features for Live Share, code linking, and inline Markdown editing. Communication between the extension and the embedded Draw.io iframe occurs via postMessage API, with state management using Mobx and resource cleanup via disposable patterns. The extension handles diagram persistence through file system operations and metadata embedding in SVG/PNG files. Key reusable components include a configuration abstraction utility (VsCodeSetting.ts), a Mobx autorun disposable tracker (autorunTrackDisposables.ts), an event-driven Draw.io client for iframe communication (DrawioClient.ts), a Markdown diagram parser (diagramParser.ts), and a Live Share session manager (LiveshareSession.ts). These components demonstrate loose coupling, clear separation of concerns, and patterns applicable beyond this specific extension. The project is actively maintained with automated workflows for updating the bundled Draw.io submodule, indicating low technical drift and strong ongoing maintenance.
CodeTour is a Visual Studio Code extension for recording and playing guided walkthroughs of codebases. It allows developers to create interactive step-by-step tours associated with files, directories, and specific lines of code, with support for markdown descriptions, code snippets, shell commands, and command links. The extension features a player (comment-based UI, tree view, status bar, gutter markers) and a recorder (comment creation, step management, git ref association, tour export). It integrates with VS Live Share for collaborative tours and exposes an API for other extensions. The architecture is modular with clear separation between player, recorder, store (MobX-based state management), and LiveShare modules. The codebase is well-structured and demonstrates good TypeScript practices, though it lacks automated tests and relies on some experimental VS Code APIs (notebook provider). The project appears to be in a stale maintenance state with the last release in March 2023.