Skip to content

kenbrill/VSCode-Salesforce-Apex-Picklist-Autocomplete

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Apex Picklist Autocomplete

A VS Code extension that provides intelligent autocomplete suggestions for Salesforce picklist field values in Apex and SOQL code.

Features

  • Picklist Value Suggestions - Get autocomplete for picklist values when typing inside quotes after field assignments
  • Display Name & API Value - Shows both the user-friendly display name and the API value in autocomplete suggestions (e.g., Agriculture → Agriculture or Warm → Hot when they differ)
  • Multi-Select Picklist Support - Automatically filters already-selected values and inserts semicolon separators
  • SOQL Support - Works in WHERE clauses, IN clauses, and includes/excludes functions
  • Variable Type Tracking - Recognizes variable types to provide suggestions for acc.Industry when Account acc is declared
  • Hover Information - Hover over picklist fields to see all valid values
  • Caching - Caches metadata to minimize API calls with configurable TTL

Requirements

  • Salesforce CLI (sf) installed and available in PATH
  • An authenticated Salesforce org set as default in your SFDX project

Usage

  1. Open a Salesforce DX project in VS Code
  2. Start typing a picklist field assignment:
// Direct assignment
Account.Industry = '  // <-- suggestions appear

// Variable assignment
Account acc = new Account();
acc.Industry = '  // <-- suggestions appear

// SOQL WHERE clause
[SELECT Id FROM Account WHERE Industry = '  // <-- suggestions appear

// Multi-select picklist
[SELECT Id FROM Contact WHERE Languages__c includes ('  // <-- suggestions appear
  1. Select a value from the autocomplete dropdown

Commands

  • Salesforce Picklist: Refresh Cache - Clear cached metadata to fetch fresh values
  • Salesforce Picklist: Show Picklist Values - Display all values for a specified object and field

Extension Settings

Setting Default Description
sfPicklist.cacheTTL 30 Cache duration in minutes
sfPicklist.includeInactive false Show inactive picklist values
sfPicklist.defaultOrg "" Override org alias (leave empty to use project default)

How It Works

The extension uses the Salesforce CLI to fetch object metadata from your connected org. It parses your Apex/SOQL code to detect when you're assigning a value to a picklist field, then provides autocomplete suggestions based on the field's valid values.

Metadata is cached in memory and persisted to VS Code workspace storage, so subsequent requests are fast and don't require additional API calls until the cache expires.

Supported Contexts

Context Example
Direct field assignment Account.Industry = '
Variable field assignment acc.Industry = ' (where acc is typed as Account)
SOQL WHERE clause WHERE Industry = '
SOQL IN clause WHERE Industry IN ('
Multi-select includes WHERE Skills__c includes ('
Multi-select excludes WHERE Skills__c excludes ('

Known Limitations

  • Requires Salesforce CLI authentication (does not support direct OAuth)
  • Custom object names must end with __c for automatic detection
  • Nested SOQL queries may not be fully supported

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors