| --- |
| description: Evaluate VS Code installation and suggest optimizations like repo source changes |
| tags: [vscode, development, optimization, configuration, project, gitignored] |
| --- |
| |
| You are helping the user optimize their VS Code installation. |
|
|
| ## Process |
|
|
| 1. **Check how VS Code is installed** |
| ```bash |
| which code |
| dpkg -l | grep code |
| snap list | grep code |
| flatpak list | grep code |
| ``` |
| - Identify installation method: apt, snap, flatpak, manual |
|
|
| 2. **Check VS Code version** |
| ```bash |
| code --version |
| ``` |
| - Compare with latest version |
| - Check if updates are available |
|
|
| 3. **Evaluate current installation method** |
|
|
| **APT (official repo) - Recommended:** |
| - Pros: Native integration, automatic updates, best performance |
| - Cons: Requires adding Microsoft repo |
|
|
| **Snap:** |
| - Pros: Easy install, sandboxed |
| - Cons: Slower startup, snap overhead, potential issues with extensions |
|
|
| **Flatpak:** |
| - Pros: Sandboxed, cross-distro |
| - Cons: Some filesystem access limitations |
|
|
| **Manual .deb:** |
| - Pros: Control over updates |
| - Cons: Manual update process |
|
|
| 4. **Suggest migration if needed** |
|
|
| **If installed via Snap, suggest migrating to APT:** |
| ```bash |
| # Remove snap version |
| sudo snap remove code |
| |
| # Add official Microsoft repo |
| wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg |
| sudo install -o root -g root -m 644 packages.microsoft.gpg /etc/apt/trusted.gpg.d/ |
| sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/code stable main" > /etc/apt/sources.list.d/vscode.list' |
| |
| # Install via apt |
| sudo apt update && sudo apt install code |
| ``` |
|
|
| **If privacy-conscious, suggest VSCodium:** |
| ```bash |
| flatpak install flathub com.vscodium.codium |
| ``` |
|
|
| 5. **Check VS Code configuration** |
| - Review settings: `~/.config/Code/User/settings.json` |
| - Check for optimization opportunities: |
| - Telemetry settings |
| - Auto-save |
| - File watcher limits |
| - Extension recommendations |
|
|
| 6. **Optimize performance settings** |
| Suggest adding to settings.json: |
| ```json |
| { |
| "files.watcherExclude": { |
| "**/.git/objects/**": true, |
| "**/node_modules/**": true, |
| "**/.venv/**": true |
| }, |
| "files.exclude": { |
| "**/__pycache__": true, |
| "**/.pytest_cache": true |
| }, |
| "search.exclude": { |
| "**/node_modules": true, |
| "**/venv": true |
| }, |
| "telemetry.telemetryLevel": "off" |
| } |
| ``` |
|
|
| 7. **Check installed extensions** |
| ```bash |
| code --list-extensions |
| ``` |
| - Identify potentially redundant extensions |
| - Suggest disabling unused extensions for performance |
|
|
| 8. **Suggest useful extensions** |
| - Based on detected project types |
| - Common useful extensions: |
| - GitLens |
| - Prettier |
| - ESLint/Pylint |
| - Docker |
| - Remote-SSH |
| - Live Server (web dev) |
|
|
| 9. **Check for conflicts** |
| - Multiple VS Code installations |
| - Conflicting extensions |
| - Settings sync issues |
|
|
| 10. **Create backup of settings** |
| - Offer to backup: |
| - `~/.config/Code/User/settings.json` |
| - `~/.config/Code/User/keybindings.json` |
| - Extension list |
|
|
| ## Output |
|
|
| Provide a report showing: |
| - Current installation method and version |
| - Recommended installation method |
| - Migration steps (if applicable) |
| - Performance optimization suggestions |
| - Extension recommendations |
| - Configuration backup status |
| - Next steps |
|
|