Skip to content
Get Plugin >

Find all places where a symbol is used throughout your project.

Position your cursor on any symbol and use:

ActionmacOSWindows/Linux
Find UsagesAlt+F7Alt+F7
Find Usages in popupCmd+Alt+F7Ctrl+Alt+F7

Find Usages works with:

Find all instantiations of a template:

template Hasher() { // <- Find usages here
signal input left;
signal output hash;
}
template MerkleTree() {
component h1 = Hasher(); // Found: usage
component h2 = Hasher(); // Found: usage
}

Find all calls to a function:

function factorial(n) { // <- Find usages here
if (n <= 1) return 1;
return n * factorial(n-1); // Found: recursive call
}
template Main() {
var result = factorial(5); // Found: usage
}

Find all references to a signal:

template Example() {
signal input value; // <- Find usages here
signal output doubled;
doubled <== value * 2; // Found: usage
}

Find all uses of a variable:

template Loop() {
var sum = 0; // <- Find usages here
for (var i = 0; i < 10; i++) {
sum += i; // Found: usage
}
}

Find all uses of a component instance:

template Main() {
component adder = Adder(); // <- Find usages here
adder.a <== 5; // Found: usage
adder.b <== 3; // Found: usage
out <== adder.sum; // Found: usage
}

The Find Usages results appear in a tool window showing:

  • File name and path
  • Line number of each usage
  • Code context around the usage
  • Usage type (read, write, declaration)

In the results panel, you can:

  • Group results by file, package, or usage type
  • Filter to show only certain types of usages
  • Expand/collapse groups

For a quick visual overview without opening the Find Usages panel:

ActionmacOSWindows/Linux
Highlight usages in fileCmd+Shift+F7Ctrl+Shift+F7

This highlights all occurrences of the symbol in the current file.