DEV Community

Cover image for Introducing VPEM-Visual Studio Profile Extension Manager
drmikecrowe
drmikecrowe

Posted on

Introducing VPEM-Visual Studio Profile Extension Manager

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:

Apply Extensions

Process

  • First, dump your extensions for all your profiles

Dump Extensions

  • Next, categorize extensions by searching for common strings and assign to categories

Categorize

  • Finally, apply extensions to a profile

Image description

Installation

To install VPEM, you can use pip:

Recommended way:

pipx install pipx install vscode_profile_extension_manager
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

Usage

Here are some basic usage examples:

  • Dump extensions from a profile:
   vpem dump --profile "Default"
Enter fullscreen mode Exit fullscreen mode
  • Apply extensions to a profile:
   vpem apply --profile "Work" --category "Python Development"
Enter fullscreen mode Exit fullscreen mode
  • List all categories:
   vpem list-categories
Enter fullscreen mode Exit fullscreen mode

Contributing

We welcome contributions to VPEM! If you'd like to contribute, please follow these steps:

  1. Fork the repository
  2. Create a new branch for your feature or bug fix
  3. Make your changes and commit them with a clear message
  4. Push your changes to your fork
  5. 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)