APS - Auto Profile Switcher for VS Code

🔥 Introduction
APS (Auto Profile Switcher) automatically applies workspace-specific profiles — including settings, themes, and recommended extensions — based on your current project.
👉 Example:
- Open a Python project → APS loads your Python profile.
- Switch to a React project → APS loads your React profile.
No manual switching — APS configures VS Code automatically.
✨ Features
- Automatic Switching – Detects workspace/folder and applies the correct profile.
- Custom Profiles – Store settings, themes, and extension preferences.
- Rule-based System – Match projects by folder path, workspace name, or file presence.
- Nested/Subfolder Support – Place
.aps-profile.json
in subfolders to override parent/workspace settings.
- Team Sharing – Commit
.aps-profile.json
to repos so teammates get the same setup.
- Zero Manual Setup – APS ships with default commands & configs pre-enabled.
🚀 Installation
- Open VS Code.
- Go to Extensions (
Ctrl+Shift+X
/ Cmd+Shift+X
).
- Search for Auto Profile Switcher.
- Click Install.
- Done ✅ — APS starts working automatically.
⚡ Usage
- Press
Ctrl+Shift+P
→ Create Workspace Profile Template
- Edit
.aps-profile.json
in your workspace
- Press
Ctrl+Shift+P
→ Apply Workspace Profile
Note: Subfolder .aps-profile.json
files override root workspace profiles automatically.
📖 Command Palette Commands
APS contributes these commands:
APS: Enable Auto Switching
– Toggle automatic switching.
APS: Switch Profile Manually
– Manually choose a profile.
APS: Show Profile Dashboard
– Open the APS dashboard.
APS: Create Rule for Current Workspace
– Add a rule for the current folder.
🛠 Example .aps-profile.json
{
"profiles": {
"Work Profile": {
"settings": {
"workbench.colorTheme": "Default Dark Modern",
"editor.fontSize": 14
},
"extensions": {
"enable": ["ms-vscode-remote.remote-ssh", "ms-azuretools.vscode-docker"]
}
},
"Personal Profile": {
"settings": {
"workbench.colorTheme": "GitHub Light",
"editor.fontSize": 16
}
}
},
"rules": [
{
"profile": "Work Profile",
"path": "**/CompanyProjects/**"
},
{
"profile": "Personal Profile",
"path": "**/Personal/**"
},
{
"profile": "Python Profile",
"ifFileExists": "requirements.txt"
}
]
}
❓ FAQ
Q: Do I need to configure anything after install?
A: No. APS works out of the box with default commands and generates a config file when needed.
Q: Can APS handle subfolders or nested projects?
A: Yes! Subfolder .aps-profile.json
files override parent/workspace root profiles automatically.
Q: What happens if multiple rules match the same folder or file?
A: APS applies rules in order — first match wins. Subfolder profiles have higher priority.
Q: How does APS handle extensions?
A: APS enables extensions listed in the profile. If a required extension is missing, it prompts you to install it. It can also suggest disabling irrelevant extensions.
Q: Does APS slow down VS Code?
A: No. APS only runs when you open or switch workspaces, making it lightweight.
Q: Can I share my profiles with teammates?
A: Yes! Commit .aps-profile.json
to your repo so everyone uses the same setup.
Q: How do I manually apply a profile?
A: Run APS: Apply Workspace Profile
from the Command Palette (Ctrl+Shift+P
/ Cmd+Shift+P
).
Q: Can APS work with VS Code Settings Sync?
A: Yes. Profiles can be synced across machines using VS Code’s Settings Sync.
🐛 Issues & Feedback
Create issues or submit feature requests on the GitHub repository.
👨💻 Author
Author: Sythe
GitHub: CodingMation
📄 License
Licensed under the MIT License