Code Pulse is a TypeScript-based VS Code extension that provides comprehensive coding metrics, visualizations, and insights to help developers understand their coding patterns, complexity, and productivity.
- Multi-language code complexity analysis
- Persistent metrics tracking
- Interactive dashboard with charts
- Configurable tracking options
- Exportable metrics
- Performance-conscious design
code-pulse/
β
βββ src/
β βββ extension.ts # Main extension entry point
β βββ metrics/
β β βββ complexity-alerts.ts # Complexity Alerts
β β βββ complexity.ts # Complexity Metrics logic
β β βββ debounce-tracker.ts # Debounce tracker system
β β βββ storage.ts # Persistent storage management
β β βββ tracker.ts # Core metrics logic
β β
β βββ test/
β β βββ extension.test.ts # Extension test logic
β β
β βββ utils/
β β βββ advanced-config.ts # Multi-language support
β β βββ cache.ts # Caching system
β β βββ config-export.ts # Export metrics
β β βββ config.ts # Extension configuration management
β β βββ error-handler.ts # Error handler system
β β
β βββ views/
β βββ dashboard.ts # Webview dashboard logic
β βββ charts.ts # Chart rendering logic
β
β
βββ package.json # Extension manifest
βββ tsconfig.json # TypeScript configuration
βββ esbuild.js # Build configuration
βββ .vscodeignore # VS Code extension ignore file
β
βββ resources/
β βββ icons/ # Extension icons
β βββ templates/ # Dashboard HTML templates (soon)
β
βββ dist/ # Compiled extension
- Performs deep code complexity analysis
- Calculates multiple complexity metrics:
- Cyclomatic Complexity
- Maintainability Index
- Halstead Complexity Measures
- Generates actionable code improvement recommendations
- Tracks coding activities across files and languages
- Collects detailed file and session metrics
- Manages tracking configuration
- Provides session insights and aggregation
- Manages long-term storage of coding metrics
- Handles file system interactions
- Implements data retention and pruning strategies
- Provides centralized configuration handling
- Supports dynamic configuration updates
- Manages extension-wide settings
- Generates interactive web-based dashboards
- Creates visualizations using Chart.js
- Supports metrics export and refreshing
- Defines extension metadata
- Specifies configuration options
- Lists dependencies and scripts
- Configures activation events and commands
- Configures TypeScript compilation
- Enables strict type checking
- Defines module resolution and target
- Manages build process
- Supports development and production builds
- Generates build insights
- Handles external dependencies
This extension contributes the following settings:
productivityDashboard.enableMetricTracking
: Enable or disable metric tracking.productivityDashboard.complexityThresholds
: Define complexity thresholds per language.productivityDashboard.complexityThreshold
: Set general complexity threshold.productivityDashboard.trackingInterval
: Configure tracking intervals in minutes.productivityDashboard.excludedLanguages
: Exclude specific languages from tracking.productivityDashboard.enableDetailedLogging
: Enable or disable detailed logging.productivityDashboard.retentionPeriod
: Configure data retention in days.
Soon, I'll realease screenshots
- VS Code
^1.98.0
- Node.js
>=16.0.0
Download VS Code: https://code.visualstudio.com/download Download Node.js: https://nodejs.org/en
- Machine learning-based complexity prediction
- More advanced visualizations
- Language-specific deep analysis
- Integration with external code quality tools
- Unit tests for complexity calculations
- Integration tests for tracking logic
- Mock VS Code extension context
- Performance benchmarking
- TypeScript
- VS Code Extension API
- Chart.js
- esbuild
- Node.js APIs
- ESLint
- Mocha
- Modular architecture
- Loose coupling
- Extensibility
- Performance optimization
- Comprehensive type safety
List any known issues and potential fixes.
Check here for more information about Release Notes.
Enjoy productivity on another level!