3 ms·
The only case I can imagine is when I rename a Java interface and want all implementations to be also renamed accordingly. I can do that in 1 second in IntelliJ
by brabel 3mo ago
The only case I can imagine is when I rename a Java interface and want all implementations to be also renamed accordingly. I can do that in 1 second in IntelliJ. With dired on emacs that would not be possible at all and I would need a tool that can find all implementations first: that requires a LSP on emacs, and then from a xref buffer, not sure how I could rename all classes and their files at once. Probably would need to be manually done? Anyone knows how to do it in emacs with one command?
- maleldil 3mo agoIt would be the same as in IntelliJ. As long as you have the Java LSP active, you issue the `lsp-rename` action: https://emacs-lsp.github.io/lsp-java/#lsp-mode-commands https://emacs-lsp.github.io/lsp-java/#lsp-mode-commands This works exactly the same for all languages whose LSP support this action, which is most of them.
- brabel 3mo agoNo! Rename in JSP is not intelligent enough to match an interface name with its implementation names and decide whether to also rename those!
- maleldil 3mo agoWhat do you mean by "implementation names"? I assumed you meant changing the "implements X", which should be easy for an LSP.
- brabel 3mo agoJava implementations sometimes take part of the name from the interface they implement, for example, `FooRunner` probably implements `Runner`. My example was that I renamed `Runner` to whatever, `Executor`, and IntelliJ will ask me if I want to rename also implementations (in this case, it would show `FooRunner` -> `FooExecutor`).