⚠️ Project Status: PausedThis extension is currently paused because the VS Code Extensions API does not yet support programmatically switching profiles. The required API functionality is not available at this time.
As soon as VS Code provides the necessary API support for profile switching, I will resume development and publish this extension. Until then, the project remains on hold.
Thank you for your interest, and I'll update this notice once the API becomes available!
Automatically switches VS Code profiles based on your workspace settings. Just define your preferred profile in .vscode/settings.json, and it'll switch automatically every time you open the project.
- 🎯 Workspace Profile Selection: Set a profile for your entire workspace
- 📁 Folder-Specific Profiles: Configure different profiles for different folders in monorepos
- 🔄 Auto-Switch: Automatically applies the configured profile when opening a workspace
- 🎨 Easy Configuration: Simple commands to set up profiles
- Open VS Code Extensions view (
Cmd+Shift+X/Ctrl+Shift+X) - Search for "Profile Switcher"
- Click Install
Or install from the Open VSX Registry
- Open the Command Palette (
Cmd+Shift+Pon macOS,Ctrl+Shift+Pon Windows/Linux) - Run the command: "Profile Switcher: Select Profile for Workspace"
- Choose a profile from the list or enter a custom profile name
- Reload the window when prompted
The extension will create or update .vscode/settings.json in your workspace root with:
{
"profileSwitcher.workspaceProfile": "YourProfileName"
}- Right-click on a folder in the Explorer
- Select "Profile Switcher: Select Profile for Folder"
- Choose a profile from the list
- Reload the window when prompted
This adds the folder path to the profileSwitcher.directoryProfiles setting, allowing different parts of your monorepo to use different profiles.
Add to your .vscode/settings.json:
{
"profileSwitcher.autoSwitch": true,
"profileSwitcher.workspaceProfile": "default",
"profileSwitcher.directoryProfiles": {
"backend/": "python",
"frontend/": "javascript/typescript",
"some/relative/path/": "someVSCodeProfileName"
}
}Settings explained:
profileSwitcher.autoSwitch(boolean, default:true): Automatically switch profile on workspace open and when navigating between filesprofileSwitcher.workspaceProfile(string): VS Code profile to use for the entire workspace. Takes precedence over directory profiles.profileSwitcher.directoryProfiles(object): Map of relative directory paths to VS Code profile names. Paths should be relative to the workspace root and end with/. The most specific matching path will be used when opening files.
- Auto-Switch: By default, the extension automatically switches to the configured profile when you open a workspace. Disable this in settings if needed.
- Manual Commands: Use the Command Palette to select profiles:
- Profile Switcher: Select Profile for Workspace
- Profile Switcher: Select Profile for Folder (also available via Explorer context menu)
- VS Code 1.106.0+
- Bun (or Node.js 18+ with npm)
git clone https://github.com/onurbaskin/ovsx-profile-switcher.git
cd ovsx-profile-switcher
bun install
bun run compile
code .Press F5 to launch Extension Development Host.
bun run compile # Compile TypeScript
bun run watch # Watch mode
bun run publish # Publish to Open VSX- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Commit and push (
git push origin feature/amazing-feature) - Open a Pull Request
Follow existing code style, add comments for complex logic, and test thoroughly.
MIT License - see LICENSE file for details.
- Built with VS Code Extension API
- Powered by TypeScript and Bun