Smart Search

Find SFCC routes, hooks, job steps, custom APIs, and resource keys by their indexed identity

Smart Search uses the SFCC workspace index to find routes, hooks, step types, custom API endpoints, and resource keys. Start with the name used by your code, then open the declaration or implementation without knowing its file path

Smart Search opens the Routes picker from the status bar. The title buttons switch to another index, and a property key opens its declarations, one per locale file and cartridge

Let the workspace index load

Open the project, link the cartridges you need, and allow the Intellij SFCC language servers to finish indexing. Smart Search requires active plugin access, including trial access

Click the Smart Search status bar icon

Hover over the icon to see Smart Search. Clicking it opens the Routes picker

Choose a category

Use the icons at the top of the picker to switch between Routes, Hooks, Steptypes, Custom APIs, and Properties. Hover over an icon to see its category name

Search and open a result

Type a name or part of the result's description, select a match, and press Enter. The picker opens the indexed source; properties first offer a second picker for their declarations across locales and cartridges

Choose the right category

These examples are illustrative; results come from your linked workspace cartridges

CategoryExample searchWhat opens
RoutesProduct-ShowThe SFRA or SiteGenesis controller declaration, or the matching pipeline route in the visual editor
Hooksapp.demo.productThe indexed hook target. Row actions also expose its declaration and, where available, implementation
Steptypescustom.ExportDemoThe script module function, the chunk step's process function, or the pipeline step's declaration
Custom APIs/demo-productsThe endpoint's script implementation when resolved, otherwise its OpenAPI declaration
Propertiesbutton.addtocartA declaration picker showing values, locales, cartridges, and resource files; Enter opens the selected key in source

Custom API rows also provide Go to api.json declaration, Go to OpenAPI declaration, and Go to script implementation where the corresponding target is available. Step type rows provide Open json declaration to inspect the definition directly

Follow a route into the storefront

Route results include Open Endpoint, Copy Endpoint URL, and Show References actions. References help you follow callers; endpoint actions use the active connection and selected B2C Site Scope to construct the storefront URL

Opening or copying an endpoint requires a selected route, an active B2C connection, and a site scope. Opening a source result uses the local workspace index. It does not require the route to have been deployed or prove that the endpoint works on the sandbox

Resolve the right resource key

The Properties search starts with a key such as button.addtocart. After selecting it, compare the declaration rows: each includes its value, locale, cartridge, and file. Choose the declaration from the intended bundle before opening its references or localizations

For example, these are different resource identities even though their keys match:

Same key, different bundles
Resource.msg('label.title', 'product', null);
Resource.msg('label.title', 'account', null);

The declaration actions pass the selected key, bundle, and source location to the lookup. This keeps references tied to the intended resource rather than treating every identical key string as the same message

Troubleshooting

  • No results: check the category, confirm the cartridge is linked, and wait for indexing to finish. Routes, hooks, APIs, steps, and properties each use their corresponding SFCC index
  • A new declaration is missing: save the source file and allow the index to update. If the index still misses it, run Intellij SFCC: Refresh B2C Commerce Library from the Command Palette to reload the language server's SFCC model, or Developer: Reload Window, then wait for indexing again
  • Several cartridges contain the same route or resource: compare the cartridge details and select the correct site scope for site-aware resolution
  • Endpoint actions are unavailable: select the intended connection and site. Navigating local source and opening a remote endpoint have different prerequisites
  • A hook or API has no implementation action: inspect its declaration and verify that the referenced script exists in a linked cartridge

On this page