Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>CodeCollabNew to Visual Studio Code? Get it now.
CodeCollab

CodeCollab

Mihir Bhadak

| (0) | Free
A real-time collaboration and activity tracker for developers — see who’s working on which file, prevent conflicts, and boost productivity effortlessly.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

🚀 CodeCollab

Collaborate smarter. Code with confidence.

CodeCollab is a real-time collaboration and activity tracking extension for Visual Studio Code. It helps development teams see who's working on which file, prevent code conflicts, and boost productivity effortlessly—all within your IDE.


📋 Table of Contents

  • Features
  • Activation
  • View Containers & Views
  • Commands
  • Configuration Settings
  • Usage Guide
  • How It Works
  • Roadmap

✨ Features

  • 🔍 Real-Time File Activity Tracking - Automatically tracks which files are open and active for each team member
  • 👥 User Visibility - See who's currently working on the same file as you in the status bar
  • 📊 Interactive Dashboard - View all active users and files across the workspace
  • 🎯 Smart Filtering - Filter dashboard by file or user with one click
  • ⚡ Performance Optimized - Configurable caching and debounced writes to handle many concurrent users
  • 🧹 Automatic Cleanup - Removes orphaned files with no users or inactive files based on configurable time thresholds
  • 📱 Status Bar Integration - Quick view of other users on your current file
  • ⚙️ Highly Configurable - Fine-tune cache TTL, write delays, and refresh intervals

🔌 Activation

CodeCollab uses the * activation event, which means the extension activates immediately when VS Code starts. This ensures all collaboration features are available as soon as you open a workspace.

Activation Event: * (activates on all events)

VS Code Version Requirement: ^1.60.0 or higher


📦 View Containers & Views

View Container

CodeCollab adds a view container to the Activity Bar:

  • Container ID: codecollab-sidebar
  • Title: CodeCollab
  • Location: Activity Bar (left sidebar)
  • Icon: media/icon4.svg

Views

The CodeCollab sidebar contains the following view:

  • View ID: codecollabDashboardView
  • Name: Dashboard
  • Container: codecollab-sidebar

The Dashboard view provides real-time visibility into:

  • All active users in the workspace
  • Files currently being edited by each user
  • User activity status (active/inactive)
  • Quick filtering and search capabilities

🎮 Commands

All commands are accessible via the Command Palette (Ctrl+Shift+P / Cmd+Shift+P):

Command ID Title Description
codecollab.showDashboard CodeCollab: Show General Dashboard Opens the main dashboard showing all users and files
codecollab.showProfile CodeCollab: Show User Dashboard Opens your personal profile dashboard for managing display name and user ID
codecollab.showCleanupDashboard CodeCollab: Show Cleanup Dashboard Opens the cleanup management dashboard for monitoring and managing orphaned files
codecollab.cleanupData CodeCollab: Clean Up Orphaned Files Manually trigger cleanup of files with no associated users
codecollab.clearCache CodeCollab: Clear Cache Clear all in-memory caches (useful for troubleshooting performance issues)

Using Commands

  1. Press Ctrl+Shift+P (Windows/Linux) or Cmd+Shift+P (Mac)
  2. Type "CodeCollab" to filter commands
  3. Select the desired command from the list

⚙️ Configuration Settings

Configure CodeCollab through VS Code Settings (File > Preferences > Settings or Ctrl+,):

Setting Type Default Minimum Description
codecollab.cacheTTL number 10000 1000 User metadata cache TTL (in milliseconds) — helps reduce frequent reads
codecollab.writeDelayMs number 2000 0 Debounce delay (ms) for batching file writes. Higher values reduce disk I/O
codecollab.enableFileCache boolean true - Enable in-memory file caching to optimize performance and reduce redundant reads
codecollab.userCountIntervalMs number 10000 1000 Refresh interval (ms) for updating the active user count in the status bar
codecollab.dashboardRefreshMs number 10000 1000 Auto-refresh interval (ms) for CodeCollab dashboard updates

Configuration Example

Add to your settings.json:

{
  "codecollab.cacheTTL": 15000,
  "codecollab.writeDelayMs": 3000,
  "codecollab.enableFileCache": true,
  "codecollab.userCountIntervalMs": 5000,
  "codecollab.dashboardRefreshMs": 8000
}

Setting Descriptions

codecollab.cacheTTL

Controls how long user metadata is cached in memory before being refreshed. Increase this value to reduce file system reads in large teams, but be aware that user information may be slightly stale.

codecollab.writeDelayMs

Debounce delay for batching file writes. When multiple file events occur, they are batched together and written after this delay. Higher values reduce disk I/O but may cause slight delays in activity updates.

codecollab.enableFileCache

Enables in-memory caching of file data to optimize performance. Disable this if you're experiencing memory issues or need real-time accuracy at the cost of performance.

codecollab.userCountIntervalMs

How frequently the status bar updates with the count of other users on your current file. Lower values provide more real-time updates but may impact performance.

codecollab.dashboardRefreshMs

Auto-refresh interval for the dashboard view. The dashboard automatically updates at this interval to show the latest user and file activity.


🧭 Usage Guide

Getting Started

  1. Open a Workspace - CodeCollab requires an open workspace folder to function
  2. Extension Activation - The extension activates automatically when VS Code starts (activation event: *)
  3. Access the Sidebar - Click the CodeCollab icon in the Activity Bar (left sidebar)

Opening the Dashboard

Via Activity Bar

  1. Click the CodeCollab icon in the Activity Bar
  2. The Dashboard view will appear in the sidebar
  3. View all active users and files in real-time

Via Command Palette

  1. Press Ctrl+Shift+P (Windows/Linux) or Cmd+Shift+P (Mac)
  2. Type "CodeCollab" and select:
    • CodeCollab: Show General Dashboard - Opens the main dashboard
    • CodeCollab: Show User Dashboard - Opens your profile dashboard
    • CodeCollab: Show Cleanup Dashboard - Opens the cleanup dashboard

Dashboard Features

  • Search - Search by file path, user name, or user ID
  • Filter by File - Click any file path to filter and see all users working on that file
  • Filter by User - Click any user name to filter and see all files that user is working on
  • Open Files - Click file paths to open them (Ctrl+Click to open in new tab)
  • Auto-Refresh - Dashboard automatically refreshes at the interval specified in codecollab.dashboardRefreshMs

Status Bar

  • The status bar shows the number of other users working on your currently active file
  • Updates at the interval specified in codecollab.userCountIntervalMs
  • Click the status bar item to open the General Dashboard filtered to your current file

User Profile Management

  1. Open User Dashboard using the command CodeCollab: Show User Dashboard
  2. Set your Display Name (defaults to your User ID)
  3. Copy your User ID to share with team members

Cleanup Management

  1. Open Cleanup Dashboard using the command CodeCollab: Show Cleanup Dashboard
  2. Configure Inactive File Time Limit (files with no activity for this duration will be cleaned up)
  3. Run cleanup operations:
    • Use the command CodeCollab: Clean Up Orphaned Files to manually trigger cleanup
    • Or use the cleanup dashboard UI to manage orphaned files

Cache Management

If you experience performance issues or stale data:

  1. Use the command CodeCollab: Clear Cache to clear all in-memory caches
  2. The extension will rebuild caches as needed
  3. Useful for troubleshooting when user or file data appears outdated

🔧 How It Works

CodeCollab uses a lightweight file-based database stored in .codecollab/ within your workspace:

  • User Tracking - Each user has a unique ID (derived from SSH key or generated)
  • File Tracking - Tracks which users have which files open and their status (active/inactive)
  • Real-Time Updates - File events (open, close, focus change) are tracked and shared
  • Debounced Writes - Writes are batched using codecollab.writeDelayMs to reduce disk I/O under high concurrency
  • Automatic Cleanup - Orphaned files are cleaned up automatically on startup and periodically
  • Caching - User metadata and file data are cached in memory to optimize performance

Architecture

  • Activation: Extension activates on all events (*) for immediate availability
  • View Container: Provides sidebar access via Activity Bar
  • Dashboard View: Real-time webview showing collaboration data
  • File System: Stores collaboration state in .codecollab/ directory
  • Event Listeners: Monitors file open, close, and focus events
  • Status Bar: Displays active user count for current file

🗺️ Roadmap

Future enhancements planned:

  • [ ] Real-time notifications when someone opens a file you're working on
  • [ ] Conflict detection warnings before editing files with active users
  • [ ] Activity history and analytics dashboard
  • [ ] Team chat integration within the dashboard
  • [ ] Export/import collaboration data
  • [ ] Remote workspace support for cloud-based development
  • [ ] Customizable ignore patterns for files and folders
  • [ ] Integration with Git to show branch-specific activity

⭐ Support

If you find CodeCollab useful, please consider:

  • 📢 Sharing with your team and colleagues

📄 License

This project is licensed under the MIT License.


Made with ❤️ by Mihir Bhadak

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft