3 ms·
The rename across the project scenario is a LSP feature that Neovim supports. I use it frequently. I do miss the ability to trivially extract a function. I used
by christophilus 3y ago
The rename across the project scenario is a LSP feature that Neovim supports. I use it frequently. I do miss the ability to trivially extract a function. I used to do that all the time in Visual Studio back in my C# days.
- josephg 3y agoYeah; and there's so many little features like that - most of which I use rarely, but they're still useful. Aside from rename, there are: - Change function arguments. (Eg, reorder the arguments of a function and update all callers) - Add a new function argument. Eg, if I change a call from foo() to foo(some_int), the suggested actions include adding a new parameter to foo with some_int's type. - Contextually fill in trait, struct, or match statements - Move a bunch of stuff to a new / different file - Organize imports - Run a test. Anything function with #[test] and no arguments can be run or debugged instantly with the click of the mouse. - Up and down buttons for trait implementations. See the definition for a trait method, or jump to one of its implementations. I have no idea how to do any of this stuff in vim. Maybe its possible with enough macros and scripts and mucking about. I really do admire vim's tenacity, but seriously. The time spent learning a modern IDE pays dividends in weeks and our careers are measured in decades.