All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
-
Project Registration Commands: Added comprehensive project registration functionality
WinCC OA: Register Runnable Projectcommand for registering runnable projectsWinCC OA: Register Sub-Projectcommand for registering sub-projects and extensionsWinCC OA: Register All Unregistered Projectscommand for bulk registration- File Explorer Integration: Context menu support for directory-based registration
- Command Palette Support: Folder selection dialog when invoked from command palette
- Intelligent Validation: Automatic project structure validation and version detection
- Duplicate Prevention: Built-in checks to prevent registering already registered projects
- Error Handling: Comprehensive validation with user-friendly error messages
-
Project Unregistration: Added project removal functionality
WinCC OA: Unregister Projectcommand for safe project removal- Context Menu Integration: Right-click to unregister projects
- Safety Confirmations: Confirmation dialogs to prevent accidental removal
- Configuration Management: Safe removal from WinCC OA configuration files
-
Smart Filtering System: Added real-time project filtering
- Real-time Search: Filter projects as you type with instant results
- Cross-Category Search: Search across all project categories simultaneously
- Filter UI: Dedicated filter input with clear functionality
- Case-Insensitive: Search works regardless of letter case
- Category Preservation: Maintains hierarchical structure while filtering
-
Unregistered Projects Discovery: Added automatic detection of unregistered projects
- Auto-Discovery: Scans common WinCC OA project locations
- Smart Detection: Identifies valid project structures
- Visual Indicators: Clear identification of projects needing registration
- Bulk Registration: Register all unregistered projects with single command
- Enhanced Menu System: Extended context menus with registration and unregistration options
- Smart Project Detection: Improved logic for distinguishing runnable projects vs sub-projects
- Configuration Parsing: Enhanced config file parsing for better version detection
- User Experience: Added progress feedback and success notifications for all operations
- Performance Optimizations: Improved project loading and categorization performance
- Enhanced Version Support: Comprehensive support for WinCC OA versions 3.17-3.20 with intelligent detection, prepared for upcoming 3.21
- Comprehensive Test Suite: Added 40+ test cases covering registration commands
- Path Validation Tests: Cross-platform path handling and normalization testing
- Error Scenario Coverage: Tests for invalid paths, duplicate projects, and edge cases
- Version Detection Tests: Validation of config file parsing and version extraction
- Menu Integration Tests: Command registration and availability verification
- Updated README: Enhanced documentation with detailed registration command information
- Feature Documentation: Comprehensive guide for new registration functionality
- Developer Guide: Updated contribution guidelines with test coverage requirements
- Visual Documentation: Added comprehensive screenshots for all new features:
- Project filtering interface (
proj-tree-filter.png) - Unregistered projects discovery (
proj-tree-unregistered-projects-.png) - Project registration workflows (
proj-tree-register-runnable-project.png,proj-tree-register-all.png) - Project unregistration process (
proj-tree-item-unregister-project.png,command-unregister-project.png) - Project documentation view (
project-view-documentation.png)
- Project filtering interface (
- User Guide Updates: Enhanced user guide with new feature explanations and troubleshooting
- Initial release of WinCC OA Projects extension
- Activity bar integration with project tree view
- Project information display (name, location, version, runnable state)
- Project file parsing from Windows registry and config files
- Project sorting (current > runnable > non-runnable)
- Extension points for other extensions to contribute actions
- Modern API exports for programmatic access
- Comprehensive README with usage examples
- Extension point documentation and examples
- Development guide for contributors
- Automated VSIX packaging with PowerShell and Batch scripts
- GitHub Actions CI/CD pipeline
- TypeScript compilation and linting setup