Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Navigate your code like it's 2021 (utk.edu)
63 points by azhenley on March 3, 2021 | hide | past | favorite | 18 comments


> Search is not a great solution either, since it is rarely used

As a Vim user, I use search all the time, largely because it's so easy (just / and start typing).

I don't have much experience with large code bases, but this looks interesting, and I'll give it a try. If it plays well with Vim emulation it could be great.


The issues with search start emerging as code base grows in size. For instance, in any decent sized C++ library likely has multiple definitions of functions, to be compiled with different compiler flags. In a simpler case, you might even have overloaded functions with different signatures but the same name.

The value with IDEs is a smarter method for traversing code. It figures out exactly which function you mean, helping you get better context cues, auto-completion and traversals. This isn't particularly easy to emulate through simple command-line tools.


I use atom and use searching all the time too. Mainly because its so easy to reach and execute trough shortcuts. Definitly faster than touching zhe mouse.


Tangentially:

I want this "ribbon" thing -- i.e. infinitely wide, just default add new clients to the right and focus on them as needed in a (Linux) Tilingish Window Manager! I've had more-or-less the same idea, and took a look at implementing it in something like Awesome or i3 (or better yet Openbox + config, which is what I use now) but sort of gave up on it?

Is this a thing? Any ideas on this out there?


https://github.com/paperwm/PaperWM for Gnome is just like that, it's a wonderful concept.


Nice! That's exactly it...

...but it requires Gnome, which for now is a no-go for me. I'd love to see something more cross-platform, but thanks for pointing this out.


It makes me think about this concept https://desktopneo.com/ . While not perfect, there are definitely some interesting ideas


Very cool, although I prefer semantic navigation. In vim-go:

  :GoDef
Takes me to the place that the declaration or symbol exists at.

Then when I need to go back, I just

  :bp
If I want to see the docs, I just:

  :GoDoc

Take that, 2021!


Most editors now have shortcuts for that. A simple F12 (customizable) will take you to the definition (and if paths are configured correctly, the correct definition for multiple definitions)


I can't imagine this beating the combination of history-tabbing (ctrl + tab in IntelliJ) and fuzzy search.

Just like with tabs, I now have to manage which files are "open", when usually I only ever want to: A.: go back 1-4 files, or B.: go to a specific symbol. I have two or three splits, and use whatever split is least relevant to view the next file.

I'm only so critical, because it's sold as the next big innovation, when it seems more like a 2% improvement. Having a bit more virtual space is nice I guess, but everything else I already have or don't want.


What I'd like to see in most IDEs in 2021 is perfomance improvements. It's a chore to scroll through in most of the mainstream IDEs (VS, VSCode, IntelliJ, etc.) when the loaded project is large. Arguments can be made to have smaller files, projects yes. But, in my experience at all the large corps this isn't as easy since legacy code exists in large swathes. Smooth scrolling, quick finds, indexes would be godsend right about now.


Not cheap, but if you are dealing with large code bases, it is definitely worth it to invest in a powerful workstation.

While not the most powerful, i have found few codebases I couldn't navigate smoothly with my 6 core i7, with 64GB of ram and dual 500gb nvme drives running in raid 0.


The scrollable tiled window concept is really nice! I hope more softwares / desktop environment adopt this.

This alone does not beat search / recent buffer like features for me. Besides goto def feature, I usually use search in project, go to last changes and avy/kjump to navigate codebases.


Can we get a VS Code plugin :)


I'm curious why you started with Atom instead of VSCode?


VS Code doesn’t allow plugins to access the DOM. I wish it did!


Not op. But vscode, even thought its a bit faster in many cases, was literally the only popular editor i ever used that is able to crash so badly that you lose edited code. I use it sometimes today for haxe, but IMO they released a unfinished product a few years ago and losing code in the 20th century is just a traumatic experience that sticks. Never had any losses with atom.

Edit:// i never tried vs on windows. May it works better there? Atom definitly works less well on windows than on linux, so maybe thats why vs got so big by cloning atom


This is cool, currently using i3 but I'd love it if you could shift over half a screen like this.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: