Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>ImpactLens - Salesforce Dependency AnalyzerNew to Visual Studio Code? Get it now.
ImpactLens - Salesforce Dependency Analyzer

ImpactLens - Salesforce Dependency Analyzer

Babu Kareti

|
3 installs
| (0) | Free
Powerful search and impact analysis for Salesforce DX projects. Search fields, objects, metadata, and keywords across your entire project with dependency mapping.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

ImpactLens — Salesforce Dependency Analyzer

Fast, intelligent search and impact analysis for Salesforce DX projects — right inside VS Code.

Version VS Code License


Features

🔍 Advanced Search Panel

Search across your entire Salesforce project with a fast, full-featured webview panel.

  • 24 metadata types — Apex Classes, Triggers, LWC, Aura, Flows, Validation Rules, Workflow Rules, Custom Objects, Custom Fields, Custom Metadata, Permission Sets, Profiles, Layouts, Reports, Email Templates, Named Credentials, Platform Events, Visualforce Pages & Components, Custom Labels, Static Resources, FlexiPage
  • Filter presets — one-click All, Source (Apex + LWC + Aura + Flows), Metadata (Objects + Permissions + Labels), or Clear Filters
  • Exact match toggle — switch between fuzzy/smart and strict whole-word matching
  • Term highlighting — matched words highlighted in file names and code previews
  • Live summary pills — Total / Visible / Page range / Exact Mode indicator
  • Smart tokenization — understands camelCase, PascalCase, __c, and dot-separated API names
  • Fuzzy + prefix matching — finds results even with partial names or minor typos

📄 Results Table

Column Details
File Filename + relative path below
Type Metadata type badge
Object SObject API name when applicable
Line Line number + relevance score
Preview Code snippet with matched terms highlighted
  • Column sorting — click any header to sort asc/desc; indicator arrow shown
  • Table filter — live narrow across all columns simultaneously
  • Per-row actions — Open (jumps to exact line) and Copy Path (copies full path to clipboard)
  • Pagination — numbered page buttons ‹ 1 … 4 5 6 … 20 › with First/Last and jump-to-page
  • Page size — 10 / 50 / 100 results per page
  • State persistence — sort, filter, page, and all toggle states survive panel hide/show cycles

⚡ Impact Analysis

Analyze the blast radius of changing a field, object, class, or any metadata element.

  • Traverse the full in-memory reference graph to find all affected components
  • Sidebar tree view showing the full dependency tree with click-to-navigate on every node
  • Rich tooltips with file path, line number, and code snippet on hover
  • Grouped by dependency depth; nodes with further dependents shown first

🌲 Sidebar Tree Views

Two Activity Bar panels give you persistent visibility without opening the webview:

Search Results tree

  • Groups results by metadata type, sorted by match count (largest group first)
  • Color-coded icons per type (blue = Apex, green = LWC, orange = Triggers, purple = Flows, …)
  • Rich Markdown tooltip: file, line, object, relevance score, relative path, snippet
  • Friendly "Run a search to see results here" placeholder

Impact Analysis tree

  • Root node → dependency chain expandable to any depth
  • Type-aware icons resolved from the node's metadata type string
  • Smart child sort: deeper dependency chains first, then by reference count
  • Reference count + line number shown in VS Code's description field

⚡ Performance

  • Worker thread indexing — file parsing runs on a background thread; UI stays responsive
  • MiniSearch full-text index with custom camelCase/underscore tokenizer
  • Dual-strategy search — precise reference-graph lookup merged with full-text recall, deduplicated by filePath:line
  • Persistent cache — index saved to context.globalStorageUri/search-index.json and reloaded on restart (no re-parse on every open)
  • Incremental updates — FileSystemWatcher triggers targeted re-index; mtime check prevents redundant work
  • Debounced file watching — configurable delay prevents index churn during batch saves

⌨️ Keyboard Shortcuts (Search Panel)

Key Action
/ Focus search input
Escape Clear active input
Enter Run search / confirm jump-to-page

Requirements

  • VS Code 1.74+
  • A Salesforce DX project with sfdx-project.json in the workspace root

Getting Started

  1. Open a Salesforce DX project folder in VS Code
  2. The extension activates automatically when sfdx-project.json is detected
  3. Watch the status bar — indexing runs in the background (first run may take a few seconds)
  4. Press Cmd+Shift+P (macOS) / Ctrl+Shift+P (Windows/Linux) → ImpactLens: Open Search Panel
  5. Type any field name, class name, object API name, or keyword and press Enter

Commands

Command Shortcut Description
ImpactLens: Open Search Panel Command Palette Open the full search webview
ImpactLens: Impact Analysis Command Palette / Context Menu Analyze impact of a metadata element
ImpactLens: Find Field Usage Editor context menu (requires selection) Search all usages of the selected field
ImpactLens: Find Object Usage Editor context menu (requires selection) Search all usages of the selected object
ImpactLens: Rebuild Index Command Palette / Results view toolbar Force a complete index rebuild

Extension Settings

Setting Default Description
sfSearch.excludePatterns ["**/node_modules/**", "**/.sfdx/**", "**/.sf/**"] Glob patterns to exclude from indexing
sfSearch.maxFileSize 1048576 (1 MB) Maximum file size to index (bytes)
sfSearch.debounceDelay 300 File-watcher debounce delay (ms)
sfSearch.enableToolingApi false Enable Salesforce Tooling API for enriched dependency data
sfSearch.fuzzyTolerance 0.2 Fuzzy search tolerance (0 = exact, 1 = very loose)

Architecture

src/
├── extension.ts              # Activation, command registration, service wiring
├── models/
│   ├── searchResult.ts       # MetadataType enum, SearchResult, ImpactReport interfaces
│   ├── dependencyNode.ts     # DependencyNode, DependencyEdge, DependencyGraph types
│   └── index.ts              # Re-exports
├── indexing/
│   ├── fileParser.ts         # Regex + XML reference extraction per metadata type
│   ├── indexWorker.ts        # Worker thread entry point
│   └── metadataIndexer.ts    # Orchestrator: file discovery, parsing, MiniSearch build
├── search/
│   ├── searchEngine.ts       # Dual-strategy search (reference graph + MiniSearch)
│   └── impactAnalyzer.ts     # Impact analysis & dependency tree builder
├── services/
│   └── salesforceService.ts  # SF CLI detection, Tooling API queries
└── ui/
    ├── searchPanel.ts        # Webview panel (HTML/CSS/JS, ~1300 lines)
    ├── resultsView.ts        # TreeView sidebar: search results grouped by type
    └── impactView.ts         # TreeView sidebar: impact dependency tree

Release Notes

See CHANGELOG.md for full version history.

1.1.0 — Major UI polish: filter presets, exact match toggle, term highlighting, numbered pagination with jump-to-page, state persistence, color-coded sidebar icons, rich Markdown tooltips, impact analysis sidebar overhaul.

1.0.0 — Initial release with full-text search, impact analysis, worker-thread indexing, and persistent cache.


License

MIT — see LICENSE for details.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft