Automatic Projects Bar
Automatically organize and access all your projects from a dedicated sidebar panel in VS Code. Never search through folders again!
Features
📂 Smart Project Detection
Automatically scans your projects directory and intelligently detects projects based on 12 built-in validators:
- Git repositories (
.git folder, or .git file for worktrees/submodules)
- NPM projects (
package.json)
- Python projects (
requirements.txt, setup.py, pyproject.toml)
- Rust projects (
Cargo.toml)
- Go projects (
go.mod)
- Docker projects (
Dockerfile, docker-compose.yml, compose.yaml)
- Java projects (
pom.xml, build.gradle)
- C# projects (
.csproj, .sln)
- PHP projects (
composer.json)
- Ruby projects (
Gemfile)
- C++ projects (
CMakeLists.txt, Makefile)
- VS Code workspaces (
.vscode folder) — only tags projects found by another rule, since any folder opened in VS Code can get a .vscode folder
Each project displays comprehensive information:
- Project type icons - Visual indicators for each detected project type
- Version information - From package.json, Cargo.toml, go.mod, etc.
- Git branch - Current branch name for Git repositories
- Dependencies count - Number of project dependencies
- Available scripts - NPM scripts or similar
- Rich tooltips - Hover for detailed project information
🗂️ Organized Hierarchy
Projects are displayed in a tree structure that mirrors your filesystem:
- Folders (groups): Directories containing multiple projects
- Projects: Detected project folders with special icons
- Sorted naturally: folders first, then projects grouped by type, then by name
- Symlinked folders are followed (loops are skipped)
🔍 Quick Search
Press the search icon in the panel (or run Search Projects) to fuzzy-find any project by name or path. Press Enter to open it in the current window, or use the item's button to open it in a new window.
🎯 Quick Actions
Clicking a project opens it in a new window by default (see clickAction). Each project also has an inline Open in New Window button, and right-clicking gives:
- Open: Replace current workspace with the selected project
- Open in New Window: Open the project in a new VS Code window
- Reveal in File Explorer: Show the folder in your system's file manager
🔧 Highly Configurable
Customize the extension to match your workflow:
- Multiple root paths - Scan multiple project directories
- Custom validators - Define your own project detection patterns
- Disable validators - Turn off unwanted project type detection
- Scan depth control - Limit how deep the scanner searches
- Exclude patterns - Skip specific folders (node_modules, .git, etc.)
♻️ Auto-Refresh
The panel rescans in the background whenever a scan-related setting changes. You can also refresh anytime using the refresh button.
Usage
- Install the extension
- Configure your settings (optional):
- Open VS Code Settings (
Ctrl+, or Cmd+,)
- Search for "Automatic Projects Bar"
- Configure paths, validators, and scan options
- Access your projects: Click the Project Dashboard icon in the Activity Bar (sidebar)
- Search & Open: Click a project, or use the search icon to find one
Extension Settings
This extension contributes the following configuration options:
Basic Settings
automaticprojectsbar.projectsPaths: Array of paths to scan for projects (default: ["~/Projects"])
automaticprojectsbar.excludePatterns: Glob patterns of folders to skip, matched against the full path (**/archive/**, ~/Projects/old/**) or the folder name (archive) (default: ["**/node_modules/**", "**/.git/**", "**/dist/**", "**/build/**", "**/.cache/**"])
automaticprojectsbar.maxScanDepth: Maximum folder depth below each root (1-10, default: 5)
automaticprojectsbar.showHiddenFolders: Scan folders starting with . (default: false)
automaticprojectsbar.clickAction: What clicking a project does: newWindow, currentWindow or none (default: newWindow)
Validator Settings
automaticprojectsbar.disabledValidators: List of validators to disable
- Available:
git, npm, python, rust, go, docker, java, csharp, php, ruby, cpp, vscode
automaticprojectsbar.customValidators: Define custom project detection rules (files, folders, filePatterns with matchType substring/regex, icon, priority, supplementary) — see CONFIGURATION.md in the repository
Title Bar Color
automaticprojectsbar.dynamicTitleBarColor: Tint the title bar with a soft color derived from the opened folder name, adapted to light or dark themes (default: true)
automaticprojectsbar.titleBarColorScope: workspace (per-window colors, writes .vscode/settings.json) or global (user settings, follows the focused window) (default: workspace)
Example Configuration
{
"automaticprojectsbar.projectsPaths": ["~/Projects", "~/Work", "/opt/dev"],
"automaticprojectsbar.excludePatterns": [
"**/node_modules/**",
"**/archived/**"
],
"automaticprojectsbar.maxScanDepth": 4,
"automaticprojectsbar.disabledValidators": ["docker", "ruby"],
"automaticprojectsbar.customValidators": [
{
"id": "flutter",
"name": "Flutter",
"icon": "device-mobile",
"priority": 10,
"files": ["pubspec.yaml"]
}
]
}
Requirements
- VS Code 1.105.0 or higher
- No additional dependencies required
Known Issues
- With
titleBarColorScope: "workspace", colors live in each workspace's .vscode/settings.json. Run Clear Dynamic Title Bar Color (or disable the setting) in a window before uninstalling to remove them; VS Code gives extensions no way to clean up on uninstall.
Release Notes
0.0.8
- Theme-aware title bar color: pastel with dark text on light themes, a muted chalkboard tint with light text on dark themes, updated when the theme changes
0.0.7
Changes
- Dynamic title bar color uses a soft, chalk-like pastel palette. Colors from older versions are replaced or removed automatically, and clearing only removes colors the extension wrote
global title bar scope follows the focused window
- Search opens a project picker (Enter opens in the current window, button opens in a new window) instead of a filter that disappeared on click
- Clicking a project opens it in a new window by default; configurable with
clickAction
- Custom validator
icon and priority now work: the highest priority match provides the icon and sort group
- Faster, non-blocking scan: each folder is read once, off the startup path, with progress shown in the view
- All scan settings apply immediately, without reloading the window
Bug Fixes
- Tooltips no longer render untrusted project content as trusted markdown (command-link injection)
- A folder containing only
.vscode/ (or .dockerignore, go.sum) is no longer mistaken for a project, which hid everything below it
- Exclude patterns like
**/archive now match; ? no longer matches /; ~ is expanded
- Overlapping or duplicate root paths no longer break the tree
- Symlinked project folders are listed
- Versions are read from the right place (
[package]/[project] tables, not dependencies; Maven parent versions skipped); git branch shown for worktrees, submodules and detached HEADs
0.0.6
New Features
- Dynamic title bar color - Each project window is tinted with a color derived from its folder name (
dynamicTitleBarColor, scope workspace/global)
- Persistent collapse state - Collapsed tree branches stay collapsed across refreshes and window reloads
- Regex custom validators -
filePatterns now supports matchType: "regex" in addition to substring matching
- Type-grouped sorting - Project leaves are grouped by project type, then sorted by name
Bug Fixes
- Fixed false-positive detection - Detectors no longer flag a folder as a project just because a filename contains
git/docker/vscode (e.g. a lone .gitignore); detection now uses precise markers
maxScanDepth, excludePatterns, and showHiddenFolders are now actually enforced during the scan
- Unified all built-in detectors onto the single data-driven rule engine
0.0.5
Complete architecture overhaul with extensive new features:
New Features
- 12 built-in project validators for comprehensive language/framework detection (Git, NPM, Python, Rust, Go, Docker, Java, C#, PHP, Ruby, C++, VS Code)
- Rich metadata extraction - Display version numbers, git branches, dependency counts, and available scripts
- Project type icons with visual indicators for each detected type
- Enhanced tooltips with detailed project information in markdown format
- Multiple root paths support - Scan multiple directories simultaneously
- Custom validators - Define your own project detection patterns with files, folders, and file patterns
- Configurable validator control - Enable/disable specific built-in validators
- Advanced scan options - Max depth control (1-10), exclude patterns with glob support
Bug Fixes
- Permission errors handling when scanning restricted directories
0.0.4
Major architecture overhaul with extensive new features:
- 12 built-in project validators for comprehensive language/framework detection
- Rich metadata extraction - versions, git branches, dependencies, scripts
- Project type icons with visual indicators for each type
- Enhanced tooltips with detailed project information
- Multiple root paths support - scan multiple directories
- Custom validators - define your own project detection patterns
- Configurable validator control - enable/disable specific validators
- Advanced scan options - max depth, exclude patterns
- Improved error handling for permission issues and edge cases
- Complete configuration documentation
0.0.3
Previous release with basic project detection and management features.
0.0.1
Initial release with basic project loading and sorting functionality.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
See LICENSE file for details.
Enjoy organizing your projects!
| |