PhpStorm 2025.2 Help

Source code navigation

You can quickly navigate through your code in the editor using different actions and popups.

You can start with watching a video tutorial to check what navigation options are available in PhpStorm.

Navigate with the caret

  • To see the previous caret position, select Navigate | Back from the main menu or press Ctrl+Alt+Left. To move forward, select Navigate | Forward or press Ctrl+Alt+Right.

  • To quickly move to the top of the editor, press Ctrl+Page Up. To move the caret to the bottom of your editor, press Ctrl+Page Down.

  • To navigate to the last edited location, press Ctrl+Shift+Backspace.

  • To find the current caret location in the editor, press Ctrl+M. This action might be helpful if you do not want to scroll through a large file.

    Alternatively, you can press Up and Down arrow keys to achieve the same result.

  • To highlight a word at the caret you are trying to locate, select Edit | Find | Next Occurrence of the Word at Caret from the main menu. If you are using Windows, you can also press Ctrl+F3.

  • To see on what element the caret is currently positioned, press Alt+Q.

  • To move caret between matching code block braces, press Ctrl+Shift+M.

  • To navigate between code blocks, press Ctrl+[ or Ctrl+].

Move the caret

You can use different actions to move the caret through code. You can also configure where the caret should stop when moved by words and on line breaks.

  • To move the caret to the next word or the previous word, press Ctrl+Right or Ctrl+Left.

    By default, PhpStorm moves the caret to the end of the current word. When you move the caret to the previous word, it is placed at the beginning of the current word.

    You can customize the caret position for these actions. In the Settings dialog (Ctrl+Alt+S) , go to Editor | General. In the Caret Movement section, use the When moving by words and Upon line break options to configure the caret's behavior.

  • To move the caret forward to the next paragraph or backward to the previous one, press Ctrl+Shift+A and search for the Move Caret Forward a Paragraph or Move Caret Backward a Paragraph action.

    You can also select a text and then move the caret forward or backward to a paragraph. Press Ctrl+Shift+A and search for the Move Caret Forward a Paragraph with Selection or Move Caret Backward a Paragraph with Selection action.

Find a line or column

  1. In the editor, press Ctrl+G.

  2. In the Go to Line/Column dialog, specify a line or column number, or both, separating them with : and click OK.

    Go to line/column dialog
  3. If you do not want to see the line numbers in the editor, in the Settings dialog (Ctrl+Alt+S) , go to Editor | General | Appearance and clear the Show line numbers checkbox.

Locate a code element with the Structure view popup

You can use the structure view popup to locate a code element in the file you are working on.

  1. To open the structure view popup, press Ctrl+F12.

  2. In the popup, locate an item you need. You can start typing a name of the element for PhpStorm to narrow down the search. Press Enter to return to the editor and the corresponding element.

    While in the popup, you can sort file members, see anonymous classes and inherited members.

    Structure View popup

Go to declaration and its type

You can navigate to the initial declaration of a symbol and the symbol's type from its usage.

  • Place the caret at the necessary symbol and press Ctrl+B.

    Alternatively, use Ctrl+Click: keeping Ctrl pressed, hover over the symbol. When the symbol turns into a hyperlink, its declaration will be displayed in the tooltip. Click the hyperlink without releasing the key to open the declaration in the editor.

    ps_viewDeclaration.png
  • For a type declaration, press Ctrl+Shift+B.

    Alternatively, keeping Ctrl+Shift pressed, hover over the symbol. When the symbol turns into a hyperlink, its type declaration will be displayed in the tooltip. Click the hyperlink without releasing the keys to open the type declaration of the symbol in the editor.

    ps_viewTypeDeclaration.png

Consider the following sample code fragment:

class C {} class D { public function f() { return new C; } } $a = new D; $a->f();
  • Invoking Go to Type Declaration on $a will move the caret to the variable's type, class D.

  • Invoking Go to Type Declaration on the f method in $a->f() will move the caret to the declaration of the class returned by this method, class C.

  • Invoking Go to Declaration on the f method in $a->f() will move the caret to this method's declaration within class D.

Go to implementation

You can keep track of class implementations and overriding methods using the gutter icons in the editor, or by pressing the appropriate shortcuts, or by clicking Inheritors inlay hints.

  • Click one of the the Implemented method icon/the Implementing method icon, the Overridden method icon/the Overriding method icon gutter icons located in the editor and select an ascendant or descendant class from the list.

  • To navigate to the super method, press Ctrl+U.

  • To navigate to the implementation, press Ctrl+Alt+B.

  • Use Inheritors inlay hints that show the number of descendants of a class (inheritors), interface (implementations), or trait (used by`s). Click the hint to jump to the descendants. If there are several descendants, select the relevant one from the list.

    Inheritors inlay hints are enabled by default. To turn them off, hover over a hint and select Hide 'Code Vision: Inheritors' Inlay Hints or Hide All 'Code Vision' Inlay Hints from the context menu.

    Hide Inheritors hints in the editor

    By default, Inheritorshints are shown above classes and interfaces. To change this position, click Configure from the context menu of a hint.

    Inheritors hints: configure position

    On the Inlay Hints page, that opens, select the appropriate setting from the Position list. Alternatively, select the Code vision node and change the Default position for metrics.

    Code vision: configure position in the Settings dialog
  • To jump to the next or previous found issue in your code, press F2 or Shift+F2 respectively. Alternatively, go to Navigate | Next / Previous Highlighted Error in the main menu.

    PhpStorm places the caret immediately before the code issue.

  • Configure the way PhpStorm navigates between code issues: it can either jump between all code issues or skip minor issues and only navigate between detected errors. Right-click the code analysis marker in the scroll bar area and choose one of the available navigation modes from the context menu:

    • To have PhpStorm skip warnings, infos, and other minor issues, choose Problems with Highest Priority.

    • To have PhpStorm jump between all detected code issues, choose All Problems.

Browse through methods

  • Press Alt+Down or Alt+Up.

    For JavaScript code inside HTML files, this behavior depends on the caret location. If the caret rests inside a JavaScript block, it enables jumping between JavaScript functions. If the caret rests on a <script> tag, then navigation is performed between the tags.

  • To visually separate methods in code, in the Settings dialog (Ctrl+Alt+S) , go to Editor | General | Appearance and select the Show method separators option.

    Method Separators in Editor
  • To open the Structure tool window, press Alt+7.

14 September 2025