The Dead Code Finder extension identifies unused code in software projects, helping developers maintain clean codebases by detecting dead methods and functions. The primary goals are:
- Reduce technical debt by identifying unused code
- Improve maintainability and readability of codebases
- Prevent unnecessary bloat in projects
- Integrate seamlessly with VSCode's development workflow
- ✅ Core architecture with analyzer interfaces
- ✅ Python analyzer with Vulture integration
- ✅ TreeView UI for result visualization
- ✅ Command handlers for analyzing workspace and files
- ✅ Navigation to dead code locations
- ✅ Custom SVG icons for tree items
- ✅ Whitelist generation for intentional dead code
- ✅ Diagnostics provider for inline warnings
- ✅ Sample Python project with intentional dead code
- ✅ Unit tests for core components
- ✅ UI improvements for the Dead Code panel (icon buttons)
- ✅ Fixed Vulture installation process
The extension can now detect dead code in Python projects using Vulture, display results in both a tree view and as inline diagnostics, and generate whitelists for intentional dead code. The core architecture is extensible for adding support for additional languages in the future.
Recent improvements have fixed UI issues with the panel buttons, which now use icons instead of text to save space. The Vulture installation process has also been enhanced with better error handling, fallback methods, and clearer user guidance.
- ✅ Fix UI issues with the Dead Code panel buttons
- ✅ Fix Vulture installation issue
- Create a README.md for the extension
- Add more comprehensive unit tests
- Implement error handling for edge cases
- Add icons for the extension in the marketplace
- Set up a CI pipeline for automated testing
- Support for additional languages (JavaScript/TypeScript)
- Add statistics view for dead code metrics
- Improve configuration options for analysis
- Create a changelog for version tracking
- Machine learning to reduce false positives
- Integration with other code quality tools
- Automatic refactoring suggestions for dead code removal
- Support for advanced language-specific features
| Task | Status | Priority | Notes |
|---|---|---|---|
| Set up development environment | ✅ Done | High | Webpack, TypeScript, ESLint configured |
| Create extension scaffolding | ✅ Done | High | Basic structure implemented |
| Implement analyzer interface | ✅ Done | High | Common interface for all analyzers |
| Python dead code detection | ✅ Done | High | Using Vulture for detection |
| TreeView implementation | ✅ Done | High | Shows results grouped by file |
| Diagnostics provider | ✅ Done | Medium | Shows inline warnings in editor |
| Whitelist system | ✅ Done | Medium | Generate whitelist for Vulture |
| Resource files for icons | ✅ Done | Low | Custom icons for tree items |
| Sample projects | ✅ Done | Medium | Python examples with intentional dead code |
| Unit tests | 🔶 In Progress | Medium | Basic tests implemented, need more coverage |
| Replace panel buttons with icons | ✅ Done | High | Converted text buttons to icon buttons with proper placement |
| Fix Vulture installation process | ✅ Done | High | Improved installation with better error handling and user guidance |
| Extension README | ⬜ To Do | High | Documentation for installation and usage |
| Extension icons | ⬜ To Do | Low | Icons for marketplace listing |
| CI/CD setup | ⬜ To Do | Medium | Automated testing and publishing |
- ✅ Analyzer interface tests
- ✅ Vulture output parsing tests
- ⬜ Command handler tests
- ⬜ TreeView provider tests
- ⬜ Whitelist generation tests
- ⬜ Diagnostics provider tests
- ⬜ End-to-end integration tests
- No deprecated code
- Comprehensive error handling
- Consistent code style
- TypeScript types for all components
- Detailed documentation
With the critical issues now resolved, focus on making the extension ready for publication to the VSCode Marketplace:
- Complete the README with installation and usage instructions
- Create extension icons
- Expand test coverage
- Conduct user testing with sample projects
- Optimize performance for larger codebases
Last updated: Fri Apr 4 18:12:05 CEST 2025