IntelliJ IDEA PSI Viewer

If you’re an IntelliJ IDEA plugin developer, you’re surely going to enjoy IntelliJ IDEA PSI Viewer (Tools -> View PSI Structure), which displays internal structure of various files, as they’re interpreted by IntelliJ IDEA. If you’re implementing a new language support, or trying to add some cool new features to what’s already supported — this viewer is what you’re gonna need a lot.

As you see, PSI Viewer is made up of of tree parts:

  • An editor with file content
  • PSI structure view with parent-child tree of its elements
  • Area that displays references of element selected in PSI structure view.

Note that references marked as red resolve to null.

Available since build 92.35

Comments below can no longer be edited.

7 Responses to IntelliJ IDEA PSI Viewer

  1. Avatar

    Squee-D says:

    March 25, 2010

    Absolutely the most useful thing ever 🙂
    What would also be nice is a “Getting Started With Psi” doc explaining how to best navigate files using Psi (and later how to construct/save etc).

    Plugins are quite easy in IDEA, considering this is my first foray into JAVA (Flex dev here). However because you’re likely to see more and more non-Java devs wanting to augment the app, I think helping us a little with the common patterns IDEA uses would go a long way to building community support.

    Anyway, fantastic feature, great IDE.

  2. Avatar

    Raja Nagendra Kumar says:

    May 20, 2010


    Also, it would be nice to have a document, which maps how to use PSI viewer to write a script in search for Structural search would be most useful.

    Raja Nagendra Kumar

  3. Avatar

    Ryan says:

    March 7, 2011

    What is PSI stands for anyway? -Thanks!

  4. Avatar

    PhpStorm? says:

    August 29, 2011

    While it loads in PhpStorm and is visible in plugins, I don’t get any new action (while I get them in IDEA). Would it be possible to get it? 🙂

  5. Avatar

    Victor says:

    January 1, 2013

    Should be stated that “Note that PSI viewer command is only available when there is at least one plugin module in project.”

  6. Avatar

    Selters says:

    April 5, 2016

    There is still no mention of what PSI actually stands for anywhere – every jetbrains page just assume that everyone knows what PSI is anyway – no need to define it – not even once.

    What is PSI??

Discover more