<type>documentation</type>
<domain>edit</domain>
<id>points-of-use</id>
<title>Find Points of Use</title>
<date>$Date: 2010-05-19 18:06:32 -0400 (Wed, 19 May 2010) $</date>
<version>$Revision: 22155 $</version>
<product>pro+</product>

Wing Pro can find all points of use of a symbol in the current project's Python files. To
start a search, select or place the cursor in a symbol and then use ``Find Points of Use``
in the ``Source`` menu or the editor's right-click context menu, or ``Alt-click`` on a
symbol. 

``Find Points of Use`` searches all files in your project. To limit your search to only
the current file, use ``Find Points of Use in Current File`` instead.

The results are shown in the ``Uses`` tool. Clicking on a match will show it in the
editor, highlighting it briefly with a callout, as configured from the ``Editor >
Callouts`` preferences group.

Completed searches are stored in the ``Uses`` tool. They can be selected from the drop
down menu at the top of the tool and deleted by clicking on the close icon. Searches do
not automatically refresh as code is modified, but may be updated manually with
``Refresh`` in the ``Options`` menu.

**Result Display**

Wing tries to show only symbols that are actually the same symbol, and not also other
like-named symbols. However, since Python is a dynamic language, it is sometimes
impossible to determine for certain whether a match is the same symbol. Matches are
assigned a likelihood of being correct, as follows:

**Likely**: The original symbol and found symbol resolve to the same definition so that
using ``Goto Definition`` on each will end up in the same place.

**Possible**: Either the original symbol or the found symbol don't resolve to any
definition.
 
**Unlikely**: The original symbol resolves to a different definition than the found
symbol.

Possible matches are listed with a question mark **?** preceding the filename and unlikely
matches are listed with double question mark **??** preceding the filename. Only likely
and possible matches are displayed by default. The display of possible and unlikely
matches may be toggled from the ``Options`` menu on a per-search basis.

**Finding Imported Symbols**

When finding a symbol from an import statement, Wing defaults to
finding where the imported module, class, function, or attribute is
used with the same name in all files searched.  To only find the
symbol created by the import statement used to start the search,
uncheck ``Find Imported Items Everywhere`` on the ``Options`` menu.

**Improving Quality of Results**

If Wing is failing to see matches as resolving to the same point of definition, it may
help to add to the ``Python Path`` in ``Project Properties`` or place type hints so that
the source analysis engine can determine the type of more symbols. See `Helping Wing
Analyze Code <ref:edit/helping-wing-analyze-code>`__ for details.
