VS Code Profile Extension Manager (VPEM) is a powerful command-line tool designed to help you manage your Visual Studio Code extensions across different profiles. It allows you to dump, categorize, and apply extensions with ease, streamlining your VS Code setup process.
Status
This project has been developed strictly on Linux, though it should work everywhere. If you find an issue, please report it in the GitHub issue tracker.
Executables are built using pyinstaller and are available for Linux, Windows and MacOS. Again, if any issues are found, please report them in the GitHub issue tracker.
Why?
I tend to use a lot of extensions. Further, I find myself switching frequently between TypeScript, Python, and now C#. Sometimes I work in Azure. Other times in AWS.
I realized that multiple profiles might make more sense than tons of extensions in a single profile. However, it's also really easy to experiment with extensions and leave unused ones polluting the profile. This tool helps me keep things organized.
For example, here's how to apply a group of extensions to a profile:
Process
- First, dump your extensions for all your profiles
- Next, categorize extensions by searching for common strings and assign to categories
- Finally, apply extensions to a profile
Installation
To install VPEM, you can use pip:
Recommended way:
pipx install pipx install vscode_profile_extension_manager
Alternatively, you may download the released binaries in the repo. However, these are mass-produced by actions I've pulled from various places, so I can't guarantee they're tested.
Finally, you can also use jpillora/installer to automate the installation:
curl -q https://i.jpillora.com/drmikecrowe/vscode-profile-extension-manager! | sh
Usage
Here are some basic usage examples:
- Dump extensions from a profile:
vpem dump --profile "Default"
- Apply extensions to a profile:
vpem apply --profile "Work" --category "Python Development"
- List all categories:
vpem list-categories
Contributing
We welcome contributions to VPEM! If you'd like to contribute, please follow these steps:
- Fork the repository
- Create a new branch for your feature or bug fix
- Make your changes and commit them with a clear message
- Push your changes to your fork
- Create a pull request
Please make sure to update tests as appropriate and adhere to the project's coding standards.
License
This project is licensed under the Apache-2.0 License - see the LICENSE file for details.
Support
If you encounter any issues or have questions, please file an issue on the GitHub issue tracker.
Top comments (0)