This looks like an exceptionally useful tool! Thanks for making and sharing it. The video is excellent.<p>It reminds me of a feature I've always wanted, which would be a code unravel-er. Basically I'd like to be able to select a line anywhere in a codebase, and have said codebase expand to show me the entire execution path as if it were in one single scope, with the ability to re-collapse sections back into loops and functions while reading.<p>I think it would help to better understand the codepaths that can start to get fuzzy when jumping between abstractions. It would be great - not only for understanding unfamiliar code - but also for double-checking logic across longer code paths.<p>At any rate - great idea, great implementation, and beautiful website.
I used Sourcetrail a few months ago to figure out a ugly ball of embedded C code that I needed to reimpliment. Sourcetrail was super helpful for this. It paid for itself in an afternoon.
Hm does anyone know of a web-based tool like this that uses Clang as a back end? I want to put open source code like the bash and Python interpreters in it and be able to navigate symbolically. And I want nice permalinks.<p>EDIT: It looks like <a href="https://woboq.com/codebrowser.html" rel="nofollow">https://woboq.com/codebrowser.html</a> is what I want. The code available but not under and open source license. <a href="https://github.com/woboq/woboq_codebrowser/" rel="nofollow">https://github.com/woboq/woboq_codebrowser/</a><p>I will probably try this, but I'm interested in alternatives!
Website feedback: Supported languages is the #1 most important piece of info about this software. It should be front and center and probably repeated a few times already on the landing page.
Just a feature request if it isn't already in the works:<p>Runtime analysis of code that actually matters ie <i>live code</i>.<p>Often its hard to figure out what in the code base actually matters.<p>Debugging is still sort of difficult and dead code is really hard to find and get rid of. Particularly if reflection is used heavily which it almost always is these days.<p>Otherwise (IMO) as a Java developer IntelliJ and Eclipse are actually not that far off in their static analysis and already pretty good to discover the code. Especially IntelliJ as I can easily see them enhancing their code view/discovery as well as they already have static dead code analysis.<p>I guess I don't think discovering code bases is that much of a problem compared to understand what is actually running.<p>That is I think debugging particularly multithreaded applications is vastly more difficult problem. Thus runtime analysis would be very useful.
I really want something like this for heterogenous codebases. Maybe along the lines of ollydbg and ida but for "reverse" engineering Ruby, python, and go.
Not saying this is bad, but...<p>Instead of giving money to a tool like this, you could just use ctags/etags, both of which are Free Software. It doesn't show detailed graphs like Sourcetrail does, but it allows source code traversal by function definitions, and supports a crapton of languages.
Has anyone run a large codebase like chromium with this tool? Is the indexing looking at what's compiled like libclang or is it static like gtags?
Slightly tangential.. a code editor was showcased on HN few years back, with context sensitive "panes".. for example currently selected function/variable declarations in another pane. Very impressive stuff, but can't seem to find it anywhere now.
Looks really good: one possible suggestion would be to allow sharing/reuse of indexes. Let me commit the built index to git and then have someone else checkout and use the index that was prebuilt.<p>One (potentially paying) alternative would be to provide a precompilation service. Not sure if your index generation can be parallelized, but potentially you could take an archive of the code (or pull directly from Github or Bitbucket or any other repo endpoint) then spin up a large EC2 instance (or the equivalent for your cloud of choice) and accelerate the generation of the index. For large codebases it may provide a good boost.
I had a quick play with this today and it seems like something that could be really useful.<p>A couple of relatively minor comments for you:<p>* In C++ it might be useful to filter include guards out of the symbol lists.<p>* I had some problems with using the menus (couldn't click on them, when I did select them couldn't get the menu to drop down). It's probably just because I'm using a weird window manager (xmonad, no window decorations, Ubuntu 16.04).
How different is this from CodeLens ? Seems like most of these features are in CodeLens anyways, maybe the licensing for CodeLens??<p>CodeLens => <a href="https://msdn.microsoft.com/en-us/library/dn269218.aspx" rel="nofollow">https://msdn.microsoft.com/en-us/library/dn269218.aspx</a>
Do you also have arrows to methods in your own class? In addition, how does this relate to code maps in VS?<p><a href="https://msdn.microsoft.com/en-us/library/jj739835.aspx" rel="nofollow">https://msdn.microsoft.com/en-us/library/jj739835.aspx</a><p>Seems they cover a similar thing.
What languages are supported? At least on mobile, there is zero mention of language support outside of testimonials and screenshots. Is it just Java and C++?