Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> I don't know if people just aren't aware, but vi and emacs have been doing this since at least the 90s. This isn't some fancy feature that requires an IDE. Recently the support has improved even more through LSP.

No, rtags & friends aren't remotely comparable to an IDE which has a semantic understanding of the code, and will catch the uses without false positives.



LSP gives you exactly the same functionality though, since it's what VS Code is also using.

Whether the implementation is prone to false positives (it really shouldn't be) is up the server, not the client (e.g. vim or VS Code). The client actually doesn't have 'a semantic understanding of the code' - that's the point of it, not needing every editor to implement an understanding of every language it wants to support.


I mean, I think they are? Sure jumping to a generic definition like getId will give you more choices, but i know which one i want. Having to push space and then 9 to get the second page and choose the one i want isn't the end of the world.

Recently LSP provides exactly what you desire anyways with context sensitive jumps.

Edit: Regardless, perhaps our difference here lies around what the minimum specification is. My reading of this thread and the post i responded to is that people think moving around in code without an IDE means closing one file, navigating to the next file and opening that one. This is patently not how it works, and what i was adressing.


> I mean, I think they are? Sure jumping to a generic definition like getId will give you more choices, but i know which one i want. Having to push space and then 9 to get the second page and choose the one i want isn't the end of the world.

I often do codebase-wide renamings. I would definitely lose a lot of time if I had to check every single instance of "getId" as you say (to give more precise figures, if I want to rename an "id" I get ~2000 matches). With my IDE I can just ctrl-shift-r and rename any symbol and it works without me having to think about it.

> Recently LSP provides exactly what you desire anyways with context sensitive jumps.

that's likely implementation issues but LSP for C++ in 2021 is definitely not as good & integrated as e.g. native clang integration for parsing.




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

Search: