A simple yet powerful Bash script to streamline the management of your Visual-Studio-Code extensions. This tool is designed to help you quickly set up a clean development environment, especially for Sui Move developers, by protecting your essential Sui-related extensions while allowing you to manage others efficiently.
- Selective Uninstall: Uninstall all extensions except for a predefined list of essential Sui Move development tools.
- Bulk Install: Install a curated list of extensions for different development profiles (Python, Flutter, AI, etc.).
- Extension Profiles: Install predefined sets of extensions based on development needs (e.g., Python, Flutter, AI).
- Customizable Lists: Easily add or remove extensions from the "keep" and "install" lists.
- Export & Sync: Export your current extension setup to a file or sync extensions from a remote URL.
- Stats & Suggestions: Get statistics on your installed extensions and receive smart suggestions for missing tools.
- Dry Run Mode: Test the script's actions without making any actual changes to your VS Code setup.
- Plugin System: Extend the script's functionality by adding your own plugins.
- Visual Studio Code installed on your system.
- The
codecommand-line tool must be available in your PATH. You can add it by opening the Command Palette in VS Code (Ctrl+Shift+PorCmd+Shift+P) and typingShell Command: Install 'code' command in PATH.
-
Clone this repository or download the
vscode-ext-manager.shscript to your local machine.git clone https://github.com/CYBWithFlourish/VSCode-Ext-Manager.git cd VSCode-Ext-Manager -
Make the script executable:
chmod +x vscode-ext-manager.sh
Run the script from your terminal:
./vscode-ext-manager.shYou will be presented with a menu of options to choose from.
To see what the script would do without actually uninstalling or installing any extensions, use the --dry-run flag:
./vscode-ext-manager.sh --dry-runYou can customize the lists of extensions directly within the script:
KEEP_EXTENSIONS: This array contains the extension IDs that will be protected from uninstallation. This is ideal for your essential Sui Move development extensions.INSTALL_LIST: This array contains a list of extensions that you can choose to install.*_PROFILE: These arrays define the extensions for different development profiles (e.g.,PYTHON_PROFILE,FLUTTER_PROFILE).
To find the ID of an extension, navigate to its page in the VS Code Marketplace. The ID is typically in the format publisher.extension-name.
- Install extensions from list: Choose from the
INSTALL_LISTto install extensions individually or all at once. - Uninstall all except Sui Move dev extensions: Cleans your VS Code setup by removing all extensions not in the
KEEP_EXTENSIONSlist. - Add extension to install or keep list: Add new extension IDs to the
INSTALL_LISTorKEEP_EXTENSIONSlist. - Export current extensions to file: Saves a list of all your currently installed extensions to a
vscode-extensions.txtfile. - Reset all extensions: A dangerous option that will uninstall all of your extensions.
- Show extension stats: Displays a summary of your installed, kept, and to-be-removed extensions.
- Smart suggestions: Checks if any of the essential
KEEP_EXTENSIONSare missing from your setup. - Install by profile: Quickly install a group of extensions defined in a profile (e.g., Python, AI).
- Search extensions: Search for an extension within the
INSTALL_LIST. - Sync from remote URL: Install extensions from a list hosted at a given URL.
Contributions are welcome! If you have ideas for new features or improvements, feel free to open an issue or submit a pull request.
This project is licensed under the MIT License. See the LICENSE file for details.
