Feature Request: Source Code Navigator for classes, methods, variables etc


I’ve been trialling Atom for the last few weeks and I’m really missing a source code navigator like you have in most IDEs and text editors like Netbeans or Coda. I like to have a full list of methods, classes and data members including whether they are public, private, static etc. so that I can just click through a file to get where I want quickly. I know there is a fuzzy finder search for this kind off thing but it isn’t nearly as useful. What if I don’t know specifically what the method is called? Does anyone know if there is a package available for this?


Atom is a text editor, not an IDE. With that being said, I’m not aware of any such package for any languages (if any exists, it will likely be one package per language).

Your best bet would likely be to start with CTags, which Atom supports, and if you need more than it provides, look for a package or make one yourself.


There is a somewhat related discussion going on regarding the Atom API docs and how to find a good format that integrates directly from the source code as well (see #3126 and also #3123).

I think whatever the end result of that will be is going to be useful for packages that try to do this for specific languages and other APIs etc.


I am currently working on a package for that since I miss it as well! :smile:

Not sure what languages you are looking for support with, but my initial version should support Python.


This is the one feature that I have been looking at all the editors for. I would love to switch to atom from eclipse but without an outline view its just too big of a change to my workflow.


+1 It’s a great feature.

I hesitated to create this package (for PHP and JS) with the API doc displayed on hover but this requires much labor given it takes (among others) consider the object references, a lightweight and reliable indexation of code, …

@thomasjo: It’s not an IDE but with lot of packages out there, we can build a true custom IDE :blush:


@skulled, is there any progress on this package you worked on? I really miss this as well! and exactly for python


Just responded back to your message.

I am hoping to make an initial release sometime later this month, development got delayed to some factors.


I’m also looking forward for this feature to be added for PHP. This will be a great addition to Atom.


There’s the symbols tree view package, which displays the same symbols as the Cmd+R popup, but in a permanently visible pane. It has a lot of missing pieces at this moment, in my experience, though.


Anything new? I’m also missing a source code navigator, especially for python.


Hi Everyone,

I just wanted to check in on this, either with @skulled or anyone else. Is there a package available to display a class tree for the given source file (or a wider project)?

It seems a number of us would benefit from such a feature.




I am working currently on an atom package providing similar functionality(easily adaptable for many languages and in a way that will bring some pretty powerful refactoring stuff in)

I will have something prototypish to show in the beginning of November probably, cheers


Can u send me a link to the repo ?


I am not familiar with the term “IDE”. Would you please tell me what that is.


It stands for Integrated Development Environment. An IDE is designed to make working with a particular language seamless.


As symbols-tree-view previously mentioned is not being maintained anymore (since a while), I forked it and added some features: https://atom.io/packages/symbols-tree-nav (but I cannot say when I’ll have time enough to further improve it (any PR welcome)).

A new and interesting package (though there are still a lot of languages missing, among them python) is https://github.com/alibaba/structure-view


The “official” atom-ide-ui package has an outline view for languages with an ide-<language> package available.
Here’s an intro to the whole package: http://blog.atom.io/2017/09/12/announcing-atom-ide.html


If anyone is wondering about what it could look like or implementations in other languages, there is a little gem of a visual studio extension called CodeMap. Their implementation is close to perfect and makes me save a ton of time everyday. Of course it’s tightly attached to VS and the compiler, so no idea is something like that can be done for Atom.

You can see examples here : http://supercharger.tools/#sectionCodeMAP


Structure-view is a suitable alternative and works well with php