Agree: For me and many others the difference between a good text editor with plugins (jEdit, notepad++) and an actual IDE happens to be refactoring:
can the thing differ between xyz in a comment, as the name of a class, as a field and as a local variable inside a method? I.e. if I write a class xyz with a field xyz and a method xyz() and that method contains the variable xyz used a number of times, will the thing be able to rename any single of those across the whole project without messing up?
If it can: it is probably an ide. If not: it is not an ide.
I tend to agree, but then I wonder what we would call language server protocol additions to editors like Emacs/Vim. Or even Visual Studio Code, for that matter.
can the thing differ between xyz in a comment, as the name of a class, as a field and as a local variable inside a method? I.e. if I write a class xyz with a field xyz and a method xyz() and that method contains the variable xyz used a number of times, will the thing be able to rename any single of those across the whole project without messing up?
If it can: it is probably an ide. If not: it is not an ide.