free software

PsiViewer

Products: IntelliJ IDEA, RubyMine, WebStorm, PhpStorm, PyCharm, AppCode, Android Studio, 0xDBE

Vendor: Andrew Armstrong, Bas Leijdekkers, Vince Mallet, Ole Matzura, Jacques Morel, Colin Fleming, Jon Akhtar

Email: N/A

Website: https://github.com/cmf/psiviewer

Bugtracker page

Description:

A Program Structure Interface (PSI) tree viewer. This plugin may be useful for developers who are considering using the PSI interface in their own plugins.
Downloads: 23071
Rating:
Participated in rating: 10
Version Since Build Until Build File/URL Size (Kb) Date Details
3.28.73. 130. . Download 87.84 2014-06-30 20:11:34 details
3.27.57. 110.129. . Download 87.56 2012-09-21 06:03:40 details
2.27.34. 40.3461. . Download 90.88 2011-08-07 11:57:02 details
2.25.3. 40.3185. . Download 93.49 2005-04-09 08:51:17 details
2.24.1. 40.3144. . Download 93.39 2005-04-06 11:17:15 details
2.22.1. 40.2000. . Download 93.97 2004-07-15 14:13:37 details
2.20 build 4 20031021. . . Download 95.48 2004-06-30 23:10:01 details
. .
13 updates are hidden show all updates

Recent change notes:

  • Fixed some longtime annoyances. The cursor doesn't jump around anymore
  • Leaf nodes which are not children of the psi tree are filtered from the selection
  • Support for all JetBrains IDEs
  • Fixed the toolwindow icons

Comments:

12>
meo
Rated:
2014-10-22 15:17:39
Awesome.
.
MichaelShumenko
Rated:
2014-06-14 04:21:25
thanks, it's very useful for me
.
neuro159
2012-08-30 17:20:08
WARN - openapi.wm.impl.ToolWindowImpl - ToolWindow icons should be 13x13. Please fix jar:file: ... plugins/PsiViewer_10235.jar!/images/psiToolWindow.png
.
Anonymous
Rated:
2012-07-29 07:19:52
Hi. I'm running the lsetat version of multisite and using version 1.26 of your plugin. It is working fine and is really appreciated. It does just what I need with one exception. I am the only one (Super Admin) who can see it and consequently the only one who can approve new users. Is there something I can do so that people with other roles (like site admin) can approve new users? I'm not a coder so if it involves changing code please be very specific. Thank you.
.
juzna.cz
Rated:
2012-01-13 13:14:46
There is however much better internal PSI viewer already embedded in IDEA: http://devnet.jetbrains.net/message/5247257#5247257
.
neuro159
Rated:
2011-11-22 13:02:43
Great work!
Thanks for latest update!
.
sylvanaar
2011-04-25 19:07:31
This version has now been updated with the changes made in the plugin below
.
Anonymous
2011-04-10 22:51:42
updated version: http://plugins.intellij.net/plugin/?idea&id=6025, fixes error messages
.
Anonymous
2011-01-21 20:11:45
You can fix the icon error by editing the jar and copying /PsiViewer/images to /images
.
yannc76
2011-01-18 22:55:17
anyone release the sources, please? I'm getting exceptions on every startup in IDEA X
.
Anonymous
2010-06-22 19:14:31
And just now got this error when opening another project:


Argument 1 for @NotNull parameter of com/intellij/psi/util/PsiTreeUtil.isAncestor must not be null: Argument 1 for @NotNull parameter of com/intellij/psi/util/PsiTreeUtil.isAncestor must not be null
java.lang.IllegalArgumentException: Argument 1 for @NotNull parameter of com/intellij/psi/util/PsiTreeUtil.isAncestor must not be null
at com.intellij.psi.util.PsiTreeUtil.isAncestor(PsiTreeUtil.java)
at idea.plugin.psiviewer.controller.project.EditorListener.isElementChangedUnderViewerRoot(EditorListener.java:106)
at idea.plugin.psiviewer.controller.project.EditorListener.updateTreeFromPsiTreeChange(EditorListener.java:96)
at idea.plugin.psiviewer.controller.project.EditorListener.access$000(EditorListener.java:46)
at idea.plugin.psiviewer.controller.project.EditorListener$1.propertyChanged(EditorListener.java:89)
at com.intellij.psi.impl.PsiManagerImpl.fireEvent(PsiManagerImpl.java:643)
at com.intellij.psi.impl.PsiManagerImpl.propertyChanged(PsiManagerImpl.java:571)
at com.intellij.psi.impl.file.impl.FileManagerImpl$FileTypesChanged.run(FileManagerImpl.java:257)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:752)
at com.intellij.psi.impl.file.impl.FileManagerImpl.handleFileTypesChange(FileManagerImpl.java:266)
at com.intellij.psi.impl.file.impl.FileManagerImpl.recalcAllViewProviders(FileManagerImpl.java:120)
at com.intellij.psi.impl.file.impl.FileManagerImpl.access$000(FileManagerImpl.java:68)
at com.intellij.psi.impl.file.impl.FileManagerImpl$1.enteredDumbMode(FileManagerImpl.java:101)
at sun.reflect.GeneratedMethodAccessor140.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.util.messages.impl.MessageBusConnectionImpl.deliverMessage(MessageBusConnectionImpl.java:101)
at com.intellij.util.messages.impl.MessageBusImpl.doPumpMessages(MessageBusImpl.java:183)
at com.intellij.util.messages.impl.MessageBusImpl.doPumpMessages(MessageBusImpl.java:188)
at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:175)
at com.intellij.util.messages.impl.MessageBusImpl.pumpMessages(MessageBusImpl.java:172)
at com.intellij.util.messages.impl.MessageBusImpl.sendMessage(MessageBusImpl.java:167)
at com.intellij.util.messages.impl.MessageBusImpl.access$000(MessageBusImpl.java:40)
at com.intellij.util.messages.impl.MessageBusImpl$2.invoke(MessageBusImpl.java:106)
at $Proxy39.enteredDumbMode(Unknown Source)
at com.intellij.openapi.project.DumbServiceImpl$1$1.run(DumbServiceImpl.java:154)
at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:752)
at com.intellij.openapi.project.DumbServiceImpl$1.run(DumbServiceImpl.java:151)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:610)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:500)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:368)
at com.intellij.ide.IdeEventQueue.pumpEventsForHierarchy(IdeEventQueue.java:669)
at com.intellij.openapi.progress.util.ProgressWindow.startBlocking(ProgressWindow.java:167)
at com.intellij.openapi.application.impl.ApplicationImpl.runProcessWithProgressSynchronously(ApplicationImpl.java:506)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcessWithProgressSynchronously(ProgressManagerImpl.java:253)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcessWithProgressSynchronously(ProgressManagerImpl.java:248)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcessWithProgressSynchronously(ProgressManagerImpl.java:239)
at com.intellij.openapi.project.impl.ProjectManagerImpl.openProject(ProjectManagerImpl.java:372)
at com.intellij.openapi.project.impl.ProjectManagerImpl.loadAndOpenProject(ProjectManagerImpl.java:420)
at com.intellij.openapi.project.impl.ProjectManagerImpl.loadAndOpenProject(ProjectManagerImpl.java:403)
at com.intellij.ide.impl.ProjectUtil.openProject(ProjectUtil.java:157)
at com.intellij.ide.RecentProjectsManager.doOpenProject(RecentProjectsManager.java:48)
at com.intellij.ide.RecentProjectsManagerBase$ReopenProjectAction.actionPerformed(RecentProjectsManagerBase.java:225)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:218)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:81)
at com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:496)
at com.intellij.ui.plaf.beg.BegMenuItemUI.access$300(BegMenuItemUI.java:43)
at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:516)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:610)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:496)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:368)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
.
Anonymous
2010-06-22 18:48:13
I'm getting the following error when I open up the PsiViewer context menu for a file, using IDEA 9.0.2:


[ 14234] ERROR - nSystem.impl.ActionManagerImpl - Icon cannot be found in '/images/psi18x18.png', action class='idea.plugin.psiviewer.controller.actions.ViewElementAtCaretAction' [Plugin: PsiViewer]
com.intellij.diagnostic.PluginException: Icon cannot be found in '/images/psi18x18.png', action class='idea.plugin.psiviewer.controller.actions.ViewElementAtCaretAction' [Plugin: PsiViewer]
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.reportActionError(ActionManagerImpl.java:890)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.setIconFromClass(ActionManagerImpl.java:416)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.convert(ActionManagerImpl.java:264)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.getActionImpl(ActionManagerImpl.java:199)
at com.intellij.openapi.actionSystem.impl.ActionManagerImpl.getAction(ActionManagerImpl.java:192)
at com.intellij.openapi.actionSystem.DefaultActionGroup.unstub(DefaultActionGroup.java:260)
at com.intellij.openapi.actionSystem.DefaultActionGroup.getChildren(DefaultActionGroup.java:239)
at com.intellij.openapi.actionSystem.impl.Utils.hasVisibleChildren(Utils.java:162)
at com.intellij.openapi.actionSystem.impl.Utils.expandActionGroup(Utils.java:117)
at com.intellij.openapi.actionSystem.impl.Utils.fillMenu(Utils.java:216)
at com.intellij.openapi.actionSystem.impl.ActionPopupMenuImpl$MyMenu.show(ActionPopupMenuImpl.java:76)
at com.intellij.openapi.fileEditor.impl.text.TextEditorComponent$MyEditorMouseListener.invokePopup(TextEditorComponent.java:307)
at com.intellij.util.EditorPopupHandler.handle(EditorPopupHandler.java:27)
at com.intellij.util.EditorPopupHandler.mouseReleased(EditorPopupHandler.java:41)
at com.intellij.openapi.editor.impl.EditorImpl$MyMouseAdapter.runMouseReleasedCommand(EditorImpl.java:3671)
at com.intellij.openapi.editor.impl.EditorImpl$MyMouseAdapter.mouseReleased(EditorImpl.java:3606)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2478)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:610)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:496)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:368)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
.
deepsky8
Rated:
2009-10-12 13:31:46
PsiViewer was a big help for me on the SQL Assistant plug-in development. It has several minor bugs but there is possible to bear with them.
Great tool!
.
Anonymous
Rated:
2009-06-11 01:02:58
Unfortunately, this doesn't work at all for me. The PsiViewer view is always empty.

I can't find any documentation, so I don't know if there are any special prerequisites to get it working (PSI tree needs to be in a particular format? nodes need to implement a particular interface?).

I just wrote a util function to dump the PSI tree to stdout instead.
.
Anonymous
Rated:
2009-03-03 17:20:26
.
12>