chanhx / crabviz

🦀 A LSP-based interative call graph generator
Apache License 2.0
674 stars 22 forks source link

Can't zoom in far enough #9

Open NobbZ opened 1 year ago

NobbZ commented 1 year ago

In a project at work, the call graph probably has several thousand items (we have et least 800 elixir modules).

When initially created the graph is just a thin vertical line, after maximally zooming in, it is a bold vertical line created from blocks, that seem to have labels. It is still not quite usable.

I have not yet been able to try this on smaller projects or comperably large projects in another language.

image
chanhx commented 1 year ago

If the project is large, I would suggest just specifying a few files and folders for analysis. It would be slow analyzing a whole large project. There is no edge shown on the result, maybe it's the same issue in #5. So you could check whether "call hierarchy" is supported by the language server. If so, you could retry generating the call graph with specific files.

pJunger commented 1 year ago

I've tried the same for C++ on a folder with 11 .cpp files and a total of 5k LOC (using clangd which seems to be able to show call hierarchies) and after multiple hours it showed the same thing. If I restrict the scope further the interactions become uninteresting/nonexisting.

chanhx commented 1 year ago

I've tried the same for C++ on a folder with 11 .cpp files and a total of 5k LOC (using clangd which seems to be able to show call hierarchies) and after multiple hours it showed the same thing. If I restrict the scope further the interactions become uninteresting/nonexisting.

I have not tested it with clangd on C++ projects, but I have tried it on my rust project DB0 (6k+ LOC currently), and it worked well. Maybe that is related to the language, the language server and the code complexity (not merely measured by LOC). I will test against C++ project later. As for the interaction issue, I will look into improving the performance.

iyongliang commented 1 year ago

I have same issue. For a cpp project, call graph too long and not connected each other, very expect new feature for C / C++ project!

chanhx commented 1 year ago

I've released version v0.1.2 which should fix this bug. Could you please update the extension and confirm if the problem is now resolved?

DR-APL commented 5 months ago

In my experience, this is still an issue for both SVG exports and the Visual Studio Code extension which I imagine is the same issue but with an embedded browser window.

chanhx commented 5 months ago

In my experience, this is still an issue for both SVG exports and the Visual Studio Code extension which I imagine is the same issue but with an embedded browser window.

I have fixed some bugs on Windows and unset the max zoom level in v0.4.0. Please update the extension and take it a try.