Easy Code Cleaner - VS Code Extension
Clean your code instantly: Remove comments, emojis, blank lines, console logs, and try-catch blocks from your codebase

Overview
Easy Code Cleaner is a powerful and versatile VS Code extension designed to clean your source code by removing unnecessary elements. It supports 15+ programming languages including JavaScript, TypeScript, Python, Java, C++, Go, Rust, PHP, and more.
Perfect for:
- 🧹 Code cleanup before sharing or production
 
- 📉 Reducing code size and file bloat
 
- 🎯 Removing debug code and temporary content
 
- 📊 Code analysis and statistics
 
Features
📊 Code Statistics & Analysis
- Project-wide analysis: Total files, lines, and character count
 
- File type distribution: Detailed statistics by language
 
- Largest files: Sorted by line count
 
- Code composition: Code, comment, and blank line ratios
 
- Visual charts: Color-coded progress bars and composition view
 
- Smart detection: Identify comments, emojis, and blank lines at a glance
 
Supports multiple syntax styles across 15+ languages:
- JavaScript/TypeScript: 
// and /* */ (including template literals) 
- Python/Ruby/Shell: 
# 
- HTML/XML: 
<!-- --> 
- CSS/SCSS/LESS: 
/* */ 
- Java/C/C++/C#/Go/Rust/Swift/Kotlin: 
// and /* */ 
- SQL: 
-- and /* */ 
- Lua: 
-- and --[[ ]] 
- PHP: All styles combined
 
- String Protection: Preserves comments within string literals and quotes
 
😊 Emoji Removal
- Removes all Unicode emoji characters
 
- Works with any file type
 
- Preserves text content
 
📄 Blank Line Management
- Remove All Blank Lines: Completely eliminate all empty lines
 
- Remove Excess Blank Lines: Reduce multiple consecutive blank lines to single gaps
 
- Preserve Code Readability: Optional settings to maintain formatting
 
- Smart Trimming: Remove leading/trailing blank lines
 
🚀 Advanced Cleaning
- Remove Console Statements: Strip console.log, print, and debug statements
 
- Remove Try-Catch Blocks: Eliminate error handling wrappers (with care)
 
- Batch Processing: Clean entire directories or workspaces at once
 
📁 Flexible File Selection
- Entire Workspace: Clean all files in your project
 
- Specific Folder: Target only selected directories
 
- File Extensions: Filter by language (
.js, .py, .java, etc.) 
- Manual Selection: Hand-pick specific files
 
- Predefined Groups: Quick select for popular language combinations
 
Installation
From VS Code Marketplace
- Open VS Code
 
- Press 
Ctrl+Shift+X (Windows/Linux) or Cmd+Shift+X (macOS) to open Extensions 
- Search for "Easy Code Cleaner"
 
- Click "Install"
 
Manual Installation
# Clone the repository
git clone https://github.com/emirhanarslan/code-cleaner.git
# Install dependencies
npm install
# Compile TypeScript
npm run compile
# Test (press F5 or run)
npm run test
Usage
- Click the "✨ Code Cleaner" button in VS Code's bottom status bar
 
- Select your desired cleaning operation from the menu
 
- Choose file selection method (workspace, folder, extension, or manual)
 
- Wait for the operation to complete
 
- Review the cleaning report
 
Method 2: Command Palette
Press Ctrl+Shift+P (Windows/Linux) or Cmd+Shift+P (macOS) and select:
- Code Cleaner: Code Statistics - Show project analysis and file composition
 
- Code Cleaner: Remove Comments - Delete comments only
 
- Code Cleaner: Remove Emojis - Delete emoji characters only
 
- Code Cleaner: Remove Blank Lines - Remove all empty lines
 
- Code Cleaner: Remove Excess Blank Lines - Reduce multiple empty lines to single
 
- Code Cleaner: Remove Comments and Emojis - Combined comments + emoji removal
 
- Code Cleaner: Remove All - Complete cleanup (comments + emojis + blank lines)
 
- Code Cleaner: Remove Console/Print Statements - Strip debug logging
 
- Code Cleaner: Remove Try-Catch Blocks - Eliminate error handlers
 
- Code Cleaner: Show Statistics - Display project statistics
 
- Code Cleaner: Show All Projects Statistics - Compare across projects
 
- Code Cleaner: Clear Project Statistics - Reset history
 
Supported Languages & File Types
| Language | 
Extensions | 
Status | 
| JavaScript | 
.js, .jsx | 
✅ Full Support | 
| TypeScript | 
.ts, .tsx | 
✅ Full Support | 
| Python | 
.py | 
✅ Full Support | 
| Java | 
.java | 
✅ Full Support | 
| C/C++ | 
.c, .cpp, .h, .hpp | 
✅ Full Support | 
| C# | 
.cs | 
✅ Full Support | 
| Go | 
.go | 
✅ Full Support | 
| Rust | 
.rs | 
✅ Full Support | 
| PHP | 
.php | 
✅ Full Support | 
| Ruby | 
.rb | 
✅ Full Support | 
| Swift | 
.swift | 
✅ Full Support | 
| Kotlin | 
.kt | 
✅ Full Support | 
| Dart | 
.dart | 
✅ Full Support | 
| HTML | 
.html | 
✅ Full Support | 
| CSS/SCSS/SASS/LESS | 
.css, .scss, .sass, .less | 
✅ Full Support | 
| SQL | 
.sql | 
✅ Full Support | 
| Lua | 
.lua | 
✅ Full Support | 
Examples
Before & After
Before (247 lines, 5.2 KB)
// This is a comment
function calculateSum(arr) {
  // TODO: Add error handling
  console.log('Starting calculation'); // Debug log
  // Loop through array
  let sum = 0;
  for (let i = 0; i < arr.length; i++) {
    sum += arr[i]; // Add current value
  }
  return sum; // Return the result
}
After (239 lines, 3.8 KB)
function calculateSum(arr) {
  let sum = 0;
  for (let i = 0; i < arr.length; i++) {
    sum += arr[i];
  }
  return sum;
}
Statistics:
- Lines removed: 8 (3.2% reduction)
 
- Size reduction: 1.4 KB (26.9% smaller)
 
- Comments removed: 5
 
- Console logs removed: 1
 
Settings & Configuration
Keyboard Shortcuts
You can bind keyboard shortcuts to any command in VS Code settings:
{
  "key": "ctrl+k ctrl+c",
  "command": "code-cleaner.removeComments"
},
{
  "key": "ctrl+k ctrl+a",
  "command": "code-cleaner.removeAll"
}
Development
Project Structure
src/
├── extension.ts              # Main entry point
├── commentRemover.ts         # Comment removal logic
├── emojiRemover.ts           # Emoji removal logic
├── blankLineRemover.ts       # Blank line management
├── consoleRemover.ts         # Console statement removal
├── tryCatchRemover.ts        # Try-catch block removal
├── fileSelector.ts           # File selection UI
├── statisticsManager.ts      # Statistics tracking
└── statisticsViewer.ts       # Statistics display
Build & Test
# Install dependencies
npm install
# Compile TypeScript
npm run compile
# Watch mode (auto-compile on changes)
npm run watch
# Run linter
npm run lint
# Run tests
npm run test
# Prepare for publishing
npm run vscode:prepublish
Packaging & Publishing
# Install vsce globally
npm install -g @vscode/vsce
# Create package
vsce package
# Publish to marketplace (requires Personal Access Token)
vsce publish
# Or use commands
npm run vscode:prepublish
npx vsce publish patch
Important Notes & Warnings
⚠️ This operation is IRREVERSIBLE!
- Backup your files before using this extension
 
- Use Git - Commit your changes before cleaning so you can review the diff
 
- Test on a branch - Test the extension on a feature branch first
 
- Review changes - Always check the cleaning report
 
- Edge cases - Some complex string patterns might be affected
 
Known Limitations
- Template literals with comment-like patterns may be affected
 
- Regex patterns containing comment syntax could be misinterpreted
 
- Multi-line string handling in some edge cases
 
- Very large files (>10MB) may cause memory issues
 
- VS Code undo stack might be limited with batch processing
 
- Use specific extensions instead of cleaning all files
 
- Process folders instead of entire workspaces for large projects
 
- Check project size before running on very large codebases
 
- Use Git to track changes and enable quick rollback
 
Contributing
We welcome contributions! Please feel free to submit pull requests or open issues on GitHub.
How to Contribute
- Fork the repository
 
- Create a feature branch (
git checkout -b feature/amazing-feature) 
- Commit your changes (
git commit -m 'Add amazing feature') 
- Push to the branch (
git push origin feature/amazing-feature) 
- Open a Pull Request
 
Changelog
v0.0.5
- Added console/print statement removal
 
- Added try-catch block removal
 
- Improved emoji detection
 
- Enhanced statistics reporting
 
- Better error handling
 
v0.0.1
- Initial release
 
- Comment removal for 15+ languages
 
- Emoji removal
 
- Blank line management
 
- Flexible file selection
 
- Code statistics
 
License
MIT License - see LICENSE file for details
Happy Coding! 🚀
Made with ❤️ for the developer community