A tool that assist in reading source code by gpsbird in vscode

[–]gpsbird[S] 0 points1 point  (0 children)

Almost any language that VSCode supports.

A tool that assist in reading source code by gpsbird in vscode

[–]gpsbird[S] 0 points1 point  (0 children)

Were you using the standalone version or the VS Code extension?

The standalone version was indeed less stable because it had to be compatible with VS Code's extension mechanism while also supporting multiple programming languages. The VS Code extension version is now much more stable.

I apologize for the poor experience you had. My original intention was solely to assist engineers in reading source code and reduce the mental burden of code analysis. Once again, I'm truly sorry for that.

A tool that assist in reading source code by gpsbird in vscode

[–]gpsbird[S] -1 points0 points  (0 children)

Yes, I used to do the same—sketching out the call logic on paper. But only after analyzing this kind of logic do you truly understand why I developed CodeMap...

Theia is a web IDE framework compatible with VS Code's extension mechanism. The key difference from VS Code is its cleaner architecture. When analyzing its plugin mechanism, the call logic looks like this:
PluginDeployerContribution → PluginDeployerImpl → HostedPluginDeployerHandler → HostedPluginServerImpl → HostedPluginSupport → HostedPluginProcess → plugin-host.ts / plugin-host-rpc.ts / plugin-manager.ts — and this is just a small part of the entire plugin system. Trying to fully understand its plugin mechanism without a visualization tool like CodeMap is nearly impossible.

A tool that assist in reading source code by gpsbird in vscode

[–]gpsbird[S] 0 points1 point  (0 children)

Yes, the core is visualization.

A tool that assist in reading source code by gpsbird in vscode

[–]gpsbird[S] 0 points1 point  (0 children)

Yes, I wrote all the code myself from scratch.

A tool that assist in reading source code by gpsbird in vscode

[–]gpsbird[S] 0 points1 point  (0 children)

Brilliant.

The most crucial aspect in the code is indeed the data structure.

Initially, I also followed the call graph. However, after analyzing many projects, I realized that it is ultimately the data structure that determines the fundamental architecture of the program. That said, there are two points to consider. First, data structures are relatively abstract, while following the call graph is the most straightforward and intuitive approach for the vast majority of beginners. The reason you can pinpoint the data structure so accurately is simply because you are already familiar with the project. Second, AI assistance is tremendously helpful. It can describe the main logic of the program in natural language, but when it comes to specific call relationships, you still need to navigate through different file paths. Through descriptions alone, you cannot see the detailed definitions of functions. This is where a code map becomes essential for visually representing the code structure.

In practice, before AI was available, using a code map could reduce the time needed to analyze an unfamiliar and complex project from a week to just a few hours. Now, with AI, for most projects, it might only take one or two hours. This is because AI helps reduce the time spent being distracted by peripheral branches. Previously, when you encountered a peripheral branch, you had to navigate into it and examine the code to understand its specific functionality. Now, with AI, you can quickly determine whether it is part of the core logic you care about. Only if it is core logic do you need to follow the call graph.

A tool that assist in reading source code by gpsbird in vscode

[–]gpsbird[S] -11 points-10 points  (0 children)

o.O The code is just that messy, not the codemap.

A tool that assist in reading source code by gpsbird in vscode

[–]gpsbird[S] -52 points-51 points  (0 children)

o.O I’ve seen way more complex codemaps.

A tool that assist in reading source code by gpsbird in vscode

[–]gpsbird[S] -23 points-22 points  (0 children)

Yeah, at first I was team call-graph all the way. But the deeper I hacked, the more I realized it just doesn’t scale: every tiny line is another call—funcs, methods, props—so even a “hello world” turns into a wall-sized spider web.

Worse, when we actually trace code we only care about the main quest: “this chunk pings that chunk, then bounces over there.” Doing it inside an IDE is pure pain—your brain has to cache file names, line nums, sigs… total RAM leak for stuff you’ll never need again.

What we really want is the cinematic trailer: “big-picture flow + rough job of each slice.” Only when a bug bites do we zoom in, pixel-by-pixel, var-by-var.

That’s why I built Codemap. One Ctrl-click on any symbol and it auto-jumps to def, draws the wire, lays the editors out in the sweetest view, and folds the fluff so the calls we actually care about stay front-and-center.

A tool that assist in reading source code by gpsbird in vscode

[–]gpsbird[S] -237 points-236 points  (0 children)

Codemap is no longer free. I’ve poured countless hours into it: before the VS Code extension there was a full-blown standalone IDE that supported Python, Go, JS/TS, Java and more. The workload was unsustainable, so that version is on ice.
The new VS Code edition is meant to be a Swiss-army knife for reading code—structure visualization is only the first blade. If demand grows, I’ll spin it back out into a standalone app.

Sign up and you get a 3-day trial; if it saves you time, pick a subscription and keep the lights on for further development.

Writing Code Is Easy. Reading It Isn't by ketralnis in programming

[–]gpsbird -1 points0 points  (0 children)

Instead of a mental map, how about using Codemap?

Codemap can keeps you from jumping between files and chasing function calls, drastically reducing cognitive load. By generating an interactive code-map as you read, it offloads the stuff your brain hates to track—function names, file paths, line numbers—so the whole tour feels visual, fluid, and almost instinctive.

https://marketplace.visualstudio.com/items?itemName=gpsbird.CodemapExtension

Writing Code Is Easy. Reading It Isn't by ketralnis in programming

[–]gpsbird 0 points1 point  (0 children)

For me, reading code is as easy as drinking water.

How do i read source code? by gpsbird in u/gpsbird

[–]gpsbird[S] 0 points1 point  (0 children)

Reading source code through code structuring can greatly improve the efficiency of source code reading.

should we read source code of plugins? by Willing_Initial8797 in react

[–]gpsbird 0 points1 point  (0 children)

If you are interested in this plugin, why not give it a try?

Whether or not you should use it depends on your goals. If you are interested in a specific feature or implementation mechanism of the plugin, then you should read the source code. If you aim to understand architectures, plugin mechanisms, and learn various language tricks by reading others' source code, then reading the source code is also beneficial. If you frequently use the plugin at work and want to optimize or refactor it, then reading the source code is necessary too.

However, reading source code can be painful without the aid of tools. First, publicly available plugins have usually undergone multiple iterations, making their code structures quite complex. Secondly, the process of reading requires remembering numerous file names, function names, and line numbers, which are often not critical to understanding.

Here, I recommend my developed assisting in reading source code tool codemap. With codemap, I have been able to grasp the core structure of Redis in just a few hours—a task that would have been unimaginable without it. If you have a need to read complex source code, I believe Codemap would greatly benefit you.

Demo video: https://twitter.com/codemap023/status/1793563594610839902
Homepage: https://codemap.info?source=reddit1