Find and replace in project
You can search for a text string within a project, use different scopes to narrow your search process, exclude certain items from your search, find usages and occurrences.
Find the search string in a project
In the search field, type your search string. Alternatively, in the editor, highlight the string you want to find and press Control+Shift+F. PyCharm places the highlighted string into the search field.
To see a list of your previous searches, press Alt ArrowDown.
If you need, specify the additional options.
PyCharm lists the search strings and the files that contain them. If the search string is found several times on the same line of code, PyCharm merges the results in one line.
To do a multi-line search, click the icon to enter a new line, and press Control+Alt+ArrowDown/Control+Alt+ArrowUp to browse through occurrences.
Check the results in the preview area of the dialog where you can replace the search string or select another string, press Control+Shift+F again and start a new search.
To see the list of occurrences in a separate tool window, click Open in Find Window. Use this window and its options to group the results, preview them, and work with them further.
If you want to see each new search result in a separate tab in the Find tool window, click on the bottom of the Find in Files dialog and select the Open Results in New Tab checkbox.
Copy paths or references of the found files
In the list of search results, right-click the result for which you want to copy a path and click Copy/Reference.
In the Copy window, select the path or reference you need.
Narrow your search
You can use different options in the Find in Files dialog to adjust your search process.
Select options such as Words () or Match case () to find the exact word in a project or match the letter case.
With selected, PyCharm automatically escapes special regex symbols with backslash
\when you search for a text string that contains them.
For more information about regex, refer to the search with regex documentation.
Click the icon to filter your search. For example, you can filter the search to omit comments or search only in comments instead.
Select one of the displayed options such as Module or Directory to limit your search.
Moreover, you can select the Scope option that offers you a list of predefined scopes for your search. For example, you can limit your search only to the open files in your project.
If you work without tabs, the scope Recently Viewed Files or Recently Changed Files option might become quite useful. You can also create your own custom scope, click the Browse icon () to open the Scopes dialog.
Search in the specific file types
Use the File Mask option to narrow your search to a specific file type. You can select the existing file type from the list, add a new file type, or add an additional file mask syntax to search for file types with certain patterns.
In the Find in Files dialog, select the File Mask checkbox and from the list of file types, select the one you need.
PyCharm limits its search to the specified type.
If you don't find the file type you need in the list, enter your file type in the File Mask field.
You can manually add a file mask in the search field. If necessary, specify several file types separating them with commas.
Search for usages in a project
You can search for usages of a symbol in your whole project or in a scope that you set.
Select the symbol for which you want to find usages. Note that you can extend your search to file usages as well.
From the main menu selectAlt+F7.
Check the results in the Find tool window.
You can also pull out the results from the previous Find Usages actions. Go to and the usage query.
While in the Find tool window, you can use the Preview area to check the places where the usages were found, to see a call hierarchy for methods, data flow for fields, and so on.
If PyCharm doesn't return any results, it will display a message suggesting to opt for more options. You can follow the link or press Control+Alt+Shift+F7 to open the Find Usages dialog where you can set a new scope for your search.
For example, you can set your search scope to production files only or to only open files.
To set a custom scope, click .
When you are done setting a new scope, click Find.
If you want PyCharm to show you usages of the selected symbol in the separate window, press Control+Alt+F7. You can use this window for quick navigation.
Press the same shortcut again to see the usages in the default scope.
Disable automatic highlighting of usages
When you place the caret at a symbol, the IDE highlights all usages of this symbol in the current file. Use the F3 and Shift+F3 shortcuts to navigate between highlighted symbols.
If necessary, you can disable the automatic highlighting.
In the Settings dialog (Control+Alt+S), go to , and clear the Highlight usages of element at caret checkbox.
When the automatic highlighting is disabled, place the caret at the necessary symbol and press Control+Shift+F7. This will highlight all usages of the symbol in the current file.
Replace the search string in a project
Press Control+Shift+R (Replace in Path dialog.) to open the
In the top field, enter your search string. In the bottom field, enter your replacement string.
For example, if you want to replace a variable name with a new name for a large project, use the Replace in path instead of the Rename refactoring since your variable can appear in the config files as well.
Click one of the available Replace commands.