A Visual Studio Code extension that provides a user-friendly interface for managing and retrieving Salesforce metadata components. Create package.xml files and retrieve metadata with just a few clicks.
Short video of the Salesforce Metadata Manager
Features
All metadata types available in your connected org will be automatically loaded when the extension starts, providing a complete list of available metadata types.
Automatic metadata type loading
You can search for a particular metadata type with keyword filtering, making it easy to find the specific metadata type you need.
Search and select metadata types using keyword filters
3. Smart Component Loading
On selecting a metadata type, all components of that type will be automatically loaded in a table, except for currently selected components or those already in existing package.xml. This prevents duplicate selections and ensures efficient workflow.
Smart component loading
Retrieved components
4. Component Search and Selection
You can search for a particular component with comma-separated keyword filtering, allowing you to quickly find specific components within a metadata type.
Search and select components using keyword filters
5. Selected Components Management
On selecting a component, Add button will displayed.
Add button
On cicking Add button, all selected components will be available in the selected components table for retrieval. The table provides a clear overview of all selected components with their metadata types.
Selected components table with metadata types
6. Existing Package Support
Components available in existing package.xml are also loaded back to the selected components table, allowing you to continue working with your existing metadata selections.
Existing package.xml Components Loading
7. Smart Component Filtering
Selected components will not be available for future selection, preventing duplicates. If you remove a component from the selected components table, that component will be available back for future selection.
8. Component Availability Alerts
If selected metadata has no components, you will be alerted that there are no components.
Alert when no components are available for the selected metadata type
If selected metadata has components and all components are already selected, you will be alerted that there are no more components to select.
Alert when all components are selected and no more components are available for selection
9. Package.xml Generation and Retrieval
On clicking Retrieve Components, package.xml will be created in the manifest folder and selected components will be retrieved from your Salesforce org.
Retrieving components
Automatically generated package.xml with selected components
Retrieved selected components successfully
10. Retrieval Status Tracking
Real-time status updates are provided for each component during the retrieval process:
-
(default): Not yet retrieved
- ✅ Success (green): Component retrieved successfully
- ❌ Failed (red): Component retrieval failed
11. Error Handling and Reporting
The extension provides comprehensive error handling. If the retrieval of some components fails, retrieval status will be marked as Success for retrieved components and Failed for failed components. When you hover your mouse over the retrieval status 'Failed,' you will see error information as a tooltip.
Detailed error information for failed component retrievals as tooltip
12. Dependency Loading
Click on any row in the selected components table to view its dependencies. The Dependencies section will show a table with:
- Component ID
- Component Name
- Type
- Dependency Type (Direct or Indirect)
You can add any dependency to the selected components list by clicking on the dependency row. A popup will appear confirming that the dependency is being added to the selected components list.
Loading dependencies of the selected component
Dependencies section showing component dependencies
Adding a dependency to the selected components list
Prerequisites
- Visual Studio Code
- Salesforce CLI (sf) installed and configured
- Authenticated Salesforce org connection
Installation
- Download the
.vsix
file
- Open VS Code
- Press
Ctrl+Shift+P
and type "Extensions: Install from VSIX"
- Select the downloaded
.vsix
file
- Restart VS Code
Usage
Opening the Extension
Method 1: Command Palette
- Press
Ctrl+Shift+P
- Type "Salesforce: Open Metadata Manager"
- Press Enter
Method 2: Context Menu
- Right-click on any folder in the Explorer
- Select "Open Metadata Manager"
Selecting Components
- Search and Select Metadata Type: Use the search box to find and select a metadata type (e.g., Apex Class, Custom Object)
- Search and Multi-select Components: Use the component search text box to find and multi-select specific components from the table
- Review Selection: View selected components in the table below with real-time status updates
Loading Indicators
- Progress Spinners: Visual indicators show when metadata types and components are loading
- No Components Message: Clear notification when no components are found for a selected metadata type
- Smart Component Filtering: Selected components are automatically filtered out from future selections
Retrieving Components
- Click the "Retrieve Components" button (top-right)
- Watch the progress indicator
- Check the Retrieval Status column for results:
- ✅ Success (green): Component retrieved successfully
- ❌ Failed (red): Component retrieval failed
- View error details in the Error Details section (if any failures occur)
Managing Components
- Remove Components: Click the 🗑️ icon next to any component to deselect it and make it available for future selection
- Load Existing: Automatically loads components from existing
manifest/package.xml
- Package.xml Location: Generated files are saved to
manifest/package.xml
- Smart Component Filtering: Selected components are automatically filtered out from future selections, preventing duplicates
Requirements
- Salesforce CLI: Must be installed and available in PATH
- Authenticated Org: Run
sf org login web
to authenticate
- Salesforce Project: Must be in a valid Salesforce DX project directory
Version History
1.1.9
- Changed null component id to 'Not Available'
1.1.8
- Added dependencies section to load the dependencies of selected metadata component
- Add the dependency to selected component list
- Refer Feature 12
1.1.7
- Fixed dashboard retrieval issues with proper SOQL query for Title field
- Improved folder hierarchy construction for all folder-based metadata types (Dashboard, Document, EmailTemplate)
- Fixed queryFoldersWithAncestors function placement to ensure proper accessibility
1.1.6
- Updated ReadMe file with url of new video about how Salesforce Metadata Manager works
1.1.5
- Replaced Success and Failed retrieval status text with green tick (✓) and red cross (✗) icons for better visual indication
- Implemented new SVG-based delete icon in the Action column for improved user interface
1.1.4
- Implemented multiselection of components for more efficient workflow
- Improved error handling with better error detection and reporting
- Enhanced user experience with error messages displayed as tooltips
1.1.3
- Implemented logic to treat "MetadataTransferError: Metadata API request failed: Could not find HEAD" errors as success. This error typically occurs in Salesforce Developer Sandboxes with source tracking enabled and despite the error message, the deployment or retrieval operation often completes successfully.
1.1.2
- Implemented search and select feature for both metadata type and component comboboxes
- Selected components will not be available for future selection
- If we deselect component, it will be available for future selection
1.1.1
- Added progress spinners for metadata type and component loading
- Improved error messaging for "no components retrieved" scenarios
- Enhanced user feedback during loading processes
1.1.0
- Email templates, documents, and dashboards in personal folders will not be displayed
- Enhanced filtering for folder-based metadata types
1.0.2
- Added visual interface for metadata management
- Implemented real-time retrieval status tracking
- Added error reporting and details
- Support for existing package.xml files
License
MIT License - see LICENSE file for details
Author
Shabu Thomas
Email: ars.shabu@gmail.com
Note: This extension requires an active Salesforce CLI installation and authenticated org connection to function properly.