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

It has a terminal, debugger, completion, git/source control clients, refactoring tools (more or less depending on the language, obviously), extensions... At what point does it become integrated enough? It's not a bicycle to begin with, it's a small car.


It becomes integrated when the tool internally works on an AST of a language and not on a textual buffer. That’s what makes it an IDE, that the basic text editing features and the compiler are both integrated.

This allows significantly more functionality than any type of LSP + editor ever can. The refactoring functionality is what makes an IDE into an IDE. I use every single feature of IntelliJ every day, and I actually would prefer even more refactoring functionality. LSPs can’t come close to this.

LSPs can compete with classic Visual Studio, but there’s a reason JetBrains started with ReSharper, replacing the refactoring engine of Visual Studio.


> That’s what makes it an IDE, that the basic text editing features and the compiler are both integrated.

Rather arbitrary distinction that doesn't even hold true for all IDEs out there.


By this definition neovim is an ide just because it has native support for treesitter. Yet I don't think it is one


Can you operate on AST elements? e.g., if you move a selected line of text up/down, does it move the text itself or does it move the underlying AST elements and adapt the text to the changed AST?

Can you select a function and drag and drop it into a different file or class and have the code automatically adapt, add/remove parameters, imports, etc as needed?

If you have two functions called doA, in different modules, and you have a file that imports doA from module 1, and you copy that doA call and paste it in a new file, does the IDE correctly add the import as well, or does it just paste the text and you have to import manually?




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

Search: