Auto Open — Project-Aware File Opener
A VS Code extension that automatically opens relevant files when you open a project folder. No more manually navigating and opening files every time — just open your project and start working.
Features
- Auto-detects project type based on files present in the workspace
- Per-project config via
.vscode/auto-open.json for custom overrides
- Merges config + detection so you get sensible defaults plus your own additions
- Multi-root workspace support — works across all folders in a workspace
Supported Project Types
| Detected By |
Project Type |
Files Opened |
ACS_Source/*.cpp |
Sierra Chart (ACSIL) |
.cpp, .h files in ACS_Source |
package.json |
Node.js |
package.json, src/index.ts, tsconfig.json |
src/App.tsx / src/App.jsx |
React |
App.tsx, index.tsx, package.json |
requirements.txt / pyproject.toml |
Python |
main.py, app.py, requirements.txt |
Cargo.toml |
Rust |
Cargo.toml, src/main.rs, src/lib.rs |
go.mod |
Go |
go.mod, main.go |
*.sln / *.csproj |
.NET |
Program.cs, Startup.cs, appsettings.json |
CMakeLists.txt / Makefile |
C/C++ |
CMakeLists.txt, src/main.cpp |
Detection is priority-ranked. More specific types (e.g. Sierra Chart, React) are checked before generic ones (e.g. C/C++).
Per-Project Config
Create a .vscode/auto-open.json in any project to customize which files open:
{
"files": [
"src/main.cpp",
"src/utils/*.h",
"config/*.json"
],
"projectType": "My Custom Project",
"skipDetection": false
}
| Field |
Type |
Description |
files |
string[] |
File paths or glob patterns to open |
projectType |
string |
Display name (shown in notification) |
skipDetection |
boolean |
If true, only use config files — skip auto-detection. Default: false |
When skipDetection is false, your custom files are merged with the auto-detected ones.
Commands
Open the Command Palette (Ctrl+Shift+P) and search:
| Command |
Description |
Auto Open: Open Project Files Now |
Manually trigger file opening |
Auto Open: Generate Config |
Create a starter .vscode/auto-open.json pre-filled with detected files |
Settings
| Setting |
Type |
Default |
Description |
autoOpen.enabled |
boolean |
true |
Enable/disable automatic file opening on workspace load |
autoOpen.showNotification |
boolean |
true |
Show notification when files are opened |
Adding New Project Types
Edit src/projectProfiles.ts to add new profiles:
{
name: "My Framework",
detectBy: ["my-framework.config.js"],
files: [
"my-framework.config.js",
"src/main.ts",
],
priority: 50,
}
detectBy — glob patterns that identify this project type
files — files/globs to open when detected
priority — higher values are checked first (use 100+ for very specific types, 50 for standard, 30 for generic)
Build from Source
npm install
npm run compile
npm run package
Install the generated .vsix:
Ctrl+Shift+P → Extensions: Install from VSIX → select auto-open-x.x.x.vsix
License
MIT